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/20 11:43:15 UTC

[camel] branch master updated (0a44f5c -> 759b963)

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

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


    from 0a44f5c  Polished
     new 264a61e  CAMEL-15549: Api consumer to expose splitResults options and some more work needed
     new 7b2cc5f  CAMEL-15549: Api consumer to expose splitResults options and some more work needed
     new 9e0f297  CAMEL-15549: Api consumer to expose splitResults options and some more work needed
     new 2a04187   CAMEL-15549: Api components now have details about APIs being consumer or producer only.
     new 759b963  CAMEL-15549: Api components now have details about APIs being consumer or producer only.

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/camel/catalog/docs/as2-component.adoc   |  39 +-
 .../apache/camel/catalog/docs/box-component.adoc   | 103 +++--
 .../camel/catalog/docs/braintree-component.adoc    |  90 +++-
 .../apache/camel/catalog/docs/fhir-component.adoc  |  84 +++-
 .../catalog/docs/google-calendar-component.adoc    |  46 +-
 .../docs/google-calendar-stream-component.adoc     |  46 +-
 .../camel/catalog/docs/google-drive-component.adoc |  78 +++-
 .../camel/catalog/docs/google-mail-component.adoc  |  46 +-
 .../catalog/docs/google-mail-stream-component.adoc |  46 +-
 .../catalog/docs/google-sheets-component.adoc      |  26 +-
 .../docs/google-sheets-stream-component.adoc       |  16 +-
 .../camel/catalog/docs/olingo2-component.adoc      |  10 +-
 .../camel/catalog/docs/olingo4-component.adoc      |  10 +-
 .../camel/catalog/docs/twilio-component.adoc       | 342 ++++++++++++---
 .../camel/catalog/docs/zendesk-component.adoc      |  10 +-
 components/camel-as2/camel-as2-component/pom.xml   |   2 +
 .../as2/AS2ClientManagerEndpointConfiguration.java |   3 +-
 .../camel/component/as2/AS2EndpointConfigurer.java |  79 ----
 .../as2/AS2ServerManagerEndpointConfiguration.java |   3 +-
 .../org/apache/camel/component/as2/as2.json        |  28 +-
 .../src/main/docs/as2-component.adoc               |  39 +-
 .../apache/camel/component/as2/AS2Consumer.java    |  34 +-
 .../apache/camel/component/as2/AS2Endpoint.java    |   3 +-
 components/camel-box/camel-box-component/pom.xml   |  19 +-
 ...CollaborationsManagerEndpointConfiguration.java |   3 +-
 .../BoxCommentsManagerEndpointConfiguration.java   |   3 +-
 .../camel/component/box/BoxEndpointConfigurer.java |  79 ----
 .../BoxEventLogsManagerEndpointConfiguration.java  |   3 +-
 .../box/BoxEventsManagerEndpointConfiguration.java |   3 +-
 .../box/BoxFilesManagerEndpointConfiguration.java  |   3 +-
 .../BoxFoldersManagerEndpointConfiguration.java    |   3 +-
 .../box/BoxGroupsManagerEndpointConfiguration.java |   3 +-
 .../box/BoxSearchManagerEndpointConfiguration.java |   3 +-
 .../box/BoxTasksManagerEndpointConfiguration.java  |   3 +-
 .../box/BoxUsersManagerEndpointConfiguration.java  |   3 +-
 .../org/apache/camel/component/box/box.json        |  58 +--
 .../src/main/docs/box-component.adoc               | 103 +++--
 .../apache/camel/component/box/BoxConsumer.java    |  29 +-
 .../apache/camel/component/box/BoxEndpoint.java    |  14 +-
 .../AddOnGatewayEndpointConfiguration.java         |   3 +-
 .../AddressGatewayEndpointConfiguration.java       |   3 +-
 .../ClientTokenGatewayEndpointConfiguration.java   |   3 +-
 ...rdVerificationGatewayEndpointConfiguration.java |   3 +-
 .../CustomerGatewayEndpointConfiguration.java      |   3 +-
 .../DiscountGatewayEndpointConfiguration.java      |   3 +-
 .../DisputeGatewayEndpointConfiguration.java       |   3 +-
 ...DocumentUploadGatewayEndpointConfiguration.java |   3 +-
 ...erchantAccountGatewayEndpointConfiguration.java |   3 +-
 .../PaymentMethodGatewayEndpointConfiguration.java |   3 +-
 ...entMethodNonceGatewayEndpointConfiguration.java |   3 +-
 .../PlanGatewayEndpointConfiguration.java          |   3 +-
 .../ReportGatewayEndpointConfiguration.java        |   3 +-
 ...ntBatchSummaryGatewayEndpointConfiguration.java |   3 +-
 .../SubscriptionGatewayEndpointConfiguration.java  |   3 +-
 .../TransactionGatewayEndpointConfiguration.java   |   3 +-
 ...okNotificationGatewayEndpointConfiguration.java |   3 +-
 .../camel/component/braintree/braintree.json       |  56 +--
 .../src/main/docs/braintree-component.adoc         |  90 +++-
 .../FhirCapabilitiesEndpointConfiguration.java     |   3 +-
 .../fhir/FhirCreateEndpointConfiguration.java      |   3 +-
 .../fhir/FhirDeleteEndpointConfiguration.java      |   3 +-
 .../fhir/FhirHistoryEndpointConfiguration.java     |   3 +-
 .../fhir/FhirLoadPageEndpointConfiguration.java    |   3 +-
 .../fhir/FhirMetaEndpointConfiguration.java        |   3 +-
 .../fhir/FhirOperationEndpointConfiguration.java   |   3 +-
 .../fhir/FhirPatchEndpointConfiguration.java       |   3 +-
 .../fhir/FhirReadEndpointConfiguration.java        |   3 +-
 .../fhir/FhirSearchEndpointConfiguration.java      |   3 +-
 .../fhir/FhirTransactionEndpointConfiguration.java |   3 +-
 .../fhir/FhirUpdateEndpointConfiguration.java      |   3 +-
 .../fhir/FhirValidateEndpointConfiguration.java    |   3 +-
 .../org/apache/camel/component/fhir/fhir.json      |  26 +-
 .../src/main/docs/fhir-component.adoc              |  84 +++-
 .../calendar/CalendarAclEndpointConfiguration.java |   3 +-
 .../CalendarCalendarListEndpointConfiguration.java |   3 +-
 .../CalendarCalendarsEndpointConfiguration.java    |   3 +-
 .../CalendarChannelsEndpointConfiguration.java     |   3 +-
 .../CalendarColorsEndpointConfiguration.java       |   3 +-
 .../CalendarEventsEndpointConfiguration.java       |   3 +-
 .../CalendarFreebusyEndpointConfiguration.java     |   3 +-
 .../CalendarSettingsEndpointConfiguration.java     |   3 +-
 .../component/google/calendar/google-calendar.json |  14 +-
 .../calendar/stream/google-calendar-stream.json    |  28 +-
 .../src/main/docs/google-calendar-component.adoc   |  46 +-
 .../docs/google-calendar-stream-component.adoc     |  46 +-
 .../drive/DriveAboutEndpointConfiguration.java     |   3 +-
 .../drive/DriveAppsEndpointConfiguration.java      |   3 +-
 .../drive/DriveChangesEndpointConfiguration.java   |   3 +-
 .../drive/DriveChannelsEndpointConfiguration.java  |   3 +-
 .../drive/DriveChildrenEndpointConfiguration.java  |   3 +-
 .../drive/DriveCommentsEndpointConfiguration.java  |   3 +-
 .../drive/DriveFilesEndpointConfiguration.java     |   3 +-
 .../drive/DriveParentsEndpointConfiguration.java   |   3 +-
 .../DrivePermissionsEndpointConfiguration.java     |   3 +-
 .../DrivePropertiesEndpointConfiguration.java      |   3 +-
 .../drive/DriveRealtimeEndpointConfiguration.java  |   3 +-
 .../drive/DriveRepliesEndpointConfiguration.java   |   3 +-
 .../drive/DriveRevisionsEndpointConfiguration.java |   3 +-
 .../camel/component/google/drive/google-drive.json |  24 +-
 .../src/main/docs/google-drive-component.adoc      |  78 +++-
 .../GmailUsersDraftsEndpointConfiguration.java     |   3 +-
 .../mail/GmailUsersEndpointConfiguration.java      |   3 +-
 .../GmailUsersHistoryEndpointConfiguration.java    |   3 +-
 .../GmailUsersLabelsEndpointConfiguration.java     |   3 +-
 ...rsMessagesAttachmentsEndpointConfiguration.java |   3 +-
 .../GmailUsersMessagesEndpointConfiguration.java   |   3 +-
 .../GmailUsersThreadsEndpointConfiguration.java    |   3 +-
 .../camel/component/google/mail/google-mail.json   |  14 +-
 .../google/mail/stream/google-mail-stream.json     |  28 +-
 .../src/main/docs/google-mail-component.adoc       |  46 +-
 .../main/docs/google-mail-stream-component.adoc    |  46 +-
 .../sheets/GoogleSheetsComponentConfigurer.java    |   5 +
 .../GoogleSheetsConfigurationConfigurer.java       |   5 +
 .../sheets/GoogleSheetsEndpointConfigurer.java     |   5 +
 .../SheetsSpreadsheetsEndpointConfiguration.java   |   3 +-
 ...preadsheetsEndpointConfigurationConfigurer.java |   5 +
 ...etsSpreadsheetsValuesEndpointConfiguration.java |   3 +-
 ...heetsValuesEndpointConfigurationConfigurer.java |   5 +
 .../component/google/sheets/google-sheets.json     |   6 +-
 .../google/sheets/stream/google-sheets-stream.json |   8 +-
 .../src/main/docs/google-sheets-component.adoc     |  26 +-
 .../main/docs/google-sheets-stream-component.adoc  |  16 +-
 .../google/sheets/GoogleSheetsConfiguration.java   |   3 +-
 .../google/sheets/GoogleSheetsEndpoint.java        |   1 -
 .../olingo2/Olingo2AppEndpointConfiguration.java   |   3 +-
 .../apache/camel/component/olingo2/olingo2.json    |   2 +-
 .../src/main/docs/olingo2-component.adoc           |  10 +-
 .../olingo4/Olingo4AppEndpointConfiguration.java   |   3 +-
 .../apache/camel/component/olingo4/olingo4.json    |   2 +-
 .../src/main/docs/olingo4-component.adoc           |  10 +-
 .../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  | 112 ++---
 .../src/main/docs/twilio-component.adoc            | 342 ++++++++++++---
 .../zendesk/ZendeskEndpointConfiguration.java      |   3 +-
 .../apache/camel/component/zendesk/zendesk.json    |   2 +-
 .../src/main/docs/zendesk-component.adoc           |  10 +-
 .../java/org/apache/camel/spi/ApiParams.java       |  14 +
 .../dsl/GoogleSheetsComponentBuilderFactory.java   |  16 +
 .../src/generated/resources/metadata.json          |   2 +
 .../endpoint/dsl/AS2EndpointBuilderFactory.java    | 485 ---------------------
 .../endpoint/dsl/BoxEndpointBuilderFactory.java    | 484 --------------------
 .../dsl/GoogleSheetsEndpointBuilderFactory.java    |  32 ++
 .../component/AbstractApiConfiguration.java        |  34 +-
 .../support/component/AbstractApiEndpoint.java     |  10 +
 .../modules/ROOT/pages/as2-component.adoc          |  39 +-
 .../modules/ROOT/pages/box-component.adoc          | 103 +++--
 .../modules/ROOT/pages/braintree-component.adoc    |  90 +++-
 .../modules/ROOT/pages/fhir-component.adoc         |  84 +++-
 .../ROOT/pages/google-calendar-component.adoc      |  46 +-
 .../pages/google-calendar-stream-component.adoc    |  46 +-
 .../modules/ROOT/pages/google-drive-component.adoc |  78 +++-
 .../modules/ROOT/pages/google-mail-component.adoc  |  46 +-
 .../ROOT/pages/google-mail-stream-component.adoc   |  46 +-
 .../ROOT/pages/google-sheets-component.adoc        |  26 +-
 .../ROOT/pages/google-sheets-stream-component.adoc |  16 +-
 .../modules/ROOT/pages/olingo2-component.adoc      |  10 +-
 .../modules/ROOT/pages/olingo4-component.adoc      |  10 +-
 .../modules/ROOT/pages/twilio-component.adoc       | 342 ++++++++++++---
 .../modules/ROOT/pages/zendesk-component.adoc      |  10 +-
 .../org/apache/camel/tooling/model/ApiModel.java   |  18 +
 .../org/apache/camel/tooling/model/JsonMapper.java |  30 +-
 .../maven/AbstractApiMethodGeneratorMojo.java      |   8 +
 .../camel/maven/ApiComponentGeneratorMojo.java     |   2 +
 .../main/java/org/apache/camel/maven/ApiProxy.java |  28 +-
 .../src/main/resources/api-endpoint-config.vm      |   3 +-
 .../packaging/EndpointSchemaGeneratorMojo.java     |   6 +
 .../apache/camel/maven/packaging/MvelHelper.java   |  10 +
 .../src/main/resources/endpoint-options.mvel       |  14 +-
 .../main/java/org/apache/camel/spi/ApiParams.java  |  14 +
 224 files changed, 3020 insertions(+), 2255 deletions(-)
 copy components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsConfiguration.java => core/camel-support/src/main/java/org/apache/camel/support/component/AbstractApiConfiguration.java (59%)


[camel] 05/05: CAMEL-15549: Api components now have details about APIs being consumer or producer only.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 759b9635fe29989aaa2b19ac30b923edbccfa453
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Sep 20 13:42:47 2020 +0200

    CAMEL-15549: Api components now have details about APIs being consumer or producer only.
---
 .../apache/camel/catalog/docs/as2-component.adoc   |  16 +-
 .../camel/catalog/docs/braintree-component.adoc    |  90 +++++-
 .../apache/camel/catalog/docs/fhir-component.adoc  |  84 ++++-
 .../catalog/docs/google-calendar-component.adoc    |  46 ++-
 .../docs/google-calendar-stream-component.adoc     |  46 ++-
 .../camel/catalog/docs/google-drive-component.adoc |  78 ++++-
 .../camel/catalog/docs/google-mail-component.adoc  |  46 ++-
 .../catalog/docs/google-mail-stream-component.adoc |  46 ++-
 .../catalog/docs/google-sheets-component.adoc      |  27 +-
 .../docs/google-sheets-stream-component.adoc       |  27 +-
 .../camel/catalog/docs/olingo2-component.adoc      |  10 +-
 .../camel/catalog/docs/olingo4-component.adoc      |  10 +-
 .../camel/catalog/docs/twilio-component.adoc       | 342 +++++++++++++++++----
 .../camel/catalog/docs/zendesk-component.adoc      |  10 +-
 components/camel-as2/camel-as2-component/pom.xml   |   2 +
 .../as2/AS2ClientManagerEndpointConfiguration.java |   3 +-
 .../as2/AS2ServerManagerEndpointConfiguration.java |   3 +-
 .../org/apache/camel/component/as2/as2.json        |   8 +-
 .../src/main/docs/as2-component.adoc               |  16 +-
 .../AddOnGatewayEndpointConfiguration.java         |   3 +-
 .../AddressGatewayEndpointConfiguration.java       |   3 +-
 .../ClientTokenGatewayEndpointConfiguration.java   |   3 +-
 ...rdVerificationGatewayEndpointConfiguration.java |   3 +-
 .../CustomerGatewayEndpointConfiguration.java      |   3 +-
 .../DiscountGatewayEndpointConfiguration.java      |   3 +-
 .../DisputeGatewayEndpointConfiguration.java       |   3 +-
 ...DocumentUploadGatewayEndpointConfiguration.java |   3 +-
 ...erchantAccountGatewayEndpointConfiguration.java |   3 +-
 .../PaymentMethodGatewayEndpointConfiguration.java |   3 +-
 ...entMethodNonceGatewayEndpointConfiguration.java |   3 +-
 .../PlanGatewayEndpointConfiguration.java          |   3 +-
 .../ReportGatewayEndpointConfiguration.java        |   3 +-
 ...ntBatchSummaryGatewayEndpointConfiguration.java |   3 +-
 .../SubscriptionGatewayEndpointConfiguration.java  |   3 +-
 .../TransactionGatewayEndpointConfiguration.java   |   3 +-
 ...okNotificationGatewayEndpointConfiguration.java |   3 +-
 .../camel/component/braintree/braintree.json       |  56 ++--
 .../src/main/docs/braintree-component.adoc         |  90 +++++-
 .../FhirCapabilitiesEndpointConfiguration.java     |   3 +-
 .../fhir/FhirCreateEndpointConfiguration.java      |   3 +-
 .../fhir/FhirDeleteEndpointConfiguration.java      |   3 +-
 .../fhir/FhirHistoryEndpointConfiguration.java     |   3 +-
 .../fhir/FhirLoadPageEndpointConfiguration.java    |   3 +-
 .../fhir/FhirMetaEndpointConfiguration.java        |   3 +-
 .../fhir/FhirOperationEndpointConfiguration.java   |   3 +-
 .../fhir/FhirPatchEndpointConfiguration.java       |   3 +-
 .../fhir/FhirReadEndpointConfiguration.java        |   3 +-
 .../fhir/FhirSearchEndpointConfiguration.java      |   3 +-
 .../fhir/FhirTransactionEndpointConfiguration.java |   3 +-
 .../fhir/FhirUpdateEndpointConfiguration.java      |   3 +-
 .../fhir/FhirValidateEndpointConfiguration.java    |   3 +-
 .../org/apache/camel/component/fhir/fhir.json      |  26 +-
 .../src/main/docs/fhir-component.adoc              |  84 ++++-
 .../calendar/CalendarAclEndpointConfiguration.java |   3 +-
 .../CalendarCalendarListEndpointConfiguration.java |   3 +-
 .../CalendarCalendarsEndpointConfiguration.java    |   3 +-
 .../CalendarChannelsEndpointConfiguration.java     |   3 +-
 .../CalendarColorsEndpointConfiguration.java       |   3 +-
 .../CalendarEventsEndpointConfiguration.java       |   3 +-
 .../CalendarFreebusyEndpointConfiguration.java     |   3 +-
 .../CalendarSettingsEndpointConfiguration.java     |   3 +-
 .../component/google/calendar/google-calendar.json |  14 +-
 .../calendar/stream/google-calendar-stream.json    |  28 +-
 .../src/main/docs/google-calendar-component.adoc   |  46 ++-
 .../docs/google-calendar-stream-component.adoc     |  46 ++-
 .../drive/DriveAboutEndpointConfiguration.java     |   3 +-
 .../drive/DriveAppsEndpointConfiguration.java      |   3 +-
 .../drive/DriveChangesEndpointConfiguration.java   |   3 +-
 .../drive/DriveChannelsEndpointConfiguration.java  |   3 +-
 .../drive/DriveChildrenEndpointConfiguration.java  |   3 +-
 .../drive/DriveCommentsEndpointConfiguration.java  |   3 +-
 .../drive/DriveFilesEndpointConfiguration.java     |   3 +-
 .../drive/DriveParentsEndpointConfiguration.java   |   3 +-
 .../DrivePermissionsEndpointConfiguration.java     |   3 +-
 .../DrivePropertiesEndpointConfiguration.java      |   3 +-
 .../drive/DriveRealtimeEndpointConfiguration.java  |   3 +-
 .../drive/DriveRepliesEndpointConfiguration.java   |   3 +-
 .../drive/DriveRevisionsEndpointConfiguration.java |   3 +-
 .../camel/component/google/drive/google-drive.json |  24 +-
 .../src/main/docs/google-drive-component.adoc      |  78 ++++-
 .../GmailUsersDraftsEndpointConfiguration.java     |   3 +-
 .../mail/GmailUsersEndpointConfiguration.java      |   3 +-
 .../GmailUsersHistoryEndpointConfiguration.java    |   3 +-
 .../GmailUsersLabelsEndpointConfiguration.java     |   3 +-
 ...rsMessagesAttachmentsEndpointConfiguration.java |   3 +-
 .../GmailUsersMessagesEndpointConfiguration.java   |   3 +-
 .../GmailUsersThreadsEndpointConfiguration.java    |   3 +-
 .../camel/component/google/mail/google-mail.json   |  14 +-
 .../google/mail/stream/google-mail-stream.json     |  28 +-
 .../src/main/docs/google-mail-component.adoc       |  46 ++-
 .../main/docs/google-mail-stream-component.adoc    |  46 ++-
 .../SheetsSpreadsheetsEndpointConfiguration.java   |   3 +-
 ...etsSpreadsheetsValuesEndpointConfiguration.java |   3 +-
 .../component/google/sheets/google-sheets.json     |   4 +-
 .../google/sheets/stream/google-sheets-stream.json |   8 +-
 .../src/main/docs/google-sheets-component.adoc     |  27 +-
 .../main/docs/google-sheets-stream-component.adoc  |  27 +-
 .../olingo2/Olingo2AppEndpointConfiguration.java   |   3 +-
 .../apache/camel/component/olingo2/olingo2.json    |   2 +-
 .../src/main/docs/olingo2-component.adoc           |  10 +-
 .../olingo4/Olingo4AppEndpointConfiguration.java   |   3 +-
 .../apache/camel/component/olingo4/olingo4.json    |   2 +-
 .../src/main/docs/olingo4-component.adoc           |  10 +-
 .../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  | 112 +++----
 .../src/main/docs/twilio-component.adoc            | 342 +++++++++++++++++----
 .../zendesk/ZendeskEndpointConfiguration.java      |   3 +-
 .../apache/camel/component/zendesk/zendesk.json    |   2 +-
 .../src/main/docs/zendesk-component.adoc           |  10 +-
 .../modules/ROOT/pages/as2-component.adoc          |  16 +-
 .../modules/ROOT/pages/braintree-component.adoc    |  90 +++++-
 .../modules/ROOT/pages/fhir-component.adoc         |  84 ++++-
 .../ROOT/pages/google-calendar-component.adoc      |  46 ++-
 .../pages/google-calendar-stream-component.adoc    |  46 ++-
 .../modules/ROOT/pages/google-drive-component.adoc |  78 ++++-
 .../modules/ROOT/pages/google-mail-component.adoc  |  46 ++-
 .../ROOT/pages/google-mail-stream-component.adoc   |  46 ++-
 .../ROOT/pages/google-sheets-component.adoc        |  27 +-
 .../ROOT/pages/google-sheets-stream-component.adoc |  27 +-
 .../modules/ROOT/pages/olingo2-component.adoc      |  10 +-
 .../modules/ROOT/pages/olingo4-component.adoc      |  10 +-
 .../modules/ROOT/pages/twilio-component.adoc       | 342 +++++++++++++++++----
 .../modules/ROOT/pages/zendesk-component.adoc      |  10 +-
 178 files changed, 2472 insertions(+), 855 deletions(-)

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 7cbe651..17e3c24 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
@@ -138,11 +138,11 @@ as2:apiName/methodName
 
 There are 2 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *client* | Sends EDI Messages over HTTP
-| *server* | Receives EDI Messages over HTTP
+| API Name | Type | Description
+| *client* | Producer | Sends EDI Messages over HTTP
+| *server* | Consumer | Receives EDI Messages over HTTP
 |===
 
 Each API is documented in the following sections to come.
@@ -150,6 +150,10 @@ Each API is documented in the following sections to come.
 
 ==== API: client
 
+*Only producer is supported*
+
+
+
 
 The client API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -211,6 +215,10 @@ would override a `CamelAs2.myParameterNameHere` header.
 
 ==== API: server
 
+*Only consumer is supported*
+
+
+
 
 The server API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 5ecf08e..c4efbca 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
@@ -118,23 +118,23 @@ braintree:apiName/methodName
 
 There are 14 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
-|===
-| API Name | Description
-| *address* | Provides methods to create, delete, find, and update Address objects
-| *clientToken* | Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly
-| *creditCardVerification* | To verify credit card information
-| *customer* | Provides methods to create, delete, find, and update Customer objects
-| *dispute* | Provides methods to interact with Dispute objects
-| *documentUpload* | API to upload evidence documents
-| *merchantAccount* | Provides methods to create, find, and update MerchantAccount objects
-| *paymentMethod* | Provides methods to interact with payments
-| *paymentMethodNonce* | Provides methods to interact with nonce payments
-| *report* | Provides methods to interact with reports
-| *settlementBatchSummary* | Provides methods to interact wit settlement summaries
-| *subscription* | Provides methods to interact with Subscriptions
-| *transaction* | Provides methods to interact with Transactions
-| *webhookNotification* | To retrieve notifications via webhooks
+[width="100%",cols="2,1,7",options="header"]
+|===
+| API Name | Type | Description
+| *address* | Both | Provides methods to create, delete, find, and update Address objects
+| *clientToken* | Both | Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly
+| *creditCardVerification* | Both | To verify credit card information
+| *customer* | Both | Provides methods to create, delete, find, and update Customer objects
+| *dispute* | Both | Provides methods to interact with Dispute objects
+| *documentUpload* | Both | API to upload evidence documents
+| *merchantAccount* | Both | Provides methods to create, find, and update MerchantAccount objects
+| *paymentMethod* | Both | Provides methods to interact with payments
+| *paymentMethodNonce* | Both | Provides methods to interact with nonce payments
+| *report* | Both | Provides methods to interact with reports
+| *settlementBatchSummary* | Both | Provides methods to interact wit settlement summaries
+| *subscription* | Both | Provides methods to interact with Subscriptions
+| *transaction* | Both | Provides methods to interact with Transactions
+| *webhookNotification* | Both | To retrieve notifications via webhooks
 |===
 
 Each API is documented in the following sections to come.
@@ -142,6 +142,10 @@ Each API is documented in the following sections to come.
 
 ==== API: address
 
+*Both producer and consumer are supported*
+
+
+
 
 The address API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -204,6 +208,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: clientToken
 
+*Both producer and consumer are supported*
+
+
+
 
 The clientToken API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -251,6 +259,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: creditCardVerification
 
+*Both producer and consumer are supported*
+
+
+
 
 The creditCardVerification API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -304,6 +316,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: customer
 
+*Both producer and consumer are supported*
+
+
+
 
 The customer API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -369,6 +385,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: dispute
 
+*Both producer and consumer are supported*
+
+
+
 
 The dispute API has 7 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -447,6 +467,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: documentUpload
 
+*Both producer and consumer are supported*
+
+
+
 
 The documentUpload API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -492,6 +516,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: merchantAccount
 
+*Both producer and consumer are supported*
+
+
+
 
 The merchantAccount API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -554,6 +582,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: paymentMethod
 
+*Both producer and consumer are supported*
+
+
+
 
 The paymentMethod API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -626,6 +658,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: paymentMethodNonce
 
+*Both producer and consumer are supported*
+
+
+
 
 The paymentMethodNonce API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -678,6 +714,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: report
 
+*Both producer and consumer are supported*
+
+
+
 
 The report API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -723,6 +763,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: settlementBatchSummary
 
+*Both producer and consumer are supported*
+
+
+
 
 The settlementBatchSummary API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -771,6 +815,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: subscription
 
+*Both producer and consumer are supported*
+
+
+
 
 The subscription API has 7 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -850,6 +898,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: transaction
 
+*Both producer and consumer are supported*
+
+
+
 
 The transaction API has 13 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -961,6 +1013,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: webhookNotification
 
+*Both producer and consumer are supported*
+
+
+
 
 The webhookNotification API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 b898e5b..0bc4c03 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
@@ -181,22 +181,22 @@ fhir:apiName/methodName
 
 There are 13 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
-|===
-| API Name | Description
-| *capabilities* | API to Fetch the capability statement for the server
-| *create* | API for the create operation, which creates a new resource instance on the server
-| *delete* | API for the delete operation, which performs a logical delete on a server resource
-| *history* | API for the history method
-| *load-page* | API that Loads the previous/next bundle of resources from a paged set, using the link specified in the link type=next tag within the atom bundle
-| *meta* | API for the meta operations, which can be used to get, add and remove tags and other Meta elements from a resource or across the server
-| *operation* | API for extended FHIR operations https://www
-| *patch* | API for the patch operation, which performs a logical patch on a server resource
-| *read* | API method for read operations
-| *search* | API to search for resources matching a given set of criteria
-| *transaction* | API for sending a transaction (collection of resources) to the server to be executed as a single unit
-| *update* | API for the update operation, which performs a logical delete on a server resource
-| *validate* | API for validating resources
+[width="100%",cols="2,1,7",options="header"]
+|===
+| API Name | Type | Description
+| *capabilities* | Both | API to Fetch the capability statement for the server
+| *create* | Both | API for the create operation, which creates a new resource instance on the server
+| *delete* | Both | API for the delete operation, which performs a logical delete on a server resource
+| *history* | Both | API for the history method
+| *load-page* | Both | API that Loads the previous/next bundle of resources from a paged set, using the link specified in the link type=next tag within the atom bundle
+| *meta* | Both | API for the meta operations, which can be used to get, add and remove tags and other Meta elements from a resource or across the server
+| *operation* | Both | API for extended FHIR operations https://www
+| *patch* | Both | API for the patch operation, which performs a logical patch on a server resource
+| *read* | Both | API method for read operations
+| *search* | Both | API to search for resources matching a given set of criteria
+| *transaction* | Both | API for sending a transaction (collection of resources) to the server to be executed as a single unit
+| *update* | Both | API for the update operation, which performs a logical delete on a server resource
+| *validate* | Both | API for validating resources
 |===
 
 Each API is documented in the following sections to come.
@@ -204,6 +204,10 @@ Each API is documented in the following sections to come.
 
 ==== API: capabilities
 
+*Both producer and consumer are supported*
+
+
+
 
 The capabilities API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -250,6 +254,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: create
 
+*Both producer and consumer are supported*
+
+
+
 
 The create API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -301,6 +309,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: delete
 
+*Both producer and consumer are supported*
+
+
+
 
 The delete API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -361,6 +373,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: history
 
+*Both producer and consumer are supported*
+
+
+
 
 The history API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -428,6 +444,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: load-page
 
+*Both producer and consumer are supported*
+
+
+
 
 The load-page API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -485,6 +505,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: meta
 
+*Both producer and consumer are supported*
+
+
+
 
 The meta API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -555,6 +579,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: operation
 
+*Both producer and consumer are supported*
+
+
+
 
 The operation API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -643,6 +671,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: patch
 
+*Both producer and consumer are supported*
+
+
+
 
 The patch API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -701,6 +733,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: read
 
+*Both producer and consumer are supported*
+
+
+
 
 The read API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -784,6 +820,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: search
 
+*Both producer and consumer are supported*
+
+
+
 
 The search API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -830,6 +870,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: transaction
 
+*Both producer and consumer are supported*
+
+
+
 
 The transaction API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -884,6 +928,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: update
 
+*Both producer and consumer are supported*
+
+
+
 
 The update API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -950,6 +998,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: validate
 
+*Both producer and consumer are supported*
+
+
+
 
 The validate API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 7f1a6f8..48f5522 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
@@ -143,16 +143,16 @@ google-calendar:apiName/methodName
 
 There are 7 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *acl* | The acl collection of methods
-| *calendars* | The calendars collection of methods
-| *channels* | The channels collection of methods
-| *events* | The events collection of methods
-| *freebusy* | The freebusy collection of methods
-| *list* | The calendarList collection of methods
-| *settings* | The settings collection of methods
+| API Name | Type | Description
+| *acl* | Both | The acl collection of methods
+| *calendars* | Both | The calendars collection of methods
+| *channels* | Both | The channels collection of methods
+| *events* | Both | The events collection of methods
+| *freebusy* | Both | The freebusy collection of methods
+| *list* | Both | The calendarList collection of methods
+| *settings* | Both | The settings collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -160,6 +160,10 @@ Each API is documented in the following sections to come.
 
 ==== API: acl
 
+*Both producer and consumer are supported*
+
+
+
 
 The acl API has 7 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -237,6 +241,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: calendars
 
+*Both producer and consumer are supported*
+
+
+
 
 The calendars API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -304,6 +312,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: channels
 
+*Both producer and consumer are supported*
+
+
+
 
 The channels API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -349,6 +361,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: events
 
+*Both producer and consumer are supported*
+
+
+
 
 The events API has 11 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -447,6 +463,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: freebusy
 
+*Both producer and consumer are supported*
+
+
+
 
 The freebusy API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -492,6 +512,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: list
 
+*Both producer and consumer are supported*
+
+
+
 
 The list API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -559,6 +583,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: settings
 
+*Both producer and consumer are supported*
+
+
+
 
 The settings API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 4120b38..e668310 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
@@ -154,16 +154,16 @@ google-calendar-stream:index
 
 There are 7 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *acl* | The acl collection of methods
-| *calendars* | The calendars collection of methods
-| *channels* | The channels collection of methods
-| *events* | The events collection of methods
-| *freebusy* | The freebusy collection of methods
-| *list* | The calendarList collection of methods
-| *settings* | The settings collection of methods
+| API Name | Type | Description
+| *acl* | Both | The acl collection of methods
+| *calendars* | Both | The calendars collection of methods
+| *channels* | Both | The channels collection of methods
+| *events* | Both | The events collection of methods
+| *freebusy* | Both | The freebusy collection of methods
+| *list* | Both | The calendarList collection of methods
+| *settings* | Both | The settings collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -171,6 +171,10 @@ Each API is documented in the following sections to come.
 
 ==== API: acl
 
+*Both producer and consumer are supported*
+
+
+
 
 The acl API has 7 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -248,6 +252,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: calendars
 
+*Both producer and consumer are supported*
+
+
+
 
 The calendars API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -315,6 +323,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: channels
 
+*Both producer and consumer are supported*
+
+
+
 
 The channels API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -360,6 +372,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: events
 
+*Both producer and consumer are supported*
+
+
+
 
 The events API has 11 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -458,6 +474,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: freebusy
 
+*Both producer and consumer are supported*
+
+
+
 
 The freebusy API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -503,6 +523,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: list
 
+*Both producer and consumer are supported*
+
+
+
 
 The list API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -570,6 +594,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: settings
 
+*Both producer and consumer are supported*
+
+
+
 
 The settings API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 6831af0..3aaff9a 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
@@ -147,21 +147,21 @@ google-drive:apiName/methodName
 
 There are 12 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
-|===
-| API Name | Description
-| *drive-apps* | The apps collection of methods
-| *drive-changes* | The changes collection of methods
-| *drive-channels* | The channels collection of methods
-| *drive-children* | The children collection of methods
-| *drive-comments* | The comments collection of methods
-| *drive-files* | The files collection of methods
-| *drive-parents* | The parents collection of methods
-| *drive-permissions* | The permissions collection of methods
-| *drive-properties* | The properties collection of methods
-| *drive-realtime* | The realtime collection of methods
-| *drive-replies* | The replies collection of methods
-| *drive-revisions* | The revisions collection of methods
+[width="100%",cols="2,1,7",options="header"]
+|===
+| API Name | Type | Description
+| *drive-apps* | Both | The apps collection of methods
+| *drive-changes* | Both | The changes collection of methods
+| *drive-channels* | Both | The channels collection of methods
+| *drive-children* | Both | The children collection of methods
+| *drive-comments* | Both | The comments collection of methods
+| *drive-files* | Both | The files collection of methods
+| *drive-parents* | Both | The parents collection of methods
+| *drive-permissions* | Both | The permissions collection of methods
+| *drive-properties* | Both | The properties collection of methods
+| *drive-realtime* | Both | The realtime collection of methods
+| *drive-replies* | Both | The replies collection of methods
+| *drive-revisions* | Both | The revisions collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -169,6 +169,10 @@ Each API is documented in the following sections to come.
 
 ==== API: drive-apps
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-apps API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -214,6 +218,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-changes
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-changes API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -263,6 +271,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-channels
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-channels API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -308,6 +320,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-children
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-children API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -368,6 +384,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-comments
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-comments API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -440,6 +460,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-files
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-files API has 11 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -536,6 +560,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-parents
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-parents API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -596,6 +624,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-permissions
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-permissions API has 7 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -672,6 +704,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-properties
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-properties API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -744,6 +780,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-realtime
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-realtime API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -796,6 +836,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-replies
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-replies API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -874,6 +918,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-revisions
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-revisions API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 6839cb4..d6c38a2 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
@@ -143,16 +143,16 @@ google-mail:apiName/methodName
 
 There are 7 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *attachments* | The attachments collection of methods
-| *drafts* | The drafts collection of methods
-| *history* | The history collection of methods
-| *labels* | The labels collection of methods
-| *messages* | The messages collection of methods
-| *threads* | The threads collection of methods
-| *users* | The users collection of methods
+| API Name | Type | Description
+| *attachments* | Both | The attachments collection of methods
+| *drafts* | Both | The drafts collection of methods
+| *history* | Both | The history collection of methods
+| *labels* | Both | The labels collection of methods
+| *messages* | Both | The messages collection of methods
+| *threads* | Both | The threads collection of methods
+| *users* | Both | The users collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -160,6 +160,10 @@ Each API is documented in the following sections to come.
 
 ==== API: attachments
 
+*Both producer and consumer are supported*
+
+
+
 
 The attachments API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -207,6 +211,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: drafts
 
+*Both producer and consumer are supported*
+
+
+
 
 The drafts API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -287,6 +295,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: history
 
+*Both producer and consumer are supported*
+
+
+
 
 The history API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -332,6 +344,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: labels
 
+*Both producer and consumer are supported*
+
+
+
 
 The labels API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -404,6 +420,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: messages
 
+*Both producer and consumer are supported*
+
+
+
 
 The messages API has 11 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -509,6 +529,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: threads
 
+*Both producer and consumer are supported*
+
+
+
 
 The threads API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -580,6 +604,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: users
 
+*Both producer and consumer are supported*
+
+
+
 
 The users API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 32395c6..8aacc26 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
@@ -150,16 +150,16 @@ google-mail-stream:index
 
 There are 7 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *attachments* | The attachments collection of methods
-| *drafts* | The drafts collection of methods
-| *history* | The history collection of methods
-| *labels* | The labels collection of methods
-| *messages* | The messages collection of methods
-| *threads* | The threads collection of methods
-| *users* | The users collection of methods
+| API Name | Type | Description
+| *attachments* | Both | The attachments collection of methods
+| *drafts* | Both | The drafts collection of methods
+| *history* | Both | The history collection of methods
+| *labels* | Both | The labels collection of methods
+| *messages* | Both | The messages collection of methods
+| *threads* | Both | The threads collection of methods
+| *users* | Both | The users collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -167,6 +167,10 @@ Each API is documented in the following sections to come.
 
 ==== API: attachments
 
+*Both producer and consumer are supported*
+
+
+
 
 The attachments API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -214,6 +218,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: drafts
 
+*Both producer and consumer are supported*
+
+
+
 
 The drafts API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -294,6 +302,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: history
 
+*Both producer and consumer are supported*
+
+
+
 
 The history API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -339,6 +351,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: labels
 
+*Both producer and consumer are supported*
+
+
+
 
 The labels API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -411,6 +427,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: messages
 
+*Both producer and consumer are supported*
+
+
+
 
 The messages API has 11 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -516,6 +536,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: threads
 
+*Both producer and consumer are supported*
+
+
+
 
 The threads API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -587,6 +611,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: users
 
+*Both producer and consumer are supported*
+
+
+
 
 The users API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 127d348..1a8c79f 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
@@ -150,11 +150,11 @@ google-sheets:apiName/methodName
 
 There are 2 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *data* | The values collection of methods
-| *spreadsheets* | The spreadsheets collection of methods
+| API Name | Type | Description
+| *data* | Both | The values collection of methods
+| *spreadsheets* | Both | The spreadsheets collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -162,6 +162,10 @@ Each API is documented in the following sections to come.
 
 ==== API: data
 
+*Both producer and consumer are supported*
+
+
+
 
 The data API has 10 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -252,16 +256,12 @@ The `inBody` parameter overrides message header, i.e. the endpoint parameter `in
 would override a `CamelGoogleSheets.myParameterNameHere` header.
 
 
-Any of the producer endpoints can be used as a consumer endpoint.
-Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
-By default Consumer endpoints that return an array or collection will generate one exchange per element,
-and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
-to return a single exchange for the entire list or array.
 
+==== API: spreadsheets
 
+*Both producer and consumer are supported*
 
 
-==== API: spreadsheets
 
 
 The spreadsheets API has 4 method(s) which is represented by the following method signatures
@@ -317,13 +317,6 @@ Any of the parameters can be provided in either the endpoint URI, or dynamically
 The message header name must be of the format `CamelGoogleSheets.parameter`.
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `CamelGoogleSheets.myParameterNameHere` header.
-
-
-Any of the producer endpoints can be used as a consumer endpoint.
-Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
-By default Consumer endpoints that return an array or collection will generate one exchange per element,
-and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
-to return a single exchange for the entire list or array.
 // 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 bc13a34..bfa2d7b 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
@@ -157,11 +157,11 @@ google-sheets-stream:apiName
 
 There are 2 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *data* | The values collection of methods
-| *spreadsheets* | The spreadsheets collection of methods
+| API Name | Type | Description
+| *data* | Both | The values collection of methods
+| *spreadsheets* | Both | The spreadsheets collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -169,6 +169,10 @@ Each API is documented in the following sections to come.
 
 ==== API: data
 
+*Both producer and consumer are supported*
+
+
+
 
 The data API has 10 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -259,16 +263,12 @@ The `inBody` parameter overrides message header, i.e. the endpoint parameter `in
 would override a `CamelGoogleSheetsStream.myParameterNameHere` header.
 
 
-Any of the producer endpoints can be used as a consumer endpoint.
-Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
-By default Consumer endpoints that return an array or collection will generate one exchange per element,
-and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
-to return a single exchange for the entire list or array.
 
+==== API: spreadsheets
 
+*Both producer and consumer are supported*
 
 
-==== API: spreadsheets
 
 
 The spreadsheets API has 4 method(s) which is represented by the following method signatures
@@ -324,13 +324,6 @@ Any of the parameters can be provided in either the endpoint URI, or dynamically
 The message header name must be of the format `CamelGoogleSheetsStream.parameter`.
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `CamelGoogleSheetsStream.myParameterNameHere` header.
-
-
-Any of the producer endpoints can be used as a consumer endpoint.
-Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
-By default Consumer endpoints that return an array or collection will generate one exchange per element,
-and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
-to return a single exchange for the entire list or array.
 // endpoint options: END
 
 == More information
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 fed3aa8..c87e3bb 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
@@ -163,10 +163,10 @@ olingo2:apiName/methodName
 
 There are 1 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *DEFAULT* | Olingo2 Client Api Interface
+| API Name | Type | Description
+| *DEFAULT* | Both | Olingo2 Client Api Interface
 |===
 
 Each API is documented in the following sections to come.
@@ -174,6 +174,10 @@ Each API is documented in the following sections to come.
 
 ==== API: DEFAULT
 
+*Both producer and consumer are supported*
+
+
+
 
 The DEFAULT API has 8 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 75afe7b..422d0e7 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
@@ -157,10 +157,10 @@ olingo4:apiName/methodName
 
 There are 1 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *DEFAULT* | Olingo4 Client Api Interface
+| API Name | Type | Description
+| *DEFAULT* | Both | Olingo4 Client Api Interface
 |===
 
 Each API is documented in the following sections to come.
@@ -168,6 +168,10 @@ Each API is documented in the following sections to come.
 
 ==== API: DEFAULT
 
+*Both producer and consumer are supported*
+
+
+
 
 The DEFAULT API has 9 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 1d6c280..f966d76 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
@@ -113,65 +113,65 @@ twilio:apiName/methodName
 
 There are 56 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
-|===
-| API Name | Description
-| *account* | 
-| *address* | 
-| *address-dependent-phone-number* | 
-| *application* | 
-| *available-phone-number-country* | 
-| *available-phone-number-country-local* | 
-| *available-phone-number-country-mobile* | 
-| *available-phone-number-country-toll-free* | 
-| *call* | 
-| *call-feedback* | 
-| *call-feedback-summary* | 
-| *call-notification* | 
-| *call-recording* | 
-| *conference* | 
-| *conference-participant* | 
-| *connect-app* | 
-| *incoming-phone-number* | 
-| *incoming-phone-number-local* | 
-| *incoming-phone-number-mobile* | 
-| *incoming-phone-number-toll-free* | 
-| *key* | 
-| *message* | 
-| *message-feedback* | 
-| *message-media* | 
-| *new-key* | 
-| *new-signing-key* | 
-| *notification* | 
-| *outgoing-caller-id* | 
-| *queue* | 
-| *queue-member* | 
-| *recording* | 
-| *recording-add-on-result* | 
-| *recording-add-on-result-payload* | 
-| *recording-transcription* | 
-| *short-code* | 
-| *signing-key* | 
-| *sip-credential-list* | 
-| *sip-credential-list-credential* | 
-| *sip-domain* | 
-| *sip-domain-credential-list-mapping* | 
-| *sip-domain-ip-access-control-list-mapping* | 
-| *sip-ip-access-control-list* | 
-| *sip-ip-access-control-list-ip-address* | 
-| *token* | 
-| *transcription* | 
-| *usage-record* | 
-| *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* | 
-| *usage-trigger* | 
-| *validation-request* | 
+[width="100%",cols="2,1,7",options="header"]
+|===
+| API Name | Type | Description
+| *account* | Both | 
+| *address* | Both | 
+| *address-dependent-phone-number* | Both | 
+| *application* | Both | 
+| *available-phone-number-country* | Both | 
+| *available-phone-number-country-local* | Both | 
+| *available-phone-number-country-mobile* | Both | 
+| *available-phone-number-country-toll-free* | Both | 
+| *call* | Both | 
+| *call-feedback* | Both | 
+| *call-feedback-summary* | Both | 
+| *call-notification* | Both | 
+| *call-recording* | Both | 
+| *conference* | Both | 
+| *conference-participant* | Both | 
+| *connect-app* | Both | 
+| *incoming-phone-number* | Both | 
+| *incoming-phone-number-local* | Both | 
+| *incoming-phone-number-mobile* | Both | 
+| *incoming-phone-number-toll-free* | Both | 
+| *key* | Both | 
+| *message* | Both | 
+| *message-feedback* | Both | 
+| *message-media* | Both | 
+| *new-key* | Both | 
+| *new-signing-key* | Both | 
+| *notification* | Both | 
+| *outgoing-caller-id* | Both | 
+| *queue* | Both | 
+| *queue-member* | Both | 
+| *recording* | Both | 
+| *recording-add-on-result* | Both | 
+| *recording-add-on-result-payload* | Both | 
+| *recording-transcription* | Both | 
+| *short-code* | Both | 
+| *signing-key* | Both | 
+| *sip-credential-list* | Both | 
+| *sip-credential-list-credential* | Both | 
+| *sip-domain* | Both | 
+| *sip-domain-credential-list-mapping* | Both | 
+| *sip-domain-ip-access-control-list-mapping* | Both | 
+| *sip-ip-access-control-list* | Both | 
+| *sip-ip-access-control-list-ip-address* | Both | 
+| *token* | Both | 
+| *transcription* | Both | 
+| *usage-record* | Both | 
+| *usage-record-all-time* | Both | 
+| *usage-record-daily* | Both | 
+| *usage-record-last-month* | Both | 
+| *usage-record-monthly* | Both | 
+| *usage-record-this-month* | Both | 
+| *usage-record-today* | Both | 
+| *usage-record-yearly* | Both | 
+| *usage-record-yesterday* | Both | 
+| *usage-trigger* | Both | 
+| *validation-request* | Both | 
 |===
 
 Each API is documented in the following sections to come.
@@ -179,6 +179,10 @@ Each API is documented in the following sections to come.
 
 ==== API: account
 
+*Both producer and consumer are supported*
+
+
+
 
 The account API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -232,6 +236,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: address
 
+*Both producer and consumer are supported*
+
+
+
 
 The address API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -312,6 +320,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: address-dependent-phone-number
 
+*Both producer and consumer are supported*
+
+
+
 
 The address-dependent-phone-number API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -360,6 +372,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: application
 
+*Both producer and consumer are supported*
+
+
+
 
 The application API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -434,6 +450,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: available-phone-number-country
 
+*Both producer and consumer are supported*
+
+
+
 
 The available-phone-number-country API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -488,6 +508,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: available-phone-number-country-local
 
+*Both producer and consumer are supported*
+
+
+
 
 The available-phone-number-country-local API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -536,6 +560,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: available-phone-number-country-mobile
 
+*Both producer and consumer are supported*
+
+
+
 
 The available-phone-number-country-mobile API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -584,6 +612,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: available-phone-number-country-toll-free
 
+*Both producer and consumer are supported*
+
+
+
 
 The available-phone-number-country-toll-free API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -632,6 +664,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: call
 
+*Both producer and consumer are supported*
+
+
+
 
 The call API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -719,6 +755,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: call-feedback
 
+*Both producer and consumer are supported*
+
+
+
 
 The call-feedback API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -783,6 +823,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: call-feedback-summary
 
+*Both producer and consumer are supported*
+
+
+
 
 The call-feedback-summary API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -846,6 +890,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: call-notification
 
+*Both producer and consumer are supported*
+
+
+
 
 The call-notification API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -902,6 +950,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: call-recording
 
+*Both producer and consumer are supported*
+
+
+
 
 The call-recording API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -982,6 +1034,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: conference
 
+*Both producer and consumer are supported*
+
+
+
 
 The conference API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1043,6 +1099,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: conference-participant
 
+*Both producer and consumer are supported*
+
+
+
 
 The conference-participant API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1124,6 +1184,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: connect-app
 
+*Both producer and consumer are supported*
+
+
+
 
 The connect-app API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1192,6 +1256,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: incoming-phone-number
 
+*Both producer and consumer are supported*
+
+
+
 
 The incoming-phone-number API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1272,6 +1340,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: incoming-phone-number-local
 
+*Both producer and consumer are supported*
+
+
+
 
 The incoming-phone-number-local API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1326,6 +1398,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: incoming-phone-number-mobile
 
+*Both producer and consumer are supported*
+
+
+
 
 The incoming-phone-number-mobile API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1380,6 +1456,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: incoming-phone-number-toll-free
 
+*Both producer and consumer are supported*
+
+
+
 
 The incoming-phone-number-toll-free API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1434,6 +1514,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: key
 
+*Both producer and consumer are supported*
+
+
+
 
 The key API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1502,6 +1586,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: message
 
+*Both producer and consumer are supported*
+
+
+
 
 The message API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1594,6 +1682,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: message-feedback
 
+*Both producer and consumer are supported*
+
+
+
 
 The message-feedback API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1642,6 +1734,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: message-media
 
+*Both producer and consumer are supported*
+
+
+
 
 The message-media API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1706,6 +1802,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: new-key
 
+*Both producer and consumer are supported*
+
+
+
 
 The new-key API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1753,6 +1853,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: new-signing-key
 
+*Both producer and consumer are supported*
+
+
+
 
 The new-signing-key API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1800,6 +1904,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: notification
 
+*Both producer and consumer are supported*
+
+
+
 
 The notification API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1854,6 +1962,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: outgoing-caller-id
 
+*Both producer and consumer are supported*
+
+
+
 
 The outgoing-caller-id API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1922,6 +2034,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: queue
 
+*Both producer and consumer are supported*
+
+
+
 
 The queue API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1997,6 +2113,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: queue-member
 
+*Both producer and consumer are supported*
+
+
+
 
 The queue-member API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2062,6 +2182,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: recording
 
+*Both producer and consumer are supported*
+
+
+
 
 The recording API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2123,6 +2247,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: recording-add-on-result
 
+*Both producer and consumer are supported*
+
+
+
 
 The recording-add-on-result API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2187,6 +2315,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: recording-add-on-result-payload
 
+*Both producer and consumer are supported*
+
+
+
 
 The recording-add-on-result-payload API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2254,6 +2386,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: recording-transcription
 
+*Both producer and consumer are supported*
+
+
+
 
 The recording-transcription API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2318,6 +2454,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: short-code
 
+*Both producer and consumer are supported*
+
+
+
 
 The short-code API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2379,6 +2519,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: signing-key
 
+*Both producer and consumer are supported*
+
+
+
 
 The signing-key API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2447,6 +2591,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-credential-list
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-credential-list API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2523,6 +2671,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-credential-list-credential
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-credential-list-credential API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2604,6 +2756,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-domain
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-domain API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2679,6 +2835,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-domain-credential-list-mapping
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-domain-credential-list-mapping API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2751,6 +2911,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-domain-ip-access-control-list-mapping
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-domain-ip-access-control-list-mapping API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2823,6 +2987,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-ip-access-control-list
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-ip-access-control-list API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2899,6 +3067,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-ip-access-control-list-ip-address
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-ip-access-control-list-ip-address API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2980,6 +3152,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: token
 
+*Both producer and consumer are supported*
+
+
+
 
 The token API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3027,6 +3203,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: transcription
 
+*Both producer and consumer are supported*
+
+
+
 
 The transcription API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3088,6 +3268,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3135,6 +3319,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-all-time
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-all-time API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3182,6 +3370,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-daily
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-daily API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3229,6 +3421,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-last-month
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-last-month API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3276,6 +3472,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-monthly
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-monthly API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3323,6 +3523,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-this-month
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-this-month API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3370,6 +3574,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-today
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-today API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3417,6 +3625,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-yearly
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-yearly API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3464,6 +3676,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-yesterday
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-yesterday API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3511,6 +3727,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-trigger
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-trigger API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3588,6 +3808,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: validation-request
 
+*Both producer and consumer are supported*
+
+
+
 
 The validation-request API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 fdd2740..5468d41 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
@@ -119,10 +119,10 @@ zendesk:methodName
 
 There are 1 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *DEFAULT* | 
+| API Name | Type | Description
+| *DEFAULT* | Both | 
 |===
 
 Each API is documented in the following sections to come.
@@ -130,6 +130,10 @@ Each API is documented in the following sections to come.
 
 ==== API: DEFAULT
 
+*Both producer and consumer are supported*
+
+
+
 
 The DEFAULT API has 221 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/components/camel-as2/camel-as2-component/pom.xml b/components/camel-as2/camel-as2-component/pom.xml
index 5c006b4..7365fb2 100644
--- a/components/camel-as2/camel-as2-component/pom.xml
+++ b/components/camel-as2/camel-as2-component/pom.xml
@@ -100,6 +100,7 @@
                             <apis>
                                 <api>
                                     <apiName>client</apiName>
+                                    <producerOnly>true</producerOnly>
                                     <proxyClass>org.apache.camel.component.as2.api.AS2ClientManager</proxyClass>
                                     <fromJavasource>
                                         <excludeMethods>
@@ -120,6 +121,7 @@
                                 </api>
                                 <api>
                                     <apiName>server</apiName>
+                                    <consumerOnly>true</consumerOnly>
                                     <proxyClass>org.apache.camel.component.as2.api.AS2ServerManager</proxyClass>
                                     <fromJavasource>
                                         <excludeMethods>stopListening|handleMDNResponse</excludeMethods>
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 bd0760d..f1acbf9 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.as2.api.AS2ClientManager}.
  */
-@ApiParams(apiName = "client", description = "Sends EDI Messages over HTTP",
+@ApiParams(apiName = "client", producerOnly = true,
+           description = "Sends EDI Messages over HTTP",
            apiMethods = {@ApiMethod(methodName = "send", description="Send ediMessage to trading partner", signatures={"org.apache.http.protocol.HttpCoreContext send(String ediMessage, String requestUri, String subject, String from, String as2From, String as2To, org.apache.camel.component.as2.api.AS2MessageStructure as2MessageStructure, org.apache.http.entity.ContentType ediMessageContentType, String ediMessageTransferEncoding, org.apache.camel.component.as2.api.AS2SignatureAlgorithm sig [...]
 @UriParams
 @Configurer
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 54d7f92..f14c3b3 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.as2.api.AS2ServerManager}.
  */
-@ApiParams(apiName = "server", description = "Receives EDI Messages over HTTP",
+@ApiParams(apiName = "server", consumerOnly = true,
+           description = "Receives EDI Messages over HTTP",
            apiMethods = {@ApiMethod(methodName = "listen", signatures={"void listen(String requestUriPattern, org.apache.http.protocol.HttpRequestHandler handler)"})}, aliases = {})
 @UriParams
 @Configurer
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 18ceb7f..4323dab 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
@@ -66,11 +66,11 @@
     "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)." }
   },
   "apis": {
-    "client": { "description": "Sends EDI Messages over HTTP", "methods": { "send": { "description": "Send ediMessage to trading partner", "signatures": [ "org.apache.http.protocol.HttpCoreContext send(String ediMessage, String requestUri, String subject, String from, String as2From, String as2To, org.apache.camel.component.as2.api.AS2MessageStructure as2MessageStructure, org.apache.http.entity.ContentType ediMessageContentType, String ediMessageTransferEncoding, org.apache.camel.compone [...]
-    "server": { "description": "Receives EDI Messages over HTTP", "methods": { "listen": { "description": "", "signatures": [ "void listen(String requestUriPattern, org.apache.http.protocol.HttpRequestHandler handler)" ] } } }
+    "client": { "consumerOnly": false, "producerOnly": true, "description": "Sends EDI Messages over HTTP", "methods": { "send": { "description": "Send ediMessage to trading partner", "signatures": [ "org.apache.http.protocol.HttpCoreContext send(String ediMessage, String requestUri, String subject, String from, String as2From, String as2To, org.apache.camel.component.as2.api.AS2MessageStructure as2MessageStructure, org.apache.http.entity.ContentType ediMessageContentType, String ediMess [...]
+    "server": { "consumerOnly": true, "producerOnly": false, "description": "Receives EDI Messages over HTTP", "methods": { "listen": { "description": "", "signatures": [ "void listen(String requestUriPattern, org.apache.http.protocol.HttpRequestHandler handler)" ] } } }
   },
   "apiProperties": {
-    "client": { "methods": { "send": { "properties": { "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", "optional": false }, "as2MessageStructure": { "kind": "parameter", "displayName": "As2 Message Structure", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache. [...]
-    "server": { "methods": { "listen": { "properties": { "requestUriPattern": { "kind": "parameter", "displayName": "Request Uri Pattern", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false } } } } }
+    "client": { "methods": { "send": { "properties": { "as2From": { "kind": "parameter", "displayName": "As2 From", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "AS2 name of sender", "optional": false }, "as2MessageStructure": { "kind": "parameter", "displayName": "As2 Message Structure", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apa [...]
+    "server": { "methods": { "listen": { "properties": { "requestUriPattern": { "kind": "parameter", "displayName": "Request Uri Pattern", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false } } } } }
   }
 }
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 7cbe651..17e3c24 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
@@ -138,11 +138,11 @@ as2:apiName/methodName
 
 There are 2 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *client* | Sends EDI Messages over HTTP
-| *server* | Receives EDI Messages over HTTP
+| API Name | Type | Description
+| *client* | Producer | Sends EDI Messages over HTTP
+| *server* | Consumer | Receives EDI Messages over HTTP
 |===
 
 Each API is documented in the following sections to come.
@@ -150,6 +150,10 @@ Each API is documented in the following sections to come.
 
 ==== API: client
 
+*Only producer is supported*
+
+
+
 
 The client API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -211,6 +215,10 @@ would override a `CamelAs2.myParameterNameHere` header.
 
 ==== API: server
 
+*Only consumer is supported*
+
+
+
 
 The server API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 5df043c..f5e77d6 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.AddOnGateway}.
  */
-@ApiParams(apiName = "addOn", description = "",
+@ApiParams(apiName = "addOn", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "all", signatures={"java.util.List<com.braintreegateway.AddOn> all()"})}, aliases = {})
 @UriParams
 @Configurer
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 96885e6..5fdbae7 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.AddressGateway}.
  */
-@ApiParams(apiName = "address", description = "Provides methods to create, delete, find, and update Address objects",
+@ApiParams(apiName = "address", 
+           description = "Provides methods to create, delete, find, and update Address objects",
            apiMethods = {@ApiMethod(methodName = "create", description="Creates an Address for a Customer", signatures={"com.braintreegateway.Result<com.braintreegateway.Address> create(String customerId, com.braintreegateway.AddressRequest request)"}), @ApiMethod(methodName = "delete", description="Deletes a Customer's Address", signatures={"com.braintreegateway.Result<com.braintreegateway.Address> delete(String customerId, String id)"}), @ApiMethod(methodName = "find", description="Fin [...]
 @UriParams
 @Configurer
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 2dfd7d8..16242d4 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.ClientTokenGateway}.
  */
-@ApiParams(apiName = "clientToken", description = "Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly",
+@ApiParams(apiName = "clientToken", 
+           description = "Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly",
            apiMethods = {@ApiMethod(methodName = "generate", signatures={"String generate()", "String generate(com.braintreegateway.ClientTokenRequest request)"}), }, aliases = {})
 @UriParams
 @Configurer
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 a2c6e85..eaf0b50 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.CreditCardVerificationGateway}.
  */
-@ApiParams(apiName = "creditCardVerification", description = "To verify credit card information",
+@ApiParams(apiName = "creditCardVerification", 
+           description = "To verify credit card information",
            apiMethods = {@ApiMethod(methodName = "create", signatures={"com.braintreegateway.Result<com.braintreegateway.CreditCardVerification> create(com.braintreegateway.CreditCardVerificationRequest request)"}), @ApiMethod(methodName = "find", signatures={"com.braintreegateway.CreditCardVerification find(String id)"}), @ApiMethod(methodName = "search", signatures={"com.braintreegateway.ResourceCollection<com.braintreegateway.CreditCardVerification> search(com.braintreegateway.CreditC [...]
 @UriParams
 @Configurer
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 0f8f3fe..2cd13af 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.CustomerGateway}.
  */
-@ApiParams(apiName = "customer", description = "Provides methods to create, delete, find, and update Customer objects",
+@ApiParams(apiName = "customer", 
+           description = "Provides methods to create, delete, find, and update Customer objects",
            apiMethods = {@ApiMethod(methodName = "all", description="Finds all Customers and returns a ResourceCollection", signatures={"com.braintreegateway.ResourceCollection<com.braintreegateway.Customer> all()"}), @ApiMethod(methodName = "create", description="Creates a Customer", signatures={"com.braintreegateway.Result<com.braintreegateway.Customer> create(com.braintreegateway.CustomerRequest request)"}), @ApiMethod(methodName = "delete", description="Deletes a Customer by id", sig [...]
 @UriParams
 @Configurer
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 1890052..b7158d2 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.DiscountGateway}.
  */
-@ApiParams(apiName = "discount", description = "",
+@ApiParams(apiName = "discount", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "all", signatures={"java.util.List<com.braintreegateway.Discount> all()"})}, aliases = {})
 @UriParams
 @Configurer
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 fe3e57a..624249d 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.DisputeGateway}.
  */
-@ApiParams(apiName = "dispute", description = "Provides methods to interact with Dispute objects",
+@ApiParams(apiName = "dispute", 
+           description = "Provides methods to interact with Dispute objects",
            apiMethods = {@ApiMethod(methodName = "accept", description="Accept a Dispute, given a dispute ID", signatures={"com.braintreegateway.Result<com.braintreegateway.Dispute> accept(String id)"}), @ApiMethod(methodName = "addFileEvidence", description="Add File Evidence to a Dispute, given an ID and a FileEvidenceRequest File evidence request", signatures={"com.braintreegateway.Result<com.braintreegateway.DisputeEvidence> addFileEvidence(String disputeId, String documentId)", "com [...]
 @UriParams
 @Configurer
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 997b170..83e4c38 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.DocumentUploadGateway}.
  */
-@ApiParams(apiName = "documentUpload", description = "API to upload evidence documents",
+@ApiParams(apiName = "documentUpload", 
+           description = "API to upload evidence documents",
            apiMethods = {@ApiMethod(methodName = "create", signatures={"com.braintreegateway.Result<com.braintreegateway.DocumentUpload> create(com.braintreegateway.DocumentUploadRequest request)"})}, aliases = {})
 @UriParams
 @Configurer
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 73a2790..8eb2d39 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.MerchantAccountGateway}.
  */
-@ApiParams(apiName = "merchantAccount", description = "Provides methods to create, find, and update MerchantAccount objects",
+@ApiParams(apiName = "merchantAccount", 
+           description = "Provides methods to create, find, and update MerchantAccount objects",
            apiMethods = {@ApiMethod(methodName = "all", signatures={"com.braintreegateway.PaginatedCollection<com.braintreegateway.MerchantAccount> all()"}), @ApiMethod(methodName = "create", signatures={"com.braintreegateway.Result<com.braintreegateway.MerchantAccount> create(com.braintreegateway.MerchantAccountRequest request)"}), @ApiMethod(methodName = "createForCurrency", signatures={"com.braintreegateway.Result<com.braintreegateway.MerchantAccount> createForCurrency(com.braintreega [...]
 @UriParams
 @Configurer
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 84ea596..fa7847d 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.PaymentMethodGateway}.
  */
-@ApiParams(apiName = "paymentMethod", description = "Provides methods to interact with payments",
+@ApiParams(apiName = "paymentMethod", 
+           description = "Provides methods to interact with payments",
            apiMethods = {@ApiMethod(methodName = "create", signatures={"com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> create(com.braintreegateway.PaymentMethodRequest request)"}), @ApiMethod(methodName = "delete", signatures={"com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token)", "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token, com.braintreegateway.PaymentMethodDeleteRequ [...]
 @UriParams
 @Configurer
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 55edfaf..2288274 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.PaymentMethodNonceGateway}.
  */
-@ApiParams(apiName = "paymentMethodNonce", description = "Provides methods to interact with nonce payments",
+@ApiParams(apiName = "paymentMethodNonce", 
+           description = "Provides methods to interact with nonce payments",
            apiMethods = {@ApiMethod(methodName = "create", signatures={"com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(String paymentMethodToken)", "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(com.braintreegateway.PaymentMethodNonceRequest request)"}), @ApiMethod(methodName = "find", signatures={"com.braintreegateway.PaymentMethodNonce find(String paymentMethodNonce)"})}, aliases = {})
 @UriParams
 @Configurer
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 4cff462..bf5b492 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.PlanGateway}.
  */
-@ApiParams(apiName = "plan", description = "",
+@ApiParams(apiName = "plan", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "all", signatures={"java.util.List<com.braintreegateway.Plan> all()"})}, aliases = {})
 @UriParams
 @Configurer
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 c48a2a8..583b6d9 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.ReportGateway}.
  */
-@ApiParams(apiName = "report", description = "Provides methods to interact with reports",
+@ApiParams(apiName = "report", 
+           description = "Provides methods to interact with reports",
            apiMethods = {@ApiMethod(methodName = "transactionLevelFees", description="Retrieves a Transaction-Level Fee Report", signatures={"com.braintreegateway.Result<com.braintreegateway.TransactionLevelFeeReport> transactionLevelFees(com.braintreegateway.TransactionLevelFeeReportRequest request)"})}, aliases = {})
 @UriParams
 @Configurer
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 c2ab2ed..3201556 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.SettlementBatchSummaryGateway}.
  */
-@ApiParams(apiName = "settlementBatchSummary", description = "Provides methods to interact wit settlement summaries",
+@ApiParams(apiName = "settlementBatchSummary", 
+           description = "Provides methods to interact wit settlement summaries",
            apiMethods = {@ApiMethod(methodName = "generate", signatures={"com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate)", "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate, String groupByCustomField)"}), }, aliases = {})
 @UriParams
 @Configurer
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 518e36b..ac287c4 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.SubscriptionGateway}.
  */
-@ApiParams(apiName = "subscription", description = "Provides methods to interact with Subscriptions",
+@ApiParams(apiName = "subscription", 
+           description = "Provides methods to interact with Subscriptions",
            apiMethods = {@ApiMethod(methodName = "cancel", description="Cancels the Subscription with the given id", signatures={"com.braintreegateway.Result<com.braintreegateway.Subscription> cancel(String id)"}), @ApiMethod(methodName = "create", description="Creates a Subscription", signatures={"com.braintreegateway.Result<com.braintreegateway.Subscription> create(com.braintreegateway.SubscriptionRequest request)"}), @ApiMethod(methodName = "delete", signatures={"com.braintreegateway. [...]
 @UriParams
 @Configurer
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 9b9ccda..8631e0b 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.TransactionGateway}.
  */
-@ApiParams(apiName = "transaction", description = "Provides methods to interact with Transactions",
+@ApiParams(apiName = "transaction", 
+           description = "Provides methods to interact with Transactions",
            apiMethods = {@ApiMethod(methodName = "cancelRelease", description="Cancels a pending release of a transaction with the given id from escrow", signatures={"com.braintreegateway.Result<com.braintreegateway.Transaction> cancelRelease(String id)"}), @ApiMethod(methodName = "cloneTransaction", signatures={"com.braintreegateway.Result<com.braintreegateway.Transaction> cloneTransaction(String id, com.braintreegateway.TransactionCloneRequest request)"}), @ApiMethod(methodName = "cred [...]
 @UriParams
 @Configurer
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 8d3172e..b0d5b8f 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.braintreegateway.WebhookNotificationGateway}.
  */
-@ApiParams(apiName = "webhookNotification", description = "To retrieve notifications via webhooks",
+@ApiParams(apiName = "webhookNotification", 
+           description = "To retrieve notifications via webhooks",
            apiMethods = {@ApiMethod(methodName = "parse", signatures={"com.braintreegateway.WebhookNotification parse(String signature, String payload)"}), @ApiMethod(methodName = "verify", signatures={"String verify(String challenge)"})}, aliases = {})
 @UriParams
 @Configurer
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 515e78c..9b6e501 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
@@ -47,35 +47,35 @@
     "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." }
   },
   "apis": {
-    "address": { "description": "Provides methods to create, delete, find, and update Address objects", "methods": { "create": { "description": "Creates an Address for a Customer", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Address> create(String customerId, com.braintreegateway.AddressRequest request)" ] }, "delete": { "description": "Deletes a Customer's Address", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Address> delete(String customerId, [...]
-    "clientToken": { "description": "Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly", "methods": { "generate": { "description": "", "signatures": [ "String generate()", "String generate(com.braintreegateway.ClientTokenRequest request)" ] } } },
-    "creditCardVerification": { "description": "To verify credit card information", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.CreditCardVerification> create(com.braintreegateway.CreditCardVerificationRequest request)" ] }, "find": { "description": "", "signatures": [ "com.braintreegateway.CreditCardVerification find(String id)" ] }, "search": { "description": "", "signatures": [ "com.braintreegateway.ResourceCollection<c [...]
-    "customer": { "description": "Provides methods to create, delete, find, and update Customer objects", "methods": { "create": { "description": "Creates a Customer", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Customer> create(com.braintreegateway.CustomerRequest request)" ] }, "delete": { "description": "Deletes a Customer by id", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Customer> delete(String id)" ] }, "find": { "description": "Finds a  [...]
-    "dispute": { "description": "Provides methods to interact with Dispute objects", "methods": { "accept": { "description": "Accept a Dispute, given a dispute ID", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Dispute> accept(String id)" ] }, "addFileEvidence": { "description": "Add File Evidence to a Dispute, given an ID and a FileEvidenceRequest File evidence request", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.DisputeEvidence> addFileEvidenc [...]
-    "documentUpload": { "description": "API to upload evidence documents", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.DocumentUpload> create(com.braintreegateway.DocumentUploadRequest request)" ] } } },
-    "merchantAccount": { "description": "Provides methods to create, find, and update MerchantAccount objects", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.MerchantAccount> create(com.braintreegateway.MerchantAccountRequest request)" ] }, "createForCurrency": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.MerchantAccount> createForCurrency(com.braintreegateway.MerchantAccountCreateFo [...]
-    "paymentMethod": { "description": "Provides methods to interact with payments", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> create(com.braintreegateway.PaymentMethodRequest request)" ] }, "delete": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token)", "com.braintreegateway.Result<com.braintreegateway.? extends Paym [...]
-    "paymentMethodNonce": { "description": "Provides methods to interact with nonce payments", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(String paymentMethodToken)", "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(com.braintreegateway.PaymentMethodNonceRequest request)" ] }, "find": { "description": "", "signatures": [ "com.braintreegateway.PaymentMethodNonce find(S [...]
-    "report": { "description": "Provides methods to interact with reports", "methods": { "transactionLevelFees": { "description": "Retrieves a Transaction-Level Fee Report", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.TransactionLevelFeeReport> transactionLevelFees(com.braintreegateway.TransactionLevelFeeReportRequest request)" ] } } },
-    "settlementBatchSummary": { "description": "Provides methods to interact wit settlement summaries", "methods": { "generate": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate)", "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate, String groupByCustomField)" ] } } },
-    "subscription": { "description": "Provides methods to interact with Subscriptions", "methods": { "cancel": { "description": "Cancels the Subscription with the given id", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Subscription> cancel(String id)" ] }, "create": { "description": "Creates a Subscription", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Subscription> create(com.braintreegateway.SubscriptionRequest request)" ] }, "delete": { "descr [...]
-    "transaction": { "description": "Provides methods to interact with Transactions", "methods": { "cancelRelease": { "description": "Cancels a pending release of a transaction with the given id from escrow", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> cancelRelease(String id)" ] }, "cloneTransaction": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> cloneTransaction(String id, com.braintreegateway.Tran [...]
-    "webhookNotification": { "description": "To retrieve notifications via webhooks", "methods": { "parse": { "description": "", "signatures": [ "com.braintreegateway.WebhookNotification parse(String signature, String payload)" ] }, "verify": { "description": "", "signatures": [ "String verify(String challenge)" ] } } }
+    "address": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to create, delete, find, and update Address objects", "methods": { "create": { "description": "Creates an Address for a Customer", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Address> create(String customerId, com.braintreegateway.AddressRequest request)" ] }, "delete": { "description": "Deletes a Customer's Address", "signatures": [ "com.braintreegateway.Result<com.brain [...]
+    "clientToken": { "consumerOnly": false, "producerOnly": false, "description": "Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly", "methods": { "generate": { "description": "", "signatures": [ "String generate()", "String generate(com.braintreegateway.ClientTokenRequest request)" ] } } },
+    "creditCardVerification": { "consumerOnly": false, "producerOnly": false, "description": "To verify credit card information", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.CreditCardVerification> create(com.braintreegateway.CreditCardVerificationRequest request)" ] }, "find": { "description": "", "signatures": [ "com.braintreegateway.CreditCardVerification find(String id)" ] }, "search": { "description": "", "signatures" [...]
+    "customer": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to create, delete, find, and update Customer objects", "methods": { "create": { "description": "Creates a Customer", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Customer> create(com.braintreegateway.CustomerRequest request)" ] }, "delete": { "description": "Deletes a Customer by id", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Customer> delete(Strin [...]
+    "dispute": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to interact with Dispute objects", "methods": { "accept": { "description": "Accept a Dispute, given a dispute ID", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Dispute> accept(String id)" ] }, "addFileEvidence": { "description": "Add File Evidence to a Dispute, given an ID and a FileEvidenceRequest File evidence request", "signatures": [ "com.braintreegateway.Result<com.br [...]
+    "documentUpload": { "consumerOnly": false, "producerOnly": false, "description": "API to upload evidence documents", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.DocumentUpload> create(com.braintreegateway.DocumentUploadRequest request)" ] } } },
+    "merchantAccount": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to create, find, and update MerchantAccount objects", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.MerchantAccount> create(com.braintreegateway.MerchantAccountRequest request)" ] }, "createForCurrency": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.MerchantAccount> createForCurrenc [...]
+    "paymentMethod": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to interact with payments", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> create(com.braintreegateway.PaymentMethodRequest request)" ] }, "delete": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token)", "com.braintreegate [...]
+    "paymentMethodNonce": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to interact with nonce payments", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(String paymentMethodToken)", "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(com.braintreegateway.PaymentMethodNonceRequest request)" ] }, "find": { "description": "", "signatures": [ " [...]
+    "report": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to interact with reports", "methods": { "transactionLevelFees": { "description": "Retrieves a Transaction-Level Fee Report", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.TransactionLevelFeeReport> transactionLevelFees(com.braintreegateway.TransactionLevelFeeReportRequest request)" ] } } },
+    "settlementBatchSummary": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to interact wit settlement summaries", "methods": { "generate": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate)", "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate, String groupByCustomField)" ] } } },
+    "subscription": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to interact with Subscriptions", "methods": { "cancel": { "description": "Cancels the Subscription with the given id", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Subscription> cancel(String id)" ] }, "create": { "description": "Creates a Subscription", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Subscription> create(com.braintreegateway.Subscri [...]
+    "transaction": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to interact with Transactions", "methods": { "cancelRelease": { "description": "Cancels a pending release of a transaction with the given id from escrow", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> cancelRelease(String id)" ] }, "cloneTransaction": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> cloneTr [...]
+    "webhookNotification": { "consumerOnly": false, "producerOnly": false, "description": "To retrieve notifications via webhooks", "methods": { "parse": { "description": "", "signatures": [ "com.braintreegateway.WebhookNotification parse(String signature, String payload)" ] }, "verify": { "description": "", "signatures": [ "String verify(String challenge)" ] } } }
   },
   "apiProperties": {
-    "address": { "methods": { "create": { "properties": { "customerId": { "kind": "parameter", "displayName": "Customer Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the Customer", "optional": false }, "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway [...]
-    "clientToken": { "methods": { "generate": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.ClientTokenRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } } } },
-    "creditCardVerification": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CreditCardVerificationRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "find": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "producer", "label": "", "required": false, "type": "st [...]
-    "customer": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CustomerRequest", "deprecated": false, "secret": false, "description": "The request", "optional": false } } }, "delete": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "producer", "label": "", "required": false, "type": "string", "javaTyp [...]
-    "dispute": { "methods": { "accept": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The dispute id to accept", "optional": false } } }, "addFileEvidence": { "properties": { "disputeId": { "kind": "parameter", "displayName": "Dispute Id", "group": "producer", "label": "", "required": false, "type": "string", "j [...]
-    "documentUpload": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.DocumentUploadRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } } } },
-    "merchantAccount": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.MerchantAccountRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "createForCurrency": { "properties": { "currencyRequest": { "kind": "parameter", "displayName": "Currency Request", "group": "producer", "label": "", "req [...]
-    "paymentMethod": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.PaymentMethodRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "delete": { "properties": { "deleteRequest": { "kind": "parameter", "displayName": "Delete Request", "group": "producer", "label": "", "required": false, "typ [...]
-    "paymentMethodNonce": { "methods": { "create": { "properties": { "paymentMethodToken": { "kind": "parameter", "displayName": "Payment Method Token", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreeg [...]
-    "report": { "methods": { "transactionLevelFees": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.TransactionLevelFeeReportRequest", "deprecated": false, "secret": false, "description": "The request", "optional": false } } } } },
-    "settlementBatchSummary": { "methods": { "generate": { "properties": { "groupByCustomField": { "kind": "parameter", "displayName": "Group By Custom Field", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "settlementDate": { "kind": "parameter", "displayName": "Settlement Date", "group": "producer", "label": "", "required": false, "type": "object", "java [...]
-    "subscription": { "methods": { "cancel": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Of the Subscription to cancel", "optional": false } } }, "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaT [...]
-    "transaction": { "methods": { "cancelRelease": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Of the transaction to cancel release from escrow of", "optional": false } } }, "cloneTransaction": { "properties": { "cloneRequest": { "kind": "parameter", "displayName": "Clone Request", "group": "producer", "label" [...]
-    "webhookNotification": { "methods": { "parse": { "properties": { "payload": { "kind": "parameter", "displayName": "Payload", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "signature": { "kind": "parameter", "displayName": "Signature", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": f [...]
+    "address": { "methods": { "create": { "properties": { "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", "optional": false }, "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.Add [...]
+    "clientToken": { "methods": { "generate": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.ClientTokenRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } } } },
+    "creditCardVerification": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CreditCardVerificationRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "find": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string [...]
+    "customer": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CustomerRequest", "deprecated": false, "secret": false, "description": "The request", "optional": false } } }, "delete": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType":  [...]
+    "dispute": { "methods": { "accept": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The dispute id to accept", "optional": false } } }, "addFileEvidence": { "properties": { "disputeId": { "kind": "parameter", "displayName": "Dispute Id", "group": "common", "label": "", "required": false, "type": "string", "javaT [...]
+    "documentUpload": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.DocumentUploadRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } } } },
+    "merchantAccount": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.MerchantAccountRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "createForCurrency": { "properties": { "currencyRequest": { "kind": "parameter", "displayName": "Currency Request", "group": "common", "label": "", "require [...]
+    "paymentMethod": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.PaymentMethodRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "delete": { "properties": { "deleteRequest": { "kind": "parameter", "displayName": "Delete Request", "group": "common", "label": "", "required": false, "type":  [...]
+    "paymentMethodNonce": { "methods": { "create": { "properties": { "paymentMethodToken": { "kind": "parameter", "displayName": "Payment Method Token", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegatew [...]
+    "report": { "methods": { "transactionLevelFees": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.TransactionLevelFeeReportRequest", "deprecated": false, "secret": false, "description": "The request", "optional": false } } } } },
+    "settlementBatchSummary": { "methods": { "generate": { "properties": { "groupByCustomField": { "kind": "parameter", "displayName": "Group By Custom Field", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "settlementDate": { "kind": "parameter", "displayName": "Settlement Date", "group": "common", "label": "", "required": false, "type": "object", "javaType [...]
+    "subscription": { "methods": { "cancel": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Of the Subscription to cancel", "optional": false } } }, "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType" [...]
+    "transaction": { "methods": { "cancelRelease": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Of the transaction to cancel release from escrow of", "optional": false } } }, "cloneTransaction": { "properties": { "cloneRequest": { "kind": "parameter", "displayName": "Clone Request", "group": "common", "label": "" [...]
+    "webhookNotification": { "methods": { "parse": { "properties": { "payload": { "kind": "parameter", "displayName": "Payload", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "signature": { "kind": "parameter", "displayName": "Signature", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false [...]
   }
 }
diff --git a/components/camel-braintree/src/main/docs/braintree-component.adoc b/components/camel-braintree/src/main/docs/braintree-component.adoc
index 5ecf08e..c4efbca 100644
--- a/components/camel-braintree/src/main/docs/braintree-component.adoc
+++ b/components/camel-braintree/src/main/docs/braintree-component.adoc
@@ -118,23 +118,23 @@ braintree:apiName/methodName
 
 There are 14 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
-|===
-| API Name | Description
-| *address* | Provides methods to create, delete, find, and update Address objects
-| *clientToken* | Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly
-| *creditCardVerification* | To verify credit card information
-| *customer* | Provides methods to create, delete, find, and update Customer objects
-| *dispute* | Provides methods to interact with Dispute objects
-| *documentUpload* | API to upload evidence documents
-| *merchantAccount* | Provides methods to create, find, and update MerchantAccount objects
-| *paymentMethod* | Provides methods to interact with payments
-| *paymentMethodNonce* | Provides methods to interact with nonce payments
-| *report* | Provides methods to interact with reports
-| *settlementBatchSummary* | Provides methods to interact wit settlement summaries
-| *subscription* | Provides methods to interact with Subscriptions
-| *transaction* | Provides methods to interact with Transactions
-| *webhookNotification* | To retrieve notifications via webhooks
+[width="100%",cols="2,1,7",options="header"]
+|===
+| API Name | Type | Description
+| *address* | Both | Provides methods to create, delete, find, and update Address objects
+| *clientToken* | Both | Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly
+| *creditCardVerification* | Both | To verify credit card information
+| *customer* | Both | Provides methods to create, delete, find, and update Customer objects
+| *dispute* | Both | Provides methods to interact with Dispute objects
+| *documentUpload* | Both | API to upload evidence documents
+| *merchantAccount* | Both | Provides methods to create, find, and update MerchantAccount objects
+| *paymentMethod* | Both | Provides methods to interact with payments
+| *paymentMethodNonce* | Both | Provides methods to interact with nonce payments
+| *report* | Both | Provides methods to interact with reports
+| *settlementBatchSummary* | Both | Provides methods to interact wit settlement summaries
+| *subscription* | Both | Provides methods to interact with Subscriptions
+| *transaction* | Both | Provides methods to interact with Transactions
+| *webhookNotification* | Both | To retrieve notifications via webhooks
 |===
 
 Each API is documented in the following sections to come.
@@ -142,6 +142,10 @@ Each API is documented in the following sections to come.
 
 ==== API: address
 
+*Both producer and consumer are supported*
+
+
+
 
 The address API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -204,6 +208,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: clientToken
 
+*Both producer and consumer are supported*
+
+
+
 
 The clientToken API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -251,6 +259,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: creditCardVerification
 
+*Both producer and consumer are supported*
+
+
+
 
 The creditCardVerification API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -304,6 +316,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: customer
 
+*Both producer and consumer are supported*
+
+
+
 
 The customer API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -369,6 +385,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: dispute
 
+*Both producer and consumer are supported*
+
+
+
 
 The dispute API has 7 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -447,6 +467,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: documentUpload
 
+*Both producer and consumer are supported*
+
+
+
 
 The documentUpload API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -492,6 +516,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: merchantAccount
 
+*Both producer and consumer are supported*
+
+
+
 
 The merchantAccount API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -554,6 +582,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: paymentMethod
 
+*Both producer and consumer are supported*
+
+
+
 
 The paymentMethod API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -626,6 +658,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: paymentMethodNonce
 
+*Both producer and consumer are supported*
+
+
+
 
 The paymentMethodNonce API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -678,6 +714,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: report
 
+*Both producer and consumer are supported*
+
+
+
 
 The report API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -723,6 +763,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: settlementBatchSummary
 
+*Both producer and consumer are supported*
+
+
+
 
 The settlementBatchSummary API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -771,6 +815,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: subscription
 
+*Both producer and consumer are supported*
+
+
+
 
 The subscription API has 7 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -850,6 +898,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: transaction
 
+*Both producer and consumer are supported*
+
+
+
 
 The transaction API has 13 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -961,6 +1013,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: webhookNotification
 
+*Both producer and consumer are supported*
+
+
+
 
 The webhookNotification API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 16dda58..56aabf1 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.fhir.api.FhirCapabilities}.
  */
-@ApiParams(apiName = "capabilities", description = "API to Fetch the capability statement for the server",
+@ApiParams(apiName = "capabilities", 
+           description = "API to Fetch the capability statement for the server",
            apiMethods = {@ApiMethod(methodName = "ofType", description="Retrieve the conformance statement using the given model type", signatures={"org.hl7.fhir.instance.model.api.IBaseConformance ofType(Class<org.hl7.fhir.instance.model.api.IBaseConformance> type, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)"})}, aliases = {})
 @UriParams
 @Configurer
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 3d58218..5286f83 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.fhir.api.FhirCreate}.
  */
-@ApiParams(apiName = "create", description = "API for the create operation, which creates a new resource instance on the server",
+@ApiParams(apiName = "create", 
+           description = "API for the create operation, which creates a new resource instance on the server",
            apiMethods = {@ApiMethod(methodName = "resource", description="Creates a IBaseResource on the server", signatures={"ca.uhn.fhir.rest.api.MethodOutcome resource(org.hl7.fhir.instance.model.api.IBaseResource resource, String url, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, String url, ca.uhn.fhir.rest.api.Pref [...]
 @UriParams
 @Configurer
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 d219966..bbb574a 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.fhir.api.FhirDelete}.
  */
-@ApiParams(apiName = "delete", description = "API for the delete operation, which performs a logical delete on a server resource",
+@ApiParams(apiName = "delete", 
+           description = "API for the delete operation, which performs a logical delete on a server resource",
            apiMethods = {@ApiMethod(methodName = "resource", description="Deletes the given resource", signatures={"org.hl7.fhir.instance.model.api.IBaseOperationOutcome resource(org.hl7.fhir.instance.model.api.IBaseResource resource, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)"}), @ApiMethod(methodName = "resourceById", description="Deletes the resource by resource type e", signatures={"org.hl7.fhir.instance.model.api.IBaseOperationOutcome [...]
 @UriParams
 @Configurer
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 cedd243..04283b4 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.fhir.api.FhirHistory}.
  */
-@ApiParams(apiName = "history", description = "API for the history method",
+@ApiParams(apiName = "history", 
+           description = "API for the history method",
            apiMethods = {@ApiMethod(methodName = "onInstance", description="Perform the operation across all versions of a specific resource (by ID and type) on the server", signatures={"org.hl7.fhir.instance.model.api.IBaseBundle onInstance(org.hl7.fhir.instance.model.api.IIdType id, Class<org.hl7.fhir.instance.model.api.IBaseBundle> returnType, Integer count, java.util.Date cutoff, org.hl7.fhir.instance.model.api.IPrimitiveType<java.util.Date> iCutoff, java.util.Map<org.apache.camel.co [...]
 @UriParams
 @Configurer
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 2fb1786..77f7879 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.fhir.api.FhirLoadPage}.
  */
-@ApiParams(apiName = "load-page", description = "API that Loads the previous/next bundle of resources from a paged set, using the link specified in the link type=next tag within the atom bundle",
+@ApiParams(apiName = "load-page", 
+           description = "API that Loads the previous/next bundle of resources from a paged set, using the link specified in the link type=next tag within the atom bundle",
            apiMethods = {@ApiMethod(methodName = "byUrl", description="Load a page of results using the given URL and bundle type and return a DSTU1 Atom bundle", signatures={"org.hl7.fhir.instance.model.api.IBaseBundle byUrl(String url, Class<org.hl7.fhir.instance.model.api.IBaseBundle> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)"}), @ApiMethod(methodName = "next", description="Load the next page of results using the link with  [...]
 @UriParams
 @Configurer
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 6421410..835572e 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.fhir.api.FhirMeta}.
  */
-@ApiParams(apiName = "meta", description = "API for the meta operations, which can be used to get, add and remove tags and other Meta elements from a resource or across the server",
+@ApiParams(apiName = "meta", 
+           description = "API for the meta operations, which can be used to get, add and remove tags and other Meta elements from a resource or across the server",
            apiMethods = {@ApiMethod(methodName = "add", description="Add the elements in the given metadata to the already existing set (do not remove any)", signatures={"org.hl7.fhir.instance.model.api.IBaseMetaType add(org.hl7.fhir.instance.model.api.IBaseMetaType meta, org.hl7.fhir.instance.model.api.IIdType id, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)"}), @ApiMethod(methodName = "delete", description="Delete the elements in the given [...]
 @UriParams
 @Configurer
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 46b3294..9dfe3cb 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.fhir.api.FhirOperation}.
  */
-@ApiParams(apiName = "operation", description = "API for extended FHIR operations https://www",
+@ApiParams(apiName = "operation", 
+           description = "API for extended FHIR operations https://www",
            apiMethods = {@ApiMethod(methodName = "onInstance", description="Perform the operation across all versions of a specific resource (by ID and type) on the server", signatures={"org.hl7.fhir.instance.model.api.IBaseResource onInstance(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.a [...]
 @UriParams
 @Configurer
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 0e8a165c..07eaf6d 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.fhir.api.FhirPatch}.
  */
-@ApiParams(apiName = "patch", description = "API for the patch operation, which performs a logical patch on a server resource",
+@ApiParams(apiName = "patch", 
+           description = "API for the patch operation, which performs a logical patch on a server resource",
            apiMethods = {@ApiMethod(methodName = "patchById", description="Applies the patch to the given resource ID", signatures={"ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, String stringId, ca.uhn.fhir.rest.api.Pref [...]
 @UriParams
 @Configurer
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 115f9a4..374f241 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.fhir.api.FhirRead}.
  */
-@ApiParams(apiName = "read", description = "API method for read operations",
+@ApiParams(apiName = "read", 
+           description = "API method for read operations",
            apiMethods = {@ApiMethod(methodName = "resourceById", signatures={"org.hl7.fhir.instance.model.api.IBaseResource resourceById(Class<org.hl7.fhir.instance.model.api.IBaseResource> resource, org.hl7.fhir.instance.model.api.IIdType id, String ifVersionMatches, Boolean returnNull, org.hl7.fhir.instance.model.api.IBaseResource returnResource, Boolean throwError, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "org.hl7.fhir.instance.mode [...]
 @UriParams
 @Configurer
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 67adc53..ef971ca 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.fhir.api.FhirSearch}.
  */
-@ApiParams(apiName = "search", description = "API to search for resources matching a given set of criteria",
+@ApiParams(apiName = "search", 
+           description = "API to search for resources matching a given set of criteria",
            apiMethods = {@ApiMethod(methodName = "searchByUrl", description="Perform a search directly by URL", signatures={"org.hl7.fhir.instance.model.api.IBaseBundle searchByUrl(String url, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)"})}, aliases = {})
 @UriParams
 @Configurer
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 b2adad2..0147a52 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.fhir.api.FhirTransaction}.
  */
-@ApiParams(apiName = "transaction", description = "API for sending a transaction (collection of resources) to the server to be executed as a single unit",
+@ApiParams(apiName = "transaction", 
+           description = "API for sending a transaction (collection of resources) to the server to be executed as a single unit",
            apiMethods = {@ApiMethod(methodName = "withBundle", description="Use the given raw text (should be a Bundle resource) as the transaction input", signatures={"org.hl7.fhir.instance.model.api.IBaseBundle withBundle(org.hl7.fhir.instance.model.api.IBaseBundle bundle, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "String withBundle(String stringBundle, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraPa [...]
 @UriParams
 @Configurer
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 3febf9e..39f7601 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.fhir.api.FhirUpdate}.
  */
-@ApiParams(apiName = "update", description = "API for the update operation, which performs a logical delete on a server resource",
+@ApiParams(apiName = "update", 
+           description = "API for the update operation, which performs a logical delete on a server resource",
            apiMethods = {@ApiMethod(methodName = "resource", signatures={"ca.uhn.fhir.rest.api.MethodOutcome resource(org.hl7.fhir.instance.model.api.IBaseResource resource, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome resource(org.hl7.fhir.instance.model.api.IBaseResource resource, String stringId, ca.uhn.fhi [...]
 @UriParams
 @Configurer
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 296ee6d..35793f3 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.fhir.api.FhirValidate}.
  */
-@ApiParams(apiName = "validate", description = "API for validating resources",
+@ApiParams(apiName = "validate", 
+           description = "API for validating resources",
            apiMethods = {@ApiMethod(methodName = "resource", signatures={"ca.uhn.fhir.rest.api.MethodOutcome resource(org.hl7.fhir.instance.model.api.IBaseResource resource, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)"}), }, aliases = {})
 @UriParams
 @Configurer
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 d008d07..5897291 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,19 +102,19 @@
     "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" }
   },
   "apis": {
-    "capabilities": { "description": "API to Fetch the capability statement for the server", "methods": { "ofType": { "description": "Retrieve the conformance statement using the given model type", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseConformance ofType(Class<org.hl7.fhir.instance.model.api.IBaseConformance> type, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] } } },
-    "create": { "description": "API for the create operation, which creates a new resource instance on the server", "methods": { "resource": { "description": "Creates a IBaseResource on the server", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, String url, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome resource(org. [...]
-    "delete": { "description": "API for the delete operation, which performs a logical delete on a server resource", "methods": { "resource": { "description": "Deletes the given resource", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseOperationOutcome resource(org.hl7.fhir.instance.model.api.IBaseResource resource, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] }, "resourceById": { "description": "Deletes the resource by resource ty [...]
-    "history": { "description": "API for the history method", "methods": { "onInstance": { "description": "Perform the operation across all versions of a specific resource (by ID and type) on the server", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseBundle onInstance(org.hl7.fhir.instance.model.api.IIdType id, Class<org.hl7.fhir.instance.model.api.IBaseBundle> returnType, Integer count, java.util.Date cutoff, org.hl7.fhir.instance.model.api.IPrimitiveType<java.util.Date> iCutoff [...]
-    "load-page": { "description": "API that Loads the previous\/next bundle of resources from a paged set, using the link specified in the link type=next tag within the atom bundle", "methods": { "byUrl": { "description": "Load a page of results using the given URL and bundle type and return a DSTU1 Atom bundle", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseBundle byUrl(String url, Class<org.hl7.fhir.instance.model.api.IBaseBundle> returnType, java.util.Map<org.apache.camel.comp [...]
-    "meta": { "description": "API for the meta operations, which can be used to get, add and remove tags and other Meta elements from a resource or across the server", "methods": { "add": { "description": "Add the elements in the given metadata to the already existing set (do not remove any)", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseMetaType add(org.hl7.fhir.instance.model.api.IBaseMetaType meta, org.hl7.fhir.instance.model.api.IIdType id, java.util.Map<org.apache.camel.com [...]
-    "operation": { "description": "API for extended FHIR operations https:\/\/www", "methods": { "onInstance": { "description": "Perform the operation across all versions of a specific resource (by ID and type) on the server", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseResource onInstance(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType [...]
-    "patch": { "description": "API for the patch operation, which performs a logical patch on a server resource", "methods": { "patchById": { "description": "Applies the patch to the given resource ID", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome patchById( [...]
-    "read": { "description": "API method for read operations", "methods": { "resourceById": { "description": "", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseResource resourceById(Class<org.hl7.fhir.instance.model.api.IBaseResource> resource, Long longId, String ifVersionMatches, Boolean returnNull, org.hl7.fhir.instance.model.api.IBaseResource returnResource, Boolean throwError, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "org.h [...]
-    "search": { "description": "API to search for resources matching a given set of criteria", "methods": { "searchByUrl": { "description": "Perform a search directly by URL", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseBundle searchByUrl(String url, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] } } },
-    "transaction": { "description": "API for sending a transaction (collection of resources) to the server to be executed as a single unit", "methods": { "withBundle": { "description": "Use the given raw text (should be a Bundle resource) as the transaction input", "signatures": [ "String withBundle(String stringBundle, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "org.hl7.fhir.instance.model.api.IBaseBundle withBundle(org.hl7.fhir.instanc [...]
-    "update": { "description": "API for the update operation, which performs a logical delete on a server resource", "methods": { "resource": { "description": "", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, org.hl7.fh [...]
-    "validate": { "description": "API for validating resources", "methods": { "resource": { "description": "", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome resource(org.hl7.fhir.instance.model.api.IBaseResource resource, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] } } }
+    "capabilities": { "consumerOnly": false, "producerOnly": false, "description": "API to Fetch the capability statement for the server", "methods": { "ofType": { "description": "Retrieve the conformance statement using the given model type", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseConformance ofType(Class<org.hl7.fhir.instance.model.api.IBaseConformance> type, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] } } },
+    "create": { "consumerOnly": false, "producerOnly": false, "description": "API for the create operation, which creates a new resource instance on the server", "methods": { "resource": { "description": "Creates a IBaseResource on the server", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, String url, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca [...]
+    "delete": { "consumerOnly": false, "producerOnly": false, "description": "API for the delete operation, which performs a logical delete on a server resource", "methods": { "resource": { "description": "Deletes the given resource", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseOperationOutcome resource(org.hl7.fhir.instance.model.api.IBaseResource resource, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] }, "resourceById": { "desc [...]
+    "history": { "consumerOnly": false, "producerOnly": false, "description": "API for the history method", "methods": { "onInstance": { "description": "Perform the operation across all versions of a specific resource (by ID and type) on the server", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseBundle onInstance(org.hl7.fhir.instance.model.api.IIdType id, Class<org.hl7.fhir.instance.model.api.IBaseBundle> returnType, Integer count, java.util.Date cutoff, org.hl7.fhir.instance.mo [...]
+    "load-page": { "consumerOnly": false, "producerOnly": false, "description": "API that Loads the previous\/next bundle of resources from a paged set, using the link specified in the link type=next tag within the atom bundle", "methods": { "byUrl": { "description": "Load a page of results using the given URL and bundle type and return a DSTU1 Atom bundle", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseBundle byUrl(String url, Class<org.hl7.fhir.instance.model.api.IBaseBundle> r [...]
+    "meta": { "consumerOnly": false, "producerOnly": false, "description": "API for the meta operations, which can be used to get, add and remove tags and other Meta elements from a resource or across the server", "methods": { "add": { "description": "Add the elements in the given metadata to the already existing set (do not remove any)", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseMetaType add(org.hl7.fhir.instance.model.api.IBaseMetaType meta, org.hl7.fhir.instance.model.api. [...]
+    "operation": { "consumerOnly": false, "producerOnly": false, "description": "API for extended FHIR operations https:\/\/www", "methods": { "onInstance": { "description": "Perform the operation across all versions of a specific resource (by ID and type) on the server", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseResource onInstance(org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance. [...]
+    "patch": { "consumerOnly": false, "producerOnly": false, "description": "API for the patch operation, which performs a logical patch on a server resource", "methods": { "patchById": { "description": "Applies the patch to the given resource ID", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome patchById(String patchBody, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)",  [...]
+    "read": { "consumerOnly": false, "producerOnly": false, "description": "API method for read operations", "methods": { "resourceById": { "description": "", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseResource resourceById(Class<org.hl7.fhir.instance.model.api.IBaseResource> resource, Long longId, String ifVersionMatches, Boolean returnNull, org.hl7.fhir.instance.model.api.IBaseResource returnResource, Boolean throwError, java.util.Map<org.apache.camel.component.fhir.api.Extr [...]
+    "search": { "consumerOnly": false, "producerOnly": false, "description": "API to search for resources matching a given set of criteria", "methods": { "searchByUrl": { "description": "Perform a search directly by URL", "signatures": [ "org.hl7.fhir.instance.model.api.IBaseBundle searchByUrl(String url, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)" ] } } },
+    "transaction": { "consumerOnly": false, "producerOnly": false, "description": "API for sending a transaction (collection of resources) to the server to be executed as a single unit", "methods": { "withBundle": { "description": "Use the given raw text (should be a Bundle resource) as the transaction input", "signatures": [ "String withBundle(String stringBundle, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "org.hl7.fhir.instance.model.a [...]
+    "update": { "consumerOnly": false, "producerOnly": false, "description": "API for the update operation, which performs a logical delete on a server resource", "methods": { "resource": { "description": "", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcom [...]
+    "validate": { "consumerOnly": false, "producerOnly": false, "description": "API for validating resources", "methods": { "resource": { "description": "", "signatures": [ "ca.uhn.fhir.rest.api.MethodOutcome resource(String resourceAsString, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters)", "ca.uhn.fhir.rest.api.MethodOutcome resource(org.hl7.fhir.instance.model.api.IBaseResource resource, java.util.Map<org.apache.camel.component.fhir.api.Extr [...]
   },
   "apiProperties": {
     "capabilities": { "methods": { "ofType": { "properties": { "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", "optional": true }, "type": { "kind": "parame [...]
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 b898e5b..0bc4c03 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
@@ -181,22 +181,22 @@ fhir:apiName/methodName
 
 There are 13 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
-|===
-| API Name | Description
-| *capabilities* | API to Fetch the capability statement for the server
-| *create* | API for the create operation, which creates a new resource instance on the server
-| *delete* | API for the delete operation, which performs a logical delete on a server resource
-| *history* | API for the history method
-| *load-page* | API that Loads the previous/next bundle of resources from a paged set, using the link specified in the link type=next tag within the atom bundle
-| *meta* | API for the meta operations, which can be used to get, add and remove tags and other Meta elements from a resource or across the server
-| *operation* | API for extended FHIR operations https://www
-| *patch* | API for the patch operation, which performs a logical patch on a server resource
-| *read* | API method for read operations
-| *search* | API to search for resources matching a given set of criteria
-| *transaction* | API for sending a transaction (collection of resources) to the server to be executed as a single unit
-| *update* | API for the update operation, which performs a logical delete on a server resource
-| *validate* | API for validating resources
+[width="100%",cols="2,1,7",options="header"]
+|===
+| API Name | Type | Description
+| *capabilities* | Both | API to Fetch the capability statement for the server
+| *create* | Both | API for the create operation, which creates a new resource instance on the server
+| *delete* | Both | API for the delete operation, which performs a logical delete on a server resource
+| *history* | Both | API for the history method
+| *load-page* | Both | API that Loads the previous/next bundle of resources from a paged set, using the link specified in the link type=next tag within the atom bundle
+| *meta* | Both | API for the meta operations, which can be used to get, add and remove tags and other Meta elements from a resource or across the server
+| *operation* | Both | API for extended FHIR operations https://www
+| *patch* | Both | API for the patch operation, which performs a logical patch on a server resource
+| *read* | Both | API method for read operations
+| *search* | Both | API to search for resources matching a given set of criteria
+| *transaction* | Both | API for sending a transaction (collection of resources) to the server to be executed as a single unit
+| *update* | Both | API for the update operation, which performs a logical delete on a server resource
+| *validate* | Both | API for validating resources
 |===
 
 Each API is documented in the following sections to come.
@@ -204,6 +204,10 @@ Each API is documented in the following sections to come.
 
 ==== API: capabilities
 
+*Both producer and consumer are supported*
+
+
+
 
 The capabilities API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -250,6 +254,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: create
 
+*Both producer and consumer are supported*
+
+
+
 
 The create API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -301,6 +309,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: delete
 
+*Both producer and consumer are supported*
+
+
+
 
 The delete API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -361,6 +373,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: history
 
+*Both producer and consumer are supported*
+
+
+
 
 The history API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -428,6 +444,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: load-page
 
+*Both producer and consumer are supported*
+
+
+
 
 The load-page API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -485,6 +505,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: meta
 
+*Both producer and consumer are supported*
+
+
+
 
 The meta API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -555,6 +579,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: operation
 
+*Both producer and consumer are supported*
+
+
+
 
 The operation API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -643,6 +671,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: patch
 
+*Both producer and consumer are supported*
+
+
+
 
 The patch API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -701,6 +733,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: read
 
+*Both producer and consumer are supported*
+
+
+
 
 The read API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -784,6 +820,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: search
 
+*Both producer and consumer are supported*
+
+
+
 
 The search API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -830,6 +870,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: transaction
 
+*Both producer and consumer are supported*
+
+
+
 
 The transaction API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -884,6 +928,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: update
 
+*Both producer and consumer are supported*
+
+
+
 
 The update API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -950,6 +998,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: validate
 
+*Both producer and consumer are supported*
+
+
+
 
 The validate API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 37267d1..977b549 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.calendar.Calendar$Acl}.
  */
-@ApiParams(apiName = "acl", description = "The acl collection of methods",
+@ApiParams(apiName = "acl", 
+           description = "The acl collection of methods",
            apiMethods = {@ApiMethod(methodName = "delete", description="Deletes an access control rule", signatures={"com.google.api.services.calendar.Calendar$Acl$Delete delete(String calendarId, String ruleId)"}), @ApiMethod(methodName = "get", description="Returns an access control rule", signatures={"com.google.api.services.calendar.Calendar$Acl$Get get(String calendarId, String ruleId)"}), @ApiMethod(methodName = "insert", description="Creates an access control rule", signatures={"c [...]
 @UriParams
 @Configurer
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 41ef8e5..4ecbe28 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.calendar.Calendar$CalendarList}.
  */
-@ApiParams(apiName = "list", description = "The calendarList collection of methods",
+@ApiParams(apiName = "list", 
+           description = "The calendarList collection of methods",
            apiMethods = {@ApiMethod(methodName = "delete", description="Deletes an entry on the user's calendar list", signatures={"com.google.api.services.calendar.Calendar$CalendarList$Delete delete(String calendarId)"}), @ApiMethod(methodName = "get", description="Returns an entry on the user's calendar list", signatures={"com.google.api.services.calendar.Calendar$CalendarList$Get get(String calendarId)"}), @ApiMethod(methodName = "insert", description="Adds an entry to the user's cal [...]
 @UriParams
 @Configurer
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 f72d7b3..c92e046 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.calendar.Calendar$Calendars}.
  */
-@ApiParams(apiName = "calendars", description = "The calendars collection of methods",
+@ApiParams(apiName = "calendars", 
+           description = "The calendars collection of methods",
            apiMethods = {@ApiMethod(methodName = "clear", description="Clears a primary calendar", signatures={"com.google.api.services.calendar.Calendar$Calendars$Clear clear(String calendarId)"}), @ApiMethod(methodName = "delete", description="Deletes a secondary calendar", signatures={"com.google.api.services.calendar.Calendar$Calendars$Delete delete(String calendarId)"}), @ApiMethod(methodName = "get", description="Returns metadata for a calendar", signatures={"com.google.api.service [...]
 @UriParams
 @Configurer
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 2575b99..b68002a 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.calendar.Calendar$Channels}.
  */
-@ApiParams(apiName = "channels", description = "The channels collection of methods",
+@ApiParams(apiName = "channels", 
+           description = "The channels collection of methods",
            apiMethods = {@ApiMethod(methodName = "stop", description="Stop watching resources through this channel", signatures={"com.google.api.services.calendar.Calendar$Channels$Stop stop(com.google.api.services.calendar.model.Channel content)"})}, aliases = {})
 @UriParams
 @Configurer
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 1cd652b..553508c 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.calendar.Calendar$Colors}.
  */
-@ApiParams(apiName = "colors", description = "The colors collection of methods",
+@ApiParams(apiName = "colors", 
+           description = "The colors collection of methods",
            apiMethods = {@ApiMethod(methodName = "get", description="Returns the color definitions for calendars and events", signatures={"com.google.api.services.calendar.Calendar$Colors$Get get()"})}, aliases = {})
 @UriParams
 @Configurer
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 58e7b86..73c6d67 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.calendar.Calendar$Events}.
  */
-@ApiParams(apiName = "events", description = "The events collection of methods",
+@ApiParams(apiName = "events", 
+           description = "The events collection of methods",
            apiMethods = {@ApiMethod(methodName = "calendarImport", description="Imports an event", signatures={"com.google.api.services.calendar.Calendar$Events$CalendarImport calendarImport(String calendarId, com.google.api.services.calendar.model.Event content)"}), @ApiMethod(methodName = "delete", description="Deletes an event", signatures={"com.google.api.services.calendar.Calendar$Events$Delete delete(String calendarId, String eventId)"}), @ApiMethod(methodName = "get", description= [...]
 @UriParams
 @Configurer
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 0d0f4f9..8eb9faa 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.calendar.Calendar$Freebusy}.
  */
-@ApiParams(apiName = "freebusy", description = "The freebusy collection of methods",
+@ApiParams(apiName = "freebusy", 
+           description = "The freebusy collection of methods",
            apiMethods = {@ApiMethod(methodName = "query", description="Returns free/busy information for a set of calendars", signatures={"com.google.api.services.calendar.Calendar$Freebusy$Query query(com.google.api.services.calendar.model.FreeBusyRequest content)"})}, aliases = {})
 @UriParams
 @Configurer
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 8ceca75..fb95c4a 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.calendar.Calendar$Settings}.
  */
-@ApiParams(apiName = "settings", description = "The settings collection of methods",
+@ApiParams(apiName = "settings", 
+           description = "The settings collection of methods",
            apiMethods = {@ApiMethod(methodName = "get", description="Returns a single user setting", signatures={"com.google.api.services.calendar.Calendar$Settings$Get get(String setting)"}), @ApiMethod(methodName = "list", description="Returns all user settings for the authenticated user", signatures={"com.google.api.services.calendar.Calendar$Settings$List list()"}), @ApiMethod(methodName = "watch", description="Watch for changes to Settings resources", signatures={"com.google.api.ser [...]
 @UriParams
 @Configurer
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 1aa62a2..a3621dd 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,13 @@
     "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 [...]
   },
   "apis": {
-    "acl": { "description": "The acl collection of methods", "methods": { "delete": { "description": "Deletes an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Delete delete(String calendarId, String ruleId)" ] }, "get": { "description": "Returns an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Get get(String calendarId, String ruleId)" ] }, "insert": { "description": "Creates an access control rule", "signature [...]
-    "calendars": { "description": "The calendars collection of methods", "methods": { "clear": { "description": "Clears a primary calendar", "signatures": [ "com.google.api.services.calendar.Calendar$Calendars$Clear clear(String calendarId)" ] }, "delete": { "description": "Deletes a secondary calendar", "signatures": [ "com.google.api.services.calendar.Calendar$Calendars$Delete delete(String calendarId)" ] }, "get": { "description": "Returns metadata for a calendar", "signatures": [ "co [...]
-    "channels": { "description": "The channels collection of methods", "methods": { "stop": { "description": "Stop watching resources through this channel", "signatures": [ "com.google.api.services.calendar.Calendar$Channels$Stop stop(com.google.api.services.calendar.model.Channel content)" ] } } },
-    "events": { "description": "The events collection of methods", "methods": { "calendarImport": { "description": "Imports an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$CalendarImport calendarImport(String calendarId, com.google.api.services.calendar.model.Event content)" ] }, "delete": { "description": "Deletes an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$Delete delete(String calendarId, String eventId)" ] }, "get": { "desc [...]
-    "freebusy": { "description": "The freebusy collection of methods", "methods": { "query": { "description": "Returns free\/busy information for a set of calendars", "signatures": [ "com.google.api.services.calendar.Calendar$Freebusy$Query query(com.google.api.services.calendar.model.FreeBusyRequest content)" ] } } },
-    "list": { "description": "The calendarList collection of methods", "methods": { "delete": { "description": "Deletes an entry on the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Delete delete(String calendarId)" ] }, "get": { "description": "Returns an entry on the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Get get(String calendarId)" ] }, "insert": { "description": "Adds an entry to  [...]
-    "settings": { "description": "The settings collection of methods", "methods": { "get": { "description": "Returns a single user setting", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$Get get(String setting)" ] }, "watch": { "description": "Watch for changes to Settings resources", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$Watch watch(com.google.api.services.calendar.model.Channel content)" ] } } }
+    "acl": { "consumerOnly": false, "producerOnly": false, "description": "The acl collection of methods", "methods": { "delete": { "description": "Deletes an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Delete delete(String calendarId, String ruleId)" ] }, "get": { "description": "Returns an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Get get(String calendarId, String ruleId)" ] }, "insert": { "description" [...]
+    "calendars": { "consumerOnly": false, "producerOnly": false, "description": "The calendars collection of methods", "methods": { "clear": { "description": "Clears a primary calendar", "signatures": [ "com.google.api.services.calendar.Calendar$Calendars$Clear clear(String calendarId)" ] }, "delete": { "description": "Deletes a secondary calendar", "signatures": [ "com.google.api.services.calendar.Calendar$Calendars$Delete delete(String calendarId)" ] }, "get": { "description": "Returns [...]
+    "channels": { "consumerOnly": false, "producerOnly": false, "description": "The channels collection of methods", "methods": { "stop": { "description": "Stop watching resources through this channel", "signatures": [ "com.google.api.services.calendar.Calendar$Channels$Stop stop(com.google.api.services.calendar.model.Channel content)" ] } } },
+    "events": { "consumerOnly": false, "producerOnly": false, "description": "The events collection of methods", "methods": { "calendarImport": { "description": "Imports an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$CalendarImport calendarImport(String calendarId, com.google.api.services.calendar.model.Event content)" ] }, "delete": { "description": "Deletes an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$Delete delete(String ca [...]
+    "freebusy": { "consumerOnly": false, "producerOnly": false, "description": "The freebusy collection of methods", "methods": { "query": { "description": "Returns free\/busy information for a set of calendars", "signatures": [ "com.google.api.services.calendar.Calendar$Freebusy$Query query(com.google.api.services.calendar.model.FreeBusyRequest content)" ] } } },
+    "list": { "consumerOnly": false, "producerOnly": false, "description": "The calendarList collection of methods", "methods": { "delete": { "description": "Deletes an entry on the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Delete delete(String calendarId)" ] }, "get": { "description": "Returns an entry on the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Get get(String calendarId)" ] }, [...]
+    "settings": { "consumerOnly": false, "producerOnly": false, "description": "The settings collection of methods", "methods": { "get": { "description": "Returns a single user setting", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$Get get(String setting)" ] }, "watch": { "description": "Watch for changes to Settings resources", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$Watch watch(com.google.api.services.calendar.model.Channel content)" ] } } }
   },
   "apiProperties": {
     "acl": { "methods": { "delete": { "properties": { "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.", "optional": false }, "ruleId": { [...]
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 0106da4..278a365 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
@@ -74,21 +74,21 @@
     "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apis": {
-    "acl": { "description": "The acl collection of methods", "methods": { "delete": { "description": "Deletes an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Delete delete(String calendarId, String ruleId)" ] }, "get": { "description": "Returns an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Get get(String calendarId, String ruleId)" ] }, "insert": { "description": "Creates an access control rule", "signature [...]
-    "calendars": { "description": "The calendars collection of methods", "methods": { "clear": { "description": "Clears a primary calendar", "signatures": [ "com.google.api.services.calendar.Calendar$Calendars$Clear clear(String calendarId)" ] }, "delete": { "description": "Deletes a secondary calendar", "signatures": [ "com.google.api.services.calendar.Calendar$Calendars$Delete delete(String calendarId)" ] }, "get": { "description": "Returns metadata for a calendar", "signatures": [ "co [...]
-    "channels": { "description": "The channels collection of methods", "methods": { "stop": { "description": "Stop watching resources through this channel", "signatures": [ "com.google.api.services.calendar.Calendar$Channels$Stop stop(com.google.api.services.calendar.model.Channel content)" ] } } },
-    "events": { "description": "The events collection of methods", "methods": { "calendarImport": { "description": "Imports an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$CalendarImport calendarImport(String calendarId, com.google.api.services.calendar.model.Event content)" ] }, "delete": { "description": "Deletes an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$Delete delete(String calendarId, String eventId)" ] }, "get": { "desc [...]
-    "freebusy": { "description": "The freebusy collection of methods", "methods": { "query": { "description": "Returns free\/busy information for a set of calendars", "signatures": [ "com.google.api.services.calendar.Calendar$Freebusy$Query query(com.google.api.services.calendar.model.FreeBusyRequest content)" ] } } },
-    "list": { "description": "The calendarList collection of methods", "methods": { "delete": { "description": "Deletes an entry on the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Delete delete(String calendarId)" ] }, "get": { "description": "Returns an entry on the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Get get(String calendarId)" ] }, "insert": { "description": "Adds an entry to  [...]
-    "settings": { "description": "The settings collection of methods", "methods": { "get": { "description": "Returns a single user setting", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$Get get(String setting)" ] }, "watch": { "description": "Watch for changes to Settings resources", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$Watch watch(com.google.api.services.calendar.model.Channel content)" ] } } }
+    "acl": { "consumerOnly": false, "producerOnly": false, "description": "The acl collection of methods", "methods": { "delete": { "description": "Deletes an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Delete delete(String calendarId, String ruleId)" ] }, "get": { "description": "Returns an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Get get(String calendarId, String ruleId)" ] }, "insert": { "description" [...]
+    "calendars": { "consumerOnly": false, "producerOnly": false, "description": "The calendars collection of methods", "methods": { "clear": { "description": "Clears a primary calendar", "signatures": [ "com.google.api.services.calendar.Calendar$Calendars$Clear clear(String calendarId)" ] }, "delete": { "description": "Deletes a secondary calendar", "signatures": [ "com.google.api.services.calendar.Calendar$Calendars$Delete delete(String calendarId)" ] }, "get": { "description": "Returns [...]
+    "channels": { "consumerOnly": false, "producerOnly": false, "description": "The channels collection of methods", "methods": { "stop": { "description": "Stop watching resources through this channel", "signatures": [ "com.google.api.services.calendar.Calendar$Channels$Stop stop(com.google.api.services.calendar.model.Channel content)" ] } } },
+    "events": { "consumerOnly": false, "producerOnly": false, "description": "The events collection of methods", "methods": { "calendarImport": { "description": "Imports an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$CalendarImport calendarImport(String calendarId, com.google.api.services.calendar.model.Event content)" ] }, "delete": { "description": "Deletes an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$Delete delete(String ca [...]
+    "freebusy": { "consumerOnly": false, "producerOnly": false, "description": "The freebusy collection of methods", "methods": { "query": { "description": "Returns free\/busy information for a set of calendars", "signatures": [ "com.google.api.services.calendar.Calendar$Freebusy$Query query(com.google.api.services.calendar.model.FreeBusyRequest content)" ] } } },
+    "list": { "consumerOnly": false, "producerOnly": false, "description": "The calendarList collection of methods", "methods": { "delete": { "description": "Deletes an entry on the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Delete delete(String calendarId)" ] }, "get": { "description": "Returns an entry on the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Get get(String calendarId)" ] }, [...]
+    "settings": { "consumerOnly": false, "producerOnly": false, "description": "The settings collection of methods", "methods": { "get": { "description": "Returns a single user setting", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$Get get(String setting)" ] }, "watch": { "description": "Watch for changes to Settings resources", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$Watch watch(com.google.api.services.calendar.model.Channel content)" ] } } }
   },
   "apiProperties": {
-    "acl": { "methods": { "delete": { "properties": { "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.", "optional": false }, "ruleId": [...]
-    "calendars": { "methods": { "clear": { "properties": { "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.", "optional": false } } },  [...]
-    "channels": { "methods": { "stop": { "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": "The com.google.api.services.calendar.model.Channel", "optional": false } } } } },
-    "events": { "methods": { "calendarImport": { "properties": { "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.", "optional": false } [...]
-    "freebusy": { "methods": { "query": { "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": "The com.google.api.services.calendar.model.FreeBusyRequest", "optional": false } } } } },
-    "list": { "methods": { "delete": { "properties": { "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.", "optional": false } } }, "get [...]
-    "settings": { "methods": { "get": { "properties": { "setting": { "kind": "parameter", "displayName": "Setting", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the user setting", "optional": false } } }, "watch": { "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "consumer", "label": "", "required": false, "type": "o [...]
+    "acl": { "methods": { "delete": { "properties": { "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.", "optional": false }, "ruleId": { [...]
+    "calendars": { "methods": { "clear": { "properties": { "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.", "optional": false } } }, "d [...]
+    "channels": { "methods": { "stop": { "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": "The com.google.api.services.calendar.model.Channel", "optional": false } } } } },
+    "events": { "methods": { "calendarImport": { "properties": { "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.", "optional": false },  [...]
+    "freebusy": { "methods": { "query": { "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": "The com.google.api.services.calendar.model.FreeBusyRequest", "optional": false } } } } },
+    "list": { "methods": { "delete": { "properties": { "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.", "optional": false } } }, "get": [...]
+    "settings": { "methods": { "get": { "properties": { "setting": { "kind": "parameter", "displayName": "Setting", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the user setting", "optional": false } } }, "watch": { "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "objec [...]
   }
 }
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 7f1a6f8..48f5522 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
@@ -143,16 +143,16 @@ google-calendar:apiName/methodName
 
 There are 7 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *acl* | The acl collection of methods
-| *calendars* | The calendars collection of methods
-| *channels* | The channels collection of methods
-| *events* | The events collection of methods
-| *freebusy* | The freebusy collection of methods
-| *list* | The calendarList collection of methods
-| *settings* | The settings collection of methods
+| API Name | Type | Description
+| *acl* | Both | The acl collection of methods
+| *calendars* | Both | The calendars collection of methods
+| *channels* | Both | The channels collection of methods
+| *events* | Both | The events collection of methods
+| *freebusy* | Both | The freebusy collection of methods
+| *list* | Both | The calendarList collection of methods
+| *settings* | Both | The settings collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -160,6 +160,10 @@ Each API is documented in the following sections to come.
 
 ==== API: acl
 
+*Both producer and consumer are supported*
+
+
+
 
 The acl API has 7 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -237,6 +241,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: calendars
 
+*Both producer and consumer are supported*
+
+
+
 
 The calendars API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -304,6 +312,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: channels
 
+*Both producer and consumer are supported*
+
+
+
 
 The channels API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -349,6 +361,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: events
 
+*Both producer and consumer are supported*
+
+
+
 
 The events API has 11 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -447,6 +463,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: freebusy
 
+*Both producer and consumer are supported*
+
+
+
 
 The freebusy API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -492,6 +512,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: list
 
+*Both producer and consumer are supported*
+
+
+
 
 The list API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -559,6 +583,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: settings
 
+*Both producer and consumer are supported*
+
+
+
 
 The settings API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 4120b38..e668310 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
@@ -154,16 +154,16 @@ google-calendar-stream:index
 
 There are 7 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *acl* | The acl collection of methods
-| *calendars* | The calendars collection of methods
-| *channels* | The channels collection of methods
-| *events* | The events collection of methods
-| *freebusy* | The freebusy collection of methods
-| *list* | The calendarList collection of methods
-| *settings* | The settings collection of methods
+| API Name | Type | Description
+| *acl* | Both | The acl collection of methods
+| *calendars* | Both | The calendars collection of methods
+| *channels* | Both | The channels collection of methods
+| *events* | Both | The events collection of methods
+| *freebusy* | Both | The freebusy collection of methods
+| *list* | Both | The calendarList collection of methods
+| *settings* | Both | The settings collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -171,6 +171,10 @@ Each API is documented in the following sections to come.
 
 ==== API: acl
 
+*Both producer and consumer are supported*
+
+
+
 
 The acl API has 7 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -248,6 +252,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: calendars
 
+*Both producer and consumer are supported*
+
+
+
 
 The calendars API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -315,6 +323,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: channels
 
+*Both producer and consumer are supported*
+
+
+
 
 The channels API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -360,6 +372,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: events
 
+*Both producer and consumer are supported*
+
+
+
 
 The events API has 11 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -458,6 +474,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: freebusy
 
+*Both producer and consumer are supported*
+
+
+
 
 The freebusy API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -503,6 +523,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: list
 
+*Both producer and consumer are supported*
+
+
+
 
 The list API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -570,6 +594,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: settings
 
+*Both producer and consumer are supported*
+
+
+
 
 The settings API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 1c8cc37..d0b8b0e 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.drive.Drive$About}.
  */
-@ApiParams(apiName = "drive-about", description = "The about collection of methods",
+@ApiParams(apiName = "drive-about", 
+           description = "The about collection of methods",
            apiMethods = {@ApiMethod(methodName = "get", description="Gets the information about the current user along with Drive API settings", signatures={"com.google.api.services.drive.Drive$About$Get get()"})}, aliases = {})
 @UriParams
 @Configurer
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 c5cba89..ac909d4 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.drive.Drive$Apps}.
  */
-@ApiParams(apiName = "drive-apps", description = "The apps collection of methods",
+@ApiParams(apiName = "drive-apps", 
+           description = "The apps collection of methods",
            apiMethods = {@ApiMethod(methodName = "get", description="Gets a specific app", signatures={"com.google.api.services.drive.Drive$Apps$Get get(String appId)"}), @ApiMethod(methodName = "list", description="Lists a user's installed apps", signatures={"com.google.api.services.drive.Drive$Apps$List list()"})}, aliases = {})
 @UriParams
 @Configurer
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 3011cf3..2692cd4 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.drive.Drive$Changes}.
  */
-@ApiParams(apiName = "drive-changes", description = "The changes collection of methods",
+@ApiParams(apiName = "drive-changes", 
+           description = "The changes collection of methods",
            apiMethods = {@ApiMethod(methodName = "get", description="Deprecated - Use changes", signatures={"com.google.api.services.drive.Drive$Changes$Get get(String changeId)"}), @ApiMethod(methodName = "getStartPageToken", description="Gets the starting pageToken for listing future changes", signatures={"com.google.api.services.drive.Drive$Changes$GetStartPageToken getStartPageToken()"}), @ApiMethod(methodName = "list", description="Lists the changes for a user or Team Drive", signat [...]
 @UriParams
 @Configurer
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 12e613a..dbb2f60 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.drive.Drive$Channels}.
  */
-@ApiParams(apiName = "drive-channels", description = "The channels collection of methods",
+@ApiParams(apiName = "drive-channels", 
+           description = "The channels collection of methods",
            apiMethods = {@ApiMethod(methodName = "stop", description="Stop watching resources through this channel", signatures={"com.google.api.services.drive.Drive$Channels$Stop stop(com.google.api.services.drive.model.Channel content)"})}, aliases = {})
 @UriParams
 @Configurer
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 b48cd1e..56b3df8 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.drive.Drive$Children}.
  */
-@ApiParams(apiName = "drive-children", description = "The children collection of methods",
+@ApiParams(apiName = "drive-children", 
+           description = "The children collection of methods",
            apiMethods = {@ApiMethod(methodName = "delete", description="Removes a child from a folder", signatures={"com.google.api.services.drive.Drive$Children$Delete delete(String folderId, String childId)"}), @ApiMethod(methodName = "get", description="Gets a specific child reference", signatures={"com.google.api.services.drive.Drive$Children$Get get(String folderId, String childId)"}), @ApiMethod(methodName = "insert", description="Inserts a file into a folder", signatures={"com.goo [...]
 @UriParams
 @Configurer
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 0b42219..dfd0fde 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.drive.Drive$Comments}.
  */
-@ApiParams(apiName = "drive-comments", description = "The comments collection of methods",
+@ApiParams(apiName = "drive-comments", 
+           description = "The comments collection of methods",
            apiMethods = {@ApiMethod(methodName = "delete", description="Deletes a comment", signatures={"com.google.api.services.drive.Drive$Comments$Delete delete(String fileId, String commentId)"}), @ApiMethod(methodName = "get", description="Gets a comment by ID", signatures={"com.google.api.services.drive.Drive$Comments$Get get(String fileId, String commentId)"}), @ApiMethod(methodName = "insert", description="Creates a new comment on the given file", signatures={"com.google.api.serv [...]
 @UriParams
 @Configurer
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 dbd5935..1fecf08 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.drive.Drive$Files}.
  */
-@ApiParams(apiName = "drive-files", description = "The files collection of methods",
+@ApiParams(apiName = "drive-files", 
+           description = "The files collection of methods",
            apiMethods = {@ApiMethod(methodName = "copy", description="Creates a copy of the specified file", signatures={"com.google.api.services.drive.Drive$Files$Copy copy(String fileId, com.google.api.services.drive.model.File content)"}), @ApiMethod(methodName = "delete", description="Permanently deletes a file by ID", signatures={"com.google.api.services.drive.Drive$Files$Delete delete(String fileId)"}), @ApiMethod(methodName = "emptyTrash", description="Permanently deletes all of t [...]
 @UriParams
 @Configurer
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 4f49ccd..e0e6e89 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.drive.Drive$Parents}.
  */
-@ApiParams(apiName = "drive-parents", description = "The parents collection of methods",
+@ApiParams(apiName = "drive-parents", 
+           description = "The parents collection of methods",
            apiMethods = {@ApiMethod(methodName = "delete", description="Removes a parent from a file", signatures={"com.google.api.services.drive.Drive$Parents$Delete delete(String fileId, String parentId)"}), @ApiMethod(methodName = "get", description="Gets a specific parent reference", signatures={"com.google.api.services.drive.Drive$Parents$Get get(String fileId, String parentId)"}), @ApiMethod(methodName = "insert", description="Adds a parent folder for a file", signatures={"com.goog [...]
 @UriParams
 @Configurer
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 5c84265..dcec4ef 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.drive.Drive$Permissions}.
  */
-@ApiParams(apiName = "drive-permissions", description = "The permissions collection of methods",
+@ApiParams(apiName = "drive-permissions", 
+           description = "The permissions collection of methods",
            apiMethods = {@ApiMethod(methodName = "delete", description="Deletes a permission from a file or Team Drive", signatures={"com.google.api.services.drive.Drive$Permissions$Delete delete(String fileId, String permissionId)"}), @ApiMethod(methodName = "get", description="Gets a permission by ID", signatures={"com.google.api.services.drive.Drive$Permissions$Get get(String fileId, String permissionId)"}), @ApiMethod(methodName = "getIdForEmail", description="Returns the permission  [...]
 @UriParams
 @Configurer
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 8b5bb04..052e586 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.drive.Drive$Properties}.
  */
-@ApiParams(apiName = "drive-properties", description = "The properties collection of methods",
+@ApiParams(apiName = "drive-properties", 
+           description = "The properties collection of methods",
            apiMethods = {@ApiMethod(methodName = "delete", description="Deletes a property", signatures={"com.google.api.services.drive.Drive$Properties$Delete delete(String fileId, String propertyKey)"}), @ApiMethod(methodName = "get", description="Gets a property by its key", signatures={"com.google.api.services.drive.Drive$Properties$Get get(String fileId, String propertyKey)"}), @ApiMethod(methodName = "insert", description="Adds a property to a file, or updates it if it already exis [...]
 @UriParams
 @Configurer
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 f0a5f4b..9ae3b08 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.drive.Drive$Realtime}.
  */
-@ApiParams(apiName = "drive-realtime", description = "The realtime collection of methods",
+@ApiParams(apiName = "drive-realtime", 
+           description = "The realtime collection of methods",
            apiMethods = {@ApiMethod(methodName = "get", description="Exports the contents of the Realtime API data model associated with this file as JSON", signatures={"com.google.api.services.drive.Drive$Realtime$Get get(String fileId)"}), @ApiMethod(methodName = "update", description="Overwrites the Realtime API data model associated with this file with the provided JSON data model", signatures={"com.google.api.services.drive.Drive$Realtime$Update update(String fileId)", "com.google.a [...]
 @UriParams
 @Configurer
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 b5e825e..8c56250 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.drive.Drive$Replies}.
  */
-@ApiParams(apiName = "drive-replies", description = "The replies collection of methods",
+@ApiParams(apiName = "drive-replies", 
+           description = "The replies collection of methods",
            apiMethods = {@ApiMethod(methodName = "delete", description="Deletes a reply", signatures={"com.google.api.services.drive.Drive$Replies$Delete delete(String fileId, String commentId, String replyId)"}), @ApiMethod(methodName = "get", description="Gets a reply", signatures={"com.google.api.services.drive.Drive$Replies$Get get(String fileId, String commentId, String replyId)"}), @ApiMethod(methodName = "insert", description="Creates a new reply to the given comment", signatures= [...]
 @UriParams
 @Configurer
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 3040bbf..68643b3 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.drive.Drive$Revisions}.
  */
-@ApiParams(apiName = "drive-revisions", description = "The revisions collection of methods",
+@ApiParams(apiName = "drive-revisions", 
+           description = "The revisions collection of methods",
            apiMethods = {@ApiMethod(methodName = "delete", description="Removes a revision", signatures={"com.google.api.services.drive.Drive$Revisions$Delete delete(String fileId, String revisionId)"}), @ApiMethod(methodName = "get", description="Gets a specific revision", signatures={"com.google.api.services.drive.Drive$Revisions$Get get(String fileId, String revisionId)"}), @ApiMethod(methodName = "list", description="Lists a file's revisions", signatures={"com.google.api.services.dri [...]
 @UriParams
 @Configurer
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 baf0b2f..548c524 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,18 @@
     "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 [...]
   },
   "apis": {
-    "drive-apps": { "description": "The apps collection of methods", "methods": { "get": { "description": "Gets a specific app", "signatures": [ "com.google.api.services.drive.Drive$Apps$Get get(String appId)" ] } } },
-    "drive-changes": { "description": "The changes collection of methods", "methods": { "get": { "description": "Deprecated - Use changes", "signatures": [ "com.google.api.services.drive.Drive$Changes$Get get(String changeId)" ] }, "watch": { "description": "Subscribe to changes for a user", "signatures": [ "com.google.api.services.drive.Drive$Changes$Watch watch(com.google.api.services.drive.model.Channel content)" ] } } },
-    "drive-channels": { "description": "The channels collection of methods", "methods": { "stop": { "description": "Stop watching resources through this channel", "signatures": [ "com.google.api.services.drive.Drive$Channels$Stop stop(com.google.api.services.drive.model.Channel content)" ] } } },
-    "drive-children": { "description": "The children collection of methods", "methods": { "delete": { "description": "Removes a child from a folder", "signatures": [ "com.google.api.services.drive.Drive$Children$Delete delete(String folderId, String childId)" ] }, "get": { "description": "Gets a specific child reference", "signatures": [ "com.google.api.services.drive.Drive$Children$Get get(String folderId, String childId)" ] }, "insert": { "description": "Inserts a file into a folder",  [...]
-    "drive-comments": { "description": "The comments collection of methods", "methods": { "delete": { "description": "Deletes a comment", "signatures": [ "com.google.api.services.drive.Drive$Comments$Delete delete(String fileId, String commentId)" ] }, "get": { "description": "Gets a comment by ID", "signatures": [ "com.google.api.services.drive.Drive$Comments$Get get(String fileId, String commentId)" ] }, "insert": { "description": "Creates a new comment on the given file", "signatures" [...]
-    "drive-files": { "description": "The files collection of methods", "methods": { "copy": { "description": "Creates a copy of the specified file", "signatures": [ "com.google.api.services.drive.Drive$Files$Copy copy(String fileId, com.google.api.services.drive.model.File content)" ] }, "delete": { "description": "Permanently deletes a file by ID", "signatures": [ "com.google.api.services.drive.Drive$Files$Delete delete(String fileId)" ] }, "export": { "description": "Exports a Google D [...]
-    "drive-parents": { "description": "The parents collection of methods", "methods": { "delete": { "description": "Removes a parent from a file", "signatures": [ "com.google.api.services.drive.Drive$Parents$Delete delete(String fileId, String parentId)" ] }, "get": { "description": "Gets a specific parent reference", "signatures": [ "com.google.api.services.drive.Drive$Parents$Get get(String fileId, String parentId)" ] }, "insert": { "description": "Adds a parent folder for a file", "si [...]
-    "drive-permissions": { "description": "The permissions collection of methods", "methods": { "delete": { "description": "Deletes a permission from a file or Team Drive", "signatures": [ "com.google.api.services.drive.Drive$Permissions$Delete delete(String fileId, String permissionId)" ] }, "get": { "description": "Gets a permission by ID", "signatures": [ "com.google.api.services.drive.Drive$Permissions$Get get(String fileId, String permissionId)" ] }, "getIdForEmail": { "description" [...]
-    "drive-properties": { "description": "The properties collection of methods", "methods": { "delete": { "description": "Deletes a property", "signatures": [ "com.google.api.services.drive.Drive$Properties$Delete delete(String fileId, String propertyKey)" ] }, "get": { "description": "Gets a property by its key", "signatures": [ "com.google.api.services.drive.Drive$Properties$Get get(String fileId, String propertyKey)" ] }, "insert": { "description": "Adds a property to a file, or updat [...]
-    "drive-realtime": { "description": "The realtime collection of methods", "methods": { "get": { "description": "Exports the contents of the Realtime API data model associated with this file as JSON", "signatures": [ "com.google.api.services.drive.Drive$Realtime$Get get(String fileId)" ] }, "update": { "description": "Overwrites the Realtime API data model associated with this file with the provided JSON data model", "signatures": [ "com.google.api.services.drive.Drive$Realtime$Update  [...]
-    "drive-replies": { "description": "The replies collection of methods", "methods": { "delete": { "description": "Deletes a reply", "signatures": [ "com.google.api.services.drive.Drive$Replies$Delete delete(String fileId, String commentId, String replyId)" ] }, "get": { "description": "Gets a reply", "signatures": [ "com.google.api.services.drive.Drive$Replies$Get get(String fileId, String commentId, String replyId)" ] }, "insert": { "description": "Creates a new reply to the given com [...]
-    "drive-revisions": { "description": "The revisions collection of methods", "methods": { "delete": { "description": "Removes a revision", "signatures": [ "com.google.api.services.drive.Drive$Revisions$Delete delete(String fileId, String revisionId)" ] }, "get": { "description": "Gets a specific revision", "signatures": [ "com.google.api.services.drive.Drive$Revisions$Get get(String fileId, String revisionId)" ] }, "list": { "description": "Lists a file's revisions", "signatures": [ "c [...]
+    "drive-apps": { "consumerOnly": false, "producerOnly": false, "description": "The apps collection of methods", "methods": { "get": { "description": "Gets a specific app", "signatures": [ "com.google.api.services.drive.Drive$Apps$Get get(String appId)" ] } } },
+    "drive-changes": { "consumerOnly": false, "producerOnly": false, "description": "The changes collection of methods", "methods": { "get": { "description": "Deprecated - Use changes", "signatures": [ "com.google.api.services.drive.Drive$Changes$Get get(String changeId)" ] }, "watch": { "description": "Subscribe to changes for a user", "signatures": [ "com.google.api.services.drive.Drive$Changes$Watch watch(com.google.api.services.drive.model.Channel content)" ] } } },
+    "drive-channels": { "consumerOnly": false, "producerOnly": false, "description": "The channels collection of methods", "methods": { "stop": { "description": "Stop watching resources through this channel", "signatures": [ "com.google.api.services.drive.Drive$Channels$Stop stop(com.google.api.services.drive.model.Channel content)" ] } } },
+    "drive-children": { "consumerOnly": false, "producerOnly": false, "description": "The children collection of methods", "methods": { "delete": { "description": "Removes a child from a folder", "signatures": [ "com.google.api.services.drive.Drive$Children$Delete delete(String folderId, String childId)" ] }, "get": { "description": "Gets a specific child reference", "signatures": [ "com.google.api.services.drive.Drive$Children$Get get(String folderId, String childId)" ] }, "insert": { " [...]
+    "drive-comments": { "consumerOnly": false, "producerOnly": false, "description": "The comments collection of methods", "methods": { "delete": { "description": "Deletes a comment", "signatures": [ "com.google.api.services.drive.Drive$Comments$Delete delete(String fileId, String commentId)" ] }, "get": { "description": "Gets a comment by ID", "signatures": [ "com.google.api.services.drive.Drive$Comments$Get get(String fileId, String commentId)" ] }, "insert": { "description": "Creates  [...]
+    "drive-files": { "consumerOnly": false, "producerOnly": false, "description": "The files collection of methods", "methods": { "copy": { "description": "Creates a copy of the specified file", "signatures": [ "com.google.api.services.drive.Drive$Files$Copy copy(String fileId, com.google.api.services.drive.model.File content)" ] }, "delete": { "description": "Permanently deletes a file by ID", "signatures": [ "com.google.api.services.drive.Drive$Files$Delete delete(String fileId)" ] },  [...]
+    "drive-parents": { "consumerOnly": false, "producerOnly": false, "description": "The parents collection of methods", "methods": { "delete": { "description": "Removes a parent from a file", "signatures": [ "com.google.api.services.drive.Drive$Parents$Delete delete(String fileId, String parentId)" ] }, "get": { "description": "Gets a specific parent reference", "signatures": [ "com.google.api.services.drive.Drive$Parents$Get get(String fileId, String parentId)" ] }, "insert": { "descri [...]
+    "drive-permissions": { "consumerOnly": false, "producerOnly": false, "description": "The permissions collection of methods", "methods": { "delete": { "description": "Deletes a permission from a file or Team Drive", "signatures": [ "com.google.api.services.drive.Drive$Permissions$Delete delete(String fileId, String permissionId)" ] }, "get": { "description": "Gets a permission by ID", "signatures": [ "com.google.api.services.drive.Drive$Permissions$Get get(String fileId, String permis [...]
+    "drive-properties": { "consumerOnly": false, "producerOnly": false, "description": "The properties collection of methods", "methods": { "delete": { "description": "Deletes a property", "signatures": [ "com.google.api.services.drive.Drive$Properties$Delete delete(String fileId, String propertyKey)" ] }, "get": { "description": "Gets a property by its key", "signatures": [ "com.google.api.services.drive.Drive$Properties$Get get(String fileId, String propertyKey)" ] }, "insert": { "desc [...]
+    "drive-realtime": { "consumerOnly": false, "producerOnly": false, "description": "The realtime collection of methods", "methods": { "get": { "description": "Exports the contents of the Realtime API data model associated with this file as JSON", "signatures": [ "com.google.api.services.drive.Drive$Realtime$Get get(String fileId)" ] }, "update": { "description": "Overwrites the Realtime API data model associated with this file with the provided JSON data model", "signatures": [ "com.go [...]
+    "drive-replies": { "consumerOnly": false, "producerOnly": false, "description": "The replies collection of methods", "methods": { "delete": { "description": "Deletes a reply", "signatures": [ "com.google.api.services.drive.Drive$Replies$Delete delete(String fileId, String commentId, String replyId)" ] }, "get": { "description": "Gets a reply", "signatures": [ "com.google.api.services.drive.Drive$Replies$Get get(String fileId, String commentId, String replyId)" ] }, "insert": { "descr [...]
+    "drive-revisions": { "consumerOnly": false, "producerOnly": false, "description": "The revisions collection of methods", "methods": { "delete": { "description": "Removes a revision", "signatures": [ "com.google.api.services.drive.Drive$Revisions$Delete delete(String fileId, String revisionId)" ] }, "get": { "description": "Gets a specific revision", "signatures": [ "com.google.api.services.drive.Drive$Revisions$Get get(String fileId, String revisionId)" ] }, "list": { "description":  [...]
   },
   "apiProperties": {
     "drive-apps": { "methods": { "get": { "properties": { "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", "optional": false } } } } },
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 6831af0..3aaff9a 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
@@ -147,21 +147,21 @@ google-drive:apiName/methodName
 
 There are 12 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
-|===
-| API Name | Description
-| *drive-apps* | The apps collection of methods
-| *drive-changes* | The changes collection of methods
-| *drive-channels* | The channels collection of methods
-| *drive-children* | The children collection of methods
-| *drive-comments* | The comments collection of methods
-| *drive-files* | The files collection of methods
-| *drive-parents* | The parents collection of methods
-| *drive-permissions* | The permissions collection of methods
-| *drive-properties* | The properties collection of methods
-| *drive-realtime* | The realtime collection of methods
-| *drive-replies* | The replies collection of methods
-| *drive-revisions* | The revisions collection of methods
+[width="100%",cols="2,1,7",options="header"]
+|===
+| API Name | Type | Description
+| *drive-apps* | Both | The apps collection of methods
+| *drive-changes* | Both | The changes collection of methods
+| *drive-channels* | Both | The channels collection of methods
+| *drive-children* | Both | The children collection of methods
+| *drive-comments* | Both | The comments collection of methods
+| *drive-files* | Both | The files collection of methods
+| *drive-parents* | Both | The parents collection of methods
+| *drive-permissions* | Both | The permissions collection of methods
+| *drive-properties* | Both | The properties collection of methods
+| *drive-realtime* | Both | The realtime collection of methods
+| *drive-replies* | Both | The replies collection of methods
+| *drive-revisions* | Both | The revisions collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -169,6 +169,10 @@ Each API is documented in the following sections to come.
 
 ==== API: drive-apps
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-apps API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -214,6 +218,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-changes
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-changes API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -263,6 +271,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-channels
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-channels API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -308,6 +320,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-children
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-children API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -368,6 +384,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-comments
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-comments API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -440,6 +460,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-files
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-files API has 11 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -536,6 +560,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-parents
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-parents API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -596,6 +624,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-permissions
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-permissions API has 7 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -672,6 +704,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-properties
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-properties API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -744,6 +780,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-realtime
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-realtime API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -796,6 +836,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-replies
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-replies API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -874,6 +918,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-revisions
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-revisions API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 fc5cf5a..1e9ce86 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.gmail.Gmail$Users$Drafts}.
  */
-@ApiParams(apiName = "drafts", description = "The drafts collection of methods",
+@ApiParams(apiName = "drafts", 
+           description = "The drafts collection of methods",
            apiMethods = {@ApiMethod(methodName = "create", description="Creates a new draft with the DRAFT label", signatures={"com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content)", "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content, com.google.api.client.http.AbstractInputStreamContent mediaContent)"}), @ApiMethod(methodName = "delete [...]
 @UriParams
 @Configurer
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 9530887..d5b175b 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.gmail.Gmail$Users}.
  */
-@ApiParams(apiName = "users", description = "The users collection of methods",
+@ApiParams(apiName = "users", 
+           description = "The users collection of methods",
            apiMethods = {@ApiMethod(methodName = "getProfile", description="Gets the current user's Gmail profile", signatures={"com.google.api.services.gmail.Gmail$Users$GetProfile getProfile(String userId)"}), @ApiMethod(methodName = "stop", description="Stop receiving push notifications for the given user mailbox", signatures={"com.google.api.services.gmail.Gmail$Users$Stop stop(String userId)"}), @ApiMethod(methodName = "watch", description="Set up or update a push notification watch [...]
 @UriParams
 @Configurer
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 0bcb618..fa65606 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.gmail.Gmail$Users$History}.
  */
-@ApiParams(apiName = "history", description = "The history collection of methods",
+@ApiParams(apiName = "history", 
+           description = "The history collection of methods",
            apiMethods = {@ApiMethod(methodName = "list", description="Lists the history of all changes to the given mailbox", signatures={"com.google.api.services.gmail.Gmail$Users$History$List list(String userId)"})}, aliases = {})
 @UriParams
 @Configurer
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 d21bd75..30749c1 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.gmail.Gmail$Users$Labels}.
  */
-@ApiParams(apiName = "labels", description = "The labels collection of methods",
+@ApiParams(apiName = "labels", 
+           description = "The labels collection of methods",
            apiMethods = {@ApiMethod(methodName = "create", description="Creates a new label", signatures={"com.google.api.services.gmail.Gmail$Users$Labels$Create create(String userId, com.google.api.services.gmail.model.Label content)"}), @ApiMethod(methodName = "delete", description="Immediately and permanently deletes the specified label and removes it from any messages and threads that it is applied to", signatures={"com.google.api.services.gmail.Gmail$Users$Labels$Delete delete(Stri [...]
 @UriParams
 @Configurer
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 e37bb4a..a0cdb39 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.gmail.Gmail$Users$Messages$Attachments}.
  */
-@ApiParams(apiName = "attachments", description = "The attachments collection of methods",
+@ApiParams(apiName = "attachments", 
+           description = "The attachments collection of methods",
            apiMethods = {@ApiMethod(methodName = "get", description="Gets the specified message attachment", signatures={"com.google.api.services.gmail.Gmail$Users$Messages$Attachments$Get get(String userId, String messageId, String id)"})}, aliases = {})
 @UriParams
 @Configurer
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 f686482..06f222f 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.gmail.Gmail$Users$Messages}.
  */
-@ApiParams(apiName = "messages", description = "The messages collection of methods",
+@ApiParams(apiName = "messages", 
+           description = "The messages collection of methods",
            apiMethods = {@ApiMethod(methodName = "attachments", description="An accessor for creating requests from the Attachments collection", signatures={"com.google.api.services.gmail.Gmail$Users$Messages$Attachments attachments()"}), @ApiMethod(methodName = "batchDelete", description="Deletes many messages by message ID", signatures={"com.google.api.services.gmail.Gmail$Users$Messages$BatchDelete batchDelete(String userId, com.google.api.services.gmail.model.BatchDeleteMessagesReque [...]
 @UriParams
 @Configurer
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 33aac64..3701527 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.gmail.Gmail$Users$Threads}.
  */
-@ApiParams(apiName = "threads", description = "The threads collection of methods",
+@ApiParams(apiName = "threads", 
+           description = "The threads collection of methods",
            apiMethods = {@ApiMethod(methodName = "delete", description="Immediately and permanently deletes the specified thread", signatures={"com.google.api.services.gmail.Gmail$Users$Threads$Delete delete(String userId, String id)"}), @ApiMethod(methodName = "get", description="Gets the specified thread", signatures={"com.google.api.services.gmail.Gmail$Users$Threads$Get get(String userId, String id)"}), @ApiMethod(methodName = "list", description="Lists the threads in the user's mail [...]
 @UriParams
 @Configurer
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 557876a..0969640 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,13 +67,13 @@
     "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 [...]
   },
   "apis": {
-    "attachments": { "description": "The attachments collection of methods", "methods": { "get": { "description": "Gets the specified message attachment", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$Attachments$Get get(String userId, String messageId, String id)" ] } } },
-    "drafts": { "description": "The drafts collection of methods", "methods": { "create": { "description": "Creates a new draft with the DRAFT label", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content)", "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content, com.google.api.client.http.AbstractInputStreamContent mediaCont [...]
-    "history": { "description": "The history collection of methods", "methods": { "list": { "description": "Lists the history of all changes to the given mailbox", "signatures": [ "com.google.api.services.gmail.Gmail$Users$History$List list(String userId)" ] } } },
-    "labels": { "description": "The labels collection of methods", "methods": { "create": { "description": "Creates a new label", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Labels$Create create(String userId, com.google.api.services.gmail.model.Label content)" ] }, "delete": { "description": "Immediately and permanently deletes the specified label and removes it from any messages and threads that it is applied to", "signatures": [ "com.google.api.services.gmail.Gmail$User [...]
-    "messages": { "description": "The messages collection of methods", "methods": { "batchDelete": { "description": "Deletes many messages by message ID", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$BatchDelete batchDelete(String userId, com.google.api.services.gmail.model.BatchDeleteMessagesRequest content)" ] }, "batchModify": { "description": "Modifies the labels on the specified messages", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$Bat [...]
-    "threads": { "description": "The threads collection of methods", "methods": { "delete": { "description": "Immediately and permanently deletes the specified thread", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Threads$Delete delete(String userId, String id)" ] }, "get": { "description": "Gets the specified thread", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Threads$Get get(String userId, String id)" ] }, "list": { "description": "Lists the threads in the [...]
-    "users": { "description": "The users collection of methods", "methods": { "getProfile": { "description": "Gets the current user's Gmail profile", "signatures": [ "com.google.api.services.gmail.Gmail$Users$GetProfile getProfile(String userId)" ] }, "stop": { "description": "Stop receiving push notifications for the given user mailbox", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Stop stop(String userId)" ] }, "watch": { "description": "Set up or update a push notificati [...]
+    "attachments": { "consumerOnly": false, "producerOnly": false, "description": "The attachments collection of methods", "methods": { "get": { "description": "Gets the specified message attachment", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$Attachments$Get get(String userId, String messageId, String id)" ] } } },
+    "drafts": { "consumerOnly": false, "producerOnly": false, "description": "The drafts collection of methods", "methods": { "create": { "description": "Creates a new draft with the DRAFT label", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content)", "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content, com.google.api.cl [...]
+    "history": { "consumerOnly": false, "producerOnly": false, "description": "The history collection of methods", "methods": { "list": { "description": "Lists the history of all changes to the given mailbox", "signatures": [ "com.google.api.services.gmail.Gmail$Users$History$List list(String userId)" ] } } },
+    "labels": { "consumerOnly": false, "producerOnly": false, "description": "The labels collection of methods", "methods": { "create": { "description": "Creates a new label", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Labels$Create create(String userId, com.google.api.services.gmail.model.Label content)" ] }, "delete": { "description": "Immediately and permanently deletes the specified label and removes it from any messages and threads that it is applied to", "signatures [...]
+    "messages": { "consumerOnly": false, "producerOnly": false, "description": "The messages collection of methods", "methods": { "batchDelete": { "description": "Deletes many messages by message ID", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$BatchDelete batchDelete(String userId, com.google.api.services.gmail.model.BatchDeleteMessagesRequest content)" ] }, "batchModify": { "description": "Modifies the labels on the specified messages", "signatures": [ "com.goog [...]
+    "threads": { "consumerOnly": false, "producerOnly": false, "description": "The threads collection of methods", "methods": { "delete": { "description": "Immediately and permanently deletes the specified thread", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Threads$Delete delete(String userId, String id)" ] }, "get": { "description": "Gets the specified thread", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Threads$Get get(String userId, String id)" ] }, "lis [...]
+    "users": { "consumerOnly": false, "producerOnly": false, "description": "The users collection of methods", "methods": { "getProfile": { "description": "Gets the current user's Gmail profile", "signatures": [ "com.google.api.services.gmail.Gmail$Users$GetProfile getProfile(String userId)" ] }, "stop": { "description": "Stop receiving push notifications for the given user mailbox", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Stop stop(String userId)" ] }, "watch": { "des [...]
   },
   "apiProperties": {
     "attachments": { "methods": { "get": { "properties": { "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", "optional": false }, "messageId": { "kind": "parameter", "displayName": "Message Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated":  [...]
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 907c577..d9a4eec 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
@@ -70,21 +70,21 @@
     "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apis": {
-    "attachments": { "description": "The attachments collection of methods", "methods": { "get": { "description": "Gets the specified message attachment", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$Attachments$Get get(String userId, String messageId, String id)" ] } } },
-    "drafts": { "description": "The drafts collection of methods", "methods": { "create": { "description": "Creates a new draft with the DRAFT label", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content)", "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content, com.google.api.client.http.AbstractInputStreamContent mediaCont [...]
-    "history": { "description": "The history collection of methods", "methods": { "list": { "description": "Lists the history of all changes to the given mailbox", "signatures": [ "com.google.api.services.gmail.Gmail$Users$History$List list(String userId)" ] } } },
-    "labels": { "description": "The labels collection of methods", "methods": { "create": { "description": "Creates a new label", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Labels$Create create(String userId, com.google.api.services.gmail.model.Label content)" ] }, "delete": { "description": "Immediately and permanently deletes the specified label and removes it from any messages and threads that it is applied to", "signatures": [ "com.google.api.services.gmail.Gmail$User [...]
-    "messages": { "description": "The messages collection of methods", "methods": { "batchDelete": { "description": "Deletes many messages by message ID", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$BatchDelete batchDelete(String userId, com.google.api.services.gmail.model.BatchDeleteMessagesRequest content)" ] }, "batchModify": { "description": "Modifies the labels on the specified messages", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$Bat [...]
-    "threads": { "description": "The threads collection of methods", "methods": { "delete": { "description": "Immediately and permanently deletes the specified thread", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Threads$Delete delete(String userId, String id)" ] }, "get": { "description": "Gets the specified thread", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Threads$Get get(String userId, String id)" ] }, "list": { "description": "Lists the threads in the [...]
-    "users": { "description": "The users collection of methods", "methods": { "getProfile": { "description": "Gets the current user's Gmail profile", "signatures": [ "com.google.api.services.gmail.Gmail$Users$GetProfile getProfile(String userId)" ] }, "stop": { "description": "Stop receiving push notifications for the given user mailbox", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Stop stop(String userId)" ] }, "watch": { "description": "Set up or update a push notificati [...]
+    "attachments": { "consumerOnly": false, "producerOnly": false, "description": "The attachments collection of methods", "methods": { "get": { "description": "Gets the specified message attachment", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$Attachments$Get get(String userId, String messageId, String id)" ] } } },
+    "drafts": { "consumerOnly": false, "producerOnly": false, "description": "The drafts collection of methods", "methods": { "create": { "description": "Creates a new draft with the DRAFT label", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content)", "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content, com.google.api.cl [...]
+    "history": { "consumerOnly": false, "producerOnly": false, "description": "The history collection of methods", "methods": { "list": { "description": "Lists the history of all changes to the given mailbox", "signatures": [ "com.google.api.services.gmail.Gmail$Users$History$List list(String userId)" ] } } },
+    "labels": { "consumerOnly": false, "producerOnly": false, "description": "The labels collection of methods", "methods": { "create": { "description": "Creates a new label", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Labels$Create create(String userId, com.google.api.services.gmail.model.Label content)" ] }, "delete": { "description": "Immediately and permanently deletes the specified label and removes it from any messages and threads that it is applied to", "signatures [...]
+    "messages": { "consumerOnly": false, "producerOnly": false, "description": "The messages collection of methods", "methods": { "batchDelete": { "description": "Deletes many messages by message ID", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$BatchDelete batchDelete(String userId, com.google.api.services.gmail.model.BatchDeleteMessagesRequest content)" ] }, "batchModify": { "description": "Modifies the labels on the specified messages", "signatures": [ "com.goog [...]
+    "threads": { "consumerOnly": false, "producerOnly": false, "description": "The threads collection of methods", "methods": { "delete": { "description": "Immediately and permanently deletes the specified thread", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Threads$Delete delete(String userId, String id)" ] }, "get": { "description": "Gets the specified thread", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Threads$Get get(String userId, String id)" ] }, "lis [...]
+    "users": { "consumerOnly": false, "producerOnly": false, "description": "The users collection of methods", "methods": { "getProfile": { "description": "Gets the current user's Gmail profile", "signatures": [ "com.google.api.services.gmail.Gmail$Users$GetProfile getProfile(String userId)" ] }, "stop": { "description": "Stop receiving push notifications for the given user mailbox", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Stop stop(String userId)" ] }, "watch": { "des [...]
   },
   "apiProperties": {
-    "attachments": { "methods": { "get": { "properties": { "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", "optional": false }, "messageId": { "kind": "parameter", "displayName": "Message Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecate [...]
-    "drafts": { "methods": { "create": { "properties": { "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", "optional": false }, "mediaContent": { "kind": "parameter", "displayName": "Media Content", "group": "consumer", " [...]
-    "history": { "methods": { "list": { "properties": { "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", "optional": false } } } } },
-    "labels": { "methods": { "create": { "properties": { "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", "optional": false }, "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "str [...]
-    "messages": { "methods": { "batchDelete": { "properties": { "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", "optional": false }, "userId": { "kind": "parameter", " [...]
-    "threads": { "methods": { "delete": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "ID of the Thread to delete", "optional": false }, "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": f [...]
-    "users": { "methods": { "getProfile": { "properties": { "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", "optional": false } } }, "stop": { "properties": { "userId": { "kind": "parameter", "displayName": "User Id [...]
+    "attachments": { "methods": { "get": { "properties": { "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", "optional": false }, "messageId": { "kind": "parameter", "displayName": "Message Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated":  [...]
+    "drafts": { "methods": { "create": { "properties": { "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", "optional": false }, "mediaContent": { "kind": "parameter", "displayName": "Media Content", "group": "common", "labe [...]
+    "history": { "methods": { "list": { "properties": { "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", "optional": false } } } } },
+    "labels": { "methods": { "create": { "properties": { "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", "optional": false }, "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string" [...]
+    "messages": { "methods": { "batchDelete": { "properties": { "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", "optional": false }, "userId": { "kind": "parameter", "di [...]
+    "threads": { "methods": { "delete": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "ID of the Thread to delete", "optional": false }, "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false [...]
+    "users": { "methods": { "getProfile": { "properties": { "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", "optional": false } } }, "stop": { "properties": { "userId": { "kind": "parameter", "displayName": "User Id", [...]
   }
 }
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 6839cb4..d6c38a2 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
@@ -143,16 +143,16 @@ google-mail:apiName/methodName
 
 There are 7 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *attachments* | The attachments collection of methods
-| *drafts* | The drafts collection of methods
-| *history* | The history collection of methods
-| *labels* | The labels collection of methods
-| *messages* | The messages collection of methods
-| *threads* | The threads collection of methods
-| *users* | The users collection of methods
+| API Name | Type | Description
+| *attachments* | Both | The attachments collection of methods
+| *drafts* | Both | The drafts collection of methods
+| *history* | Both | The history collection of methods
+| *labels* | Both | The labels collection of methods
+| *messages* | Both | The messages collection of methods
+| *threads* | Both | The threads collection of methods
+| *users* | Both | The users collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -160,6 +160,10 @@ Each API is documented in the following sections to come.
 
 ==== API: attachments
 
+*Both producer and consumer are supported*
+
+
+
 
 The attachments API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -207,6 +211,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: drafts
 
+*Both producer and consumer are supported*
+
+
+
 
 The drafts API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -287,6 +295,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: history
 
+*Both producer and consumer are supported*
+
+
+
 
 The history API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -332,6 +344,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: labels
 
+*Both producer and consumer are supported*
+
+
+
 
 The labels API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -404,6 +420,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: messages
 
+*Both producer and consumer are supported*
+
+
+
 
 The messages API has 11 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -509,6 +529,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: threads
 
+*Both producer and consumer are supported*
+
+
+
 
 The threads API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -580,6 +604,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: users
 
+*Both producer and consumer are supported*
+
+
+
 
 The users API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 32395c6..8aacc26 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
@@ -150,16 +150,16 @@ google-mail-stream:index
 
 There are 7 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *attachments* | The attachments collection of methods
-| *drafts* | The drafts collection of methods
-| *history* | The history collection of methods
-| *labels* | The labels collection of methods
-| *messages* | The messages collection of methods
-| *threads* | The threads collection of methods
-| *users* | The users collection of methods
+| API Name | Type | Description
+| *attachments* | Both | The attachments collection of methods
+| *drafts* | Both | The drafts collection of methods
+| *history* | Both | The history collection of methods
+| *labels* | Both | The labels collection of methods
+| *messages* | Both | The messages collection of methods
+| *threads* | Both | The threads collection of methods
+| *users* | Both | The users collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -167,6 +167,10 @@ Each API is documented in the following sections to come.
 
 ==== API: attachments
 
+*Both producer and consumer are supported*
+
+
+
 
 The attachments API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -214,6 +218,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: drafts
 
+*Both producer and consumer are supported*
+
+
+
 
 The drafts API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -294,6 +302,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: history
 
+*Both producer and consumer are supported*
+
+
+
 
 The history API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -339,6 +351,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: labels
 
+*Both producer and consumer are supported*
+
+
+
 
 The labels API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -411,6 +427,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: messages
 
+*Both producer and consumer are supported*
+
+
+
 
 The messages API has 11 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -516,6 +536,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: threads
 
+*Both producer and consumer are supported*
+
+
+
 
 The threads API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -587,6 +611,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: users
 
+*Both producer and consumer are supported*
+
+
+
 
 The users API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 14d3637..209587d 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.sheets.v4.Sheets$Spreadsheets}.
  */
-@ApiParams(apiName = "spreadsheets", description = "The spreadsheets collection of methods",
+@ApiParams(apiName = "spreadsheets", 
+           description = "The spreadsheets collection of methods",
            apiMethods = {@ApiMethod(methodName = "batchUpdate", description="Applies one or more updates to the spreadsheet", signatures={"com.google.api.services.sheets.v4.Sheets$Spreadsheets$BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest content)"}), @ApiMethod(methodName = "create", description="Creates a spreadsheet, returning the newly created spreadsheet", signatures={"com.google.api.services.sheets.v4.Sheets$Spre [...]
 @UriParams
 @Configurer
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 605cb81..5c65495 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values}.
  */
-@ApiParams(apiName = "data", description = "The values collection of methods",
+@ApiParams(apiName = "data", 
+           description = "The values collection of methods",
            apiMethods = {@ApiMethod(methodName = "append", description="Appends values to a spreadsheet", signatures={"com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values$Append append(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange content)"}), @ApiMethod(methodName = "batchClear", description="Clears one or more ranges of values from a spreadsheet", signatures={"com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values$BatchClear batch [...]
 @UriParams
 @Configurer
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 9091baa..fea7932 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
@@ -70,8 +70,8 @@
     "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 [...]
   },
   "apis": {
-    "data": { "description": "The values collection of methods", "methods": { "append": { "description": "Appends values to a spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values$Append append(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange content)" ] }, "batchClear": { "description": "Clears one or more ranges of values from a spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheet [...]
-    "spreadsheets": { "description": "The spreadsheets collection of methods", "methods": { "batchUpdate": { "description": "Applies one or more updates to the spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest content)" ] }, "create": { "description": "Creates a spreadsheet, returning the newly created spreadsheet", "signatures": [ "com.go [...]
+    "data": { "consumerOnly": false, "producerOnly": false, "description": "The values collection of methods", "methods": { "append": { "description": "Appends values to a spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values$Append append(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange content)" ] }, "batchClear": { "description": "Clears one or more ranges of values from a spreadsheet", "signatures": [ "com.go [...]
+    "spreadsheets": { "consumerOnly": false, "producerOnly": false, "description": "The spreadsheets collection of methods", "methods": { "batchUpdate": { "description": "Applies one or more updates to the spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest content)" ] }, "create": { "description": "Creates a spreadsheet, returning the newly [...]
   },
   "apiProperties": {
     "data": { "methods": { "append": { "properties": { "range": { "kind": "parameter", "displayName": "Range", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "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.", "optional": false }, "spreadsheetId": { "kind": "parameter", "displayName": "Spreadsheet Id", "group" [...]
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 042b033..ba5c80f 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
@@ -79,11 +79,11 @@
     "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apis": {
-    "data": { "description": "The values collection of methods", "methods": { "append": { "description": "Appends values to a spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values$Append append(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange content)" ] }, "batchClear": { "description": "Clears one or more ranges of values from a spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheet [...]
-    "spreadsheets": { "description": "The spreadsheets collection of methods", "methods": { "batchUpdate": { "description": "Applies one or more updates to the spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest content)" ] }, "create": { "description": "Creates a spreadsheet, returning the newly created spreadsheet", "signatures": [ "com.go [...]
+    "data": { "consumerOnly": false, "producerOnly": false, "description": "The values collection of methods", "methods": { "append": { "description": "Appends values to a spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values$Append append(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange content)" ] }, "batchClear": { "description": "Clears one or more ranges of values from a spreadsheet", "signatures": [ "com.go [...]
+    "spreadsheets": { "consumerOnly": false, "producerOnly": false, "description": "The spreadsheets collection of methods", "methods": { "batchUpdate": { "description": "Applies one or more updates to the spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest content)" ] }, "create": { "description": "Creates a spreadsheet, returning the newly [...]
   },
   "apiProperties": {
-    "data": { "methods": { "append": { "properties": { "range": { "kind": "parameter", "displayName": "Range", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "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.", "optional": false }, "spreadsheetId": { "kind": "parameter", "displayName": "Spreadsheet Id", "grou [...]
-    "spreadsheets": { "methods": { "batchUpdate": { "properties": { "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", "optional": false }, "spreadshe [...]
+    "data": { "methods": { "append": { "properties": { "range": { "kind": "parameter", "displayName": "Range", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "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.", "optional": false }, "spreadsheetId": { "kind": "parameter", "displayName": "Spreadsheet Id", "group" [...]
+    "spreadsheets": { "methods": { "batchUpdate": { "properties": { "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", "optional": false }, "spreadsheet [...]
   }
 }
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 127d348..1a8c79f 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
@@ -150,11 +150,11 @@ google-sheets:apiName/methodName
 
 There are 2 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *data* | The values collection of methods
-| *spreadsheets* | The spreadsheets collection of methods
+| API Name | Type | Description
+| *data* | Both | The values collection of methods
+| *spreadsheets* | Both | The spreadsheets collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -162,6 +162,10 @@ Each API is documented in the following sections to come.
 
 ==== API: data
 
+*Both producer and consumer are supported*
+
+
+
 
 The data API has 10 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -252,16 +256,12 @@ The `inBody` parameter overrides message header, i.e. the endpoint parameter `in
 would override a `CamelGoogleSheets.myParameterNameHere` header.
 
 
-Any of the producer endpoints can be used as a consumer endpoint.
-Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
-By default Consumer endpoints that return an array or collection will generate one exchange per element,
-and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
-to return a single exchange for the entire list or array.
 
+==== API: spreadsheets
 
+*Both producer and consumer are supported*
 
 
-==== API: spreadsheets
 
 
 The spreadsheets API has 4 method(s) which is represented by the following method signatures
@@ -317,13 +317,6 @@ Any of the parameters can be provided in either the endpoint URI, or dynamically
 The message header name must be of the format `CamelGoogleSheets.parameter`.
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `CamelGoogleSheets.myParameterNameHere` header.
-
-
-Any of the producer endpoints can be used as a consumer endpoint.
-Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
-By default Consumer endpoints that return an array or collection will generate one exchange per element,
-and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
-to return a single exchange for the entire list or array.
 // 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 bc13a34..bfa2d7b 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
@@ -157,11 +157,11 @@ google-sheets-stream:apiName
 
 There are 2 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *data* | The values collection of methods
-| *spreadsheets* | The spreadsheets collection of methods
+| API Name | Type | Description
+| *data* | Both | The values collection of methods
+| *spreadsheets* | Both | The spreadsheets collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -169,6 +169,10 @@ Each API is documented in the following sections to come.
 
 ==== API: data
 
+*Both producer and consumer are supported*
+
+
+
 
 The data API has 10 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -259,16 +263,12 @@ The `inBody` parameter overrides message header, i.e. the endpoint parameter `in
 would override a `CamelGoogleSheetsStream.myParameterNameHere` header.
 
 
-Any of the producer endpoints can be used as a consumer endpoint.
-Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
-By default Consumer endpoints that return an array or collection will generate one exchange per element,
-and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
-to return a single exchange for the entire list or array.
 
+==== API: spreadsheets
 
+*Both producer and consumer are supported*
 
 
-==== API: spreadsheets
 
 
 The spreadsheets API has 4 method(s) which is represented by the following method signatures
@@ -324,13 +324,6 @@ Any of the parameters can be provided in either the endpoint URI, or dynamically
 The message header name must be of the format `CamelGoogleSheetsStream.parameter`.
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `CamelGoogleSheetsStream.myParameterNameHere` header.
-
-
-Any of the producer endpoints can be used as a consumer endpoint.
-Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
-By default Consumer endpoints that return an array or collection will generate one exchange per element,
-and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
-to return a single exchange for the entire list or array.
 // endpoint options: END
 
 == More information
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 390b547..9d8fd71 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.olingo2.api.Olingo2App}.
  */
-@ApiParams(apiName = "DEFAULT", description = "Olingo2 Client Api Interface",
+@ApiParams(apiName = "DEFAULT", 
+           description = "Olingo2 Client Api Interface",
            apiMethods = {@ApiMethod(methodName = "batch", description="Executes a batch request", signatures={"void batch(org.apache.olingo.odata2.api.edm.Edm edm, java.util.Map<String, String> endpointHttpHeaders, Object data, org.apache.camel.component.olingo2.api.Olingo2ResponseHandler<java.util.List<org.apache.camel.component.olingo2.api.batch.Olingo2BatchResponse>> responseHandler)"}), @ApiMethod(methodName = "create", description="Creates a new OData resource", signatures={"void cr [...]
 @UriParams
 @Configurer
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 d2b2388..9b7645f 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,7 +83,7 @@
     "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" }
   },
   "apis": {
-    "DEFAULT": { "description": "Olingo2 Client Api Interface", "methods": { "batch": { "description": "Executes a batch request", "signatures": [ "void batch(org.apache.olingo.odata2.api.edm.Edm edm, java.util.Map<String, String> endpointHttpHeaders, Object data, org.apache.camel.component.olingo2.api.Olingo2ResponseHandler<java.util.List<org.apache.camel.component.olingo2.api.batch.Olingo2BatchResponse>> responseHandler)" ] }, "create": { "description": "Creates a new OData resource",  [...]
+    "DEFAULT": { "consumerOnly": false, "producerOnly": false, "description": "Olingo2 Client Api Interface", "methods": { "batch": { "description": "Executes a batch request", "signatures": [ "void batch(org.apache.olingo.odata2.api.edm.Edm edm, java.util.Map<String, String> endpointHttpHeaders, Object data, org.apache.camel.component.olingo2.api.Olingo2ResponseHandler<java.util.List<org.apache.camel.component.olingo2.api.batch.Olingo2BatchResponse>> responseHandler)" ] }, "create": { " [...]
   },
   "apiProperties": {
     "DEFAULT": { "methods": { "batch": { "properties": { "data": { "kind": "parameter", "displayName": "Data", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "secret": false, "description": "Ordered org.apache.camel.component.olingo2.api.batch.Olingo2BatchRequest list", "optional": false }, "edm": { "kind": "parameter", "displayName": "Edm", "group": "common", "label": "", "required": false, "type": "object", "jav [...]
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 fed3aa8..c87e3bb 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
@@ -163,10 +163,10 @@ olingo2:apiName/methodName
 
 There are 1 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *DEFAULT* | Olingo2 Client Api Interface
+| API Name | Type | Description
+| *DEFAULT* | Both | Olingo2 Client Api Interface
 |===
 
 Each API is documented in the following sections to come.
@@ -174,6 +174,10 @@ Each API is documented in the following sections to come.
 
 ==== API: DEFAULT
 
+*Both producer and consumer are supported*
+
+
+
 
 The DEFAULT API has 8 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 1611505..6442f0f 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.olingo4.api.Olingo4App}.
  */
-@ApiParams(apiName = "DEFAULT", description = "Olingo4 Client Api Interface",
+@ApiParams(apiName = "DEFAULT", 
+           description = "Olingo4 Client Api Interface",
            apiMethods = {@ApiMethod(methodName = "action", description="Calls a OData action", signatures={"void action(org.apache.olingo.commons.api.edm.Edm edm, String resourcePath, java.util.Map<String, String> endpointHttpHeaders, Object data, org.apache.camel.component.olingo4.api.Olingo4ResponseHandler responseHandler)"}), @ApiMethod(methodName = "batch", description="Executes a batch request", signatures={"void batch(org.apache.olingo.commons.api.edm.Edm edm, java.util.Map<String, [...]
 @UriParams
 @Configurer
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 e1e3c1c..34dfe29 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,7 +79,7 @@
     "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" }
   },
   "apis": {
-    "DEFAULT": { "description": "Olingo4 Client Api Interface", "methods": { "action": { "description": "Calls a OData action", "signatures": [ "void action(org.apache.olingo.commons.api.edm.Edm edm, String resourcePath, java.util.Map<String, String> endpointHttpHeaders, Object data, org.apache.camel.component.olingo4.api.Olingo4ResponseHandler responseHandler)" ] }, "batch": { "description": "Executes a batch request", "signatures": [ "void batch(org.apache.olingo.commons.api.edm.Edm ed [...]
+    "DEFAULT": { "consumerOnly": false, "producerOnly": false, "description": "Olingo4 Client Api Interface", "methods": { "action": { "description": "Calls a OData action", "signatures": [ "void action(org.apache.olingo.commons.api.edm.Edm edm, String resourcePath, java.util.Map<String, String> endpointHttpHeaders, Object data, org.apache.camel.component.olingo4.api.Olingo4ResponseHandler responseHandler)" ] }, "batch": { "description": "Executes a batch request", "signatures": [ "void  [...]
   },
   "apiProperties": {
     "DEFAULT": { "methods": { "action": { "properties": { "data": { "kind": "parameter", "displayName": "Data", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "secret": false, "description": "Action data", "optional": true }, "edm": { "kind": "parameter", "displayName": "Edm", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.olingo.commons.api.edm.Edm", "deprecated": fal [...]
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 75afe7b..422d0e7 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
@@ -157,10 +157,10 @@ olingo4:apiName/methodName
 
 There are 1 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *DEFAULT* | Olingo4 Client Api Interface
+| API Name | Type | Description
+| *DEFAULT* | Both | Olingo4 Client Api Interface
 |===
 
 Each API is documented in the following sections to come.
@@ -168,6 +168,10 @@ Each API is documented in the following sections to come.
 
 ==== API: DEFAULT
 
+*Both producer and consumer are supported*
+
+
+
 
 The DEFAULT API has 9 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
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 753c073..04bd1d3 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.Account}.
  */
-@ApiParams(apiName = "account", description = "",
+@ApiParams(apiName = "account", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a AccountCreator to execute create", signatures={"com.twilio.rest.api.v2010.AccountCreator creator()"}), @ApiMethod(methodName = "fetcher", description="Create a AccountFetcher to execute fetch", signatures={"com.twilio.rest.api.v2010.AccountFetcher fetcher()", "com.twilio.rest.api.v2010.AccountFetcher fetcher(String pathSid)"}), @ApiMethod(methodName = "reader", description="Create a AccountReader to execute [...]
 @UriParams
 @Configurer
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 5432cd4..3a73dad 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.address.DependentPhoneNumber}.
  */
-@ApiParams(apiName = "address-dependent-phone-number", description = "",
+@ApiParams(apiName = "address-dependent-phone-number", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "reader", description="Create a DependentPhoneNumberReader to execute read", signatures={"com.twilio.rest.api.v2010.account.address.DependentPhoneNumberReader reader(String pathAddressSid)", "com.twilio.rest.api.v2010.account.address.DependentPhoneNumberReader reader(String pathAccountSid, String pathAddressSid)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 ae1fee9..fb54c7a 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.Address}.
  */
-@ApiParams(apiName = "address", description = "",
+@ApiParams(apiName = "address", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a AddressCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.AddressCreator creator(String customerName, String street, String city, String region, String postalCode, String isoCountry)", "com.twilio.rest.api.v2010.account.AddressCreator creator(String pathAccountSid, String customerName, String street, String city, String region, String postalCode, String isoCountry)"}), @ApiMethod(met [...]
 @UriParams
 @Configurer
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 42ff85f..f6f3776 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.Application}.
  */
-@ApiParams(apiName = "application", description = "",
+@ApiParams(apiName = "application", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a ApplicationCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.ApplicationCreator creator()", "com.twilio.rest.api.v2010.account.ApplicationCreator creator(String pathAccountSid)"}), @ApiMethod(methodName = "deleter", description="Create a ApplicationDeleter to execute delete", signatures={"com.twilio.rest.api.v2010.account.ApplicationDeleter deleter(String pathSid)", "com.twilio.rest [...]
 @UriParams
 @Configurer
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 7173367..beb4bbb 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.AvailablePhoneNumberCountry}.
  */
-@ApiParams(apiName = "available-phone-number-country", description = "",
+@ApiParams(apiName = "available-phone-number-country", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "fetcher", description="Create a AvailablePhoneNumberCountryFetcher to execute fetch", signatures={"com.twilio.rest.api.v2010.account.AvailablePhoneNumberCountryFetcher fetcher(String pathCountryCode)", "com.twilio.rest.api.v2010.account.AvailablePhoneNumberCountryFetcher fetcher(String pathAccountSid, String pathCountryCode)"}), @ApiMethod(methodName = "reader", description="Create a AvailablePhoneNumberCountryReader to execute read", sig [...]
 @UriParams
 @Configurer
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 20c2d83..569bea0 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.availablephonenumbercountry.Local}.
  */
-@ApiParams(apiName = "available-phone-number-country-local", description = "",
+@ApiParams(apiName = "available-phone-number-country-local", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "reader", description="Create a LocalReader to execute read", signatures={"com.twilio.rest.api.v2010.account.availablephonenumbercountry.LocalReader reader(String pathCountryCode)", "com.twilio.rest.api.v2010.account.availablephonenumbercountry.LocalReader reader(String pathAccountSid, String pathCountryCode)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 512ad56..afa7184 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.availablephonenumbercountry.Mobile}.
  */
-@ApiParams(apiName = "available-phone-number-country-mobile", description = "",
+@ApiParams(apiName = "available-phone-number-country-mobile", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "reader", description="Create a MobileReader to execute read", signatures={"com.twilio.rest.api.v2010.account.availablephonenumbercountry.MobileReader reader(String pathCountryCode)", "com.twilio.rest.api.v2010.account.availablephonenumbercountry.MobileReader reader(String pathAccountSid, String pathCountryCode)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 d0bc431..9868b4f 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.availablephonenumbercountry.TollFree}.
  */
-@ApiParams(apiName = "available-phone-number-country-toll-free", description = "",
+@ApiParams(apiName = "available-phone-number-country-toll-free", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "reader", description="Create a TollFreeReader to execute read", signatures={"com.twilio.rest.api.v2010.account.availablephonenumbercountry.TollFreeReader reader(String pathCountryCode)", "com.twilio.rest.api.v2010.account.availablephonenumbercountry.TollFreeReader reader(String pathAccountSid, String pathCountryCode)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 eecf824..be60cdf 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.Call}.
  */
-@ApiParams(apiName = "call", description = "",
+@ApiParams(apiName = "call", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a CallCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.CallCreator creator(com.twilio.type.Endpoint to, com.twilio.type.Endpoint from, String applicationSid)", "com.twilio.rest.api.v2010.account.CallCreator creator(com.twilio.type.Endpoint to, com.twilio.type.Endpoint from, com.twilio.type.Twiml twiml)", "com.twilio.rest.api.v2010.account.CallCreator creator(com.twilio.type.Endpoint  [...]
 @UriParams
 @Configurer
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 b23e1c6..bca0c09 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.call.Feedback}.
  */
-@ApiParams(apiName = "call-feedback", description = "",
+@ApiParams(apiName = "call-feedback", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a FeedbackCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.call.FeedbackCreator creator(String pathCallSid, Integer qualityScore)", "com.twilio.rest.api.v2010.account.call.FeedbackCreator creator(String pathAccountSid, String pathCallSid, Integer qualityScore)"}), @ApiMethod(methodName = "fetcher", description="Create a FeedbackFetcher to execute fetch", signatures={"com.twilio.rest. [...]
 @UriParams
 @Configurer
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 a3b6b75..6aba716 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.call.FeedbackSummary}.
  */
-@ApiParams(apiName = "call-feedback-summary", description = "",
+@ApiParams(apiName = "call-feedback-summary", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a FeedbackSummaryCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.call.FeedbackSummaryCreator creator(org.joda.time.LocalDate startDate, org.joda.time.LocalDate endDate)", "com.twilio.rest.api.v2010.account.call.FeedbackSummaryCreator creator(String pathAccountSid, org.joda.time.LocalDate startDate, org.joda.time.LocalDate endDate)"}), @ApiMethod(methodName = "deleter", description=" [...]
 @UriParams
 @Configurer
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 0069160..b0e1244 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.call.Notification}.
  */
-@ApiParams(apiName = "call-notification", description = "",
+@ApiParams(apiName = "call-notification", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "fetcher", description="Create a NotificationFetcher to execute fetch", signatures={"com.twilio.rest.api.v2010.account.call.NotificationFetcher fetcher(String pathCallSid, String pathSid)", "com.twilio.rest.api.v2010.account.call.NotificationFetcher fetcher(String pathAccountSid, String pathCallSid, String pathSid)"}), @ApiMethod(methodName = "reader", description="Create a NotificationReader to execute read", signatures={"com.twilio.rest. [...]
 @UriParams
 @Configurer
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 5fc4128..9391f35 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.call.Recording}.
  */
-@ApiParams(apiName = "call-recording", description = "",
+@ApiParams(apiName = "call-recording", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a RecordingCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.call.RecordingCreator creator(String pathCallSid)", "com.twilio.rest.api.v2010.account.call.RecordingCreator creator(String pathAccountSid, String pathCallSid)"}), @ApiMethod(methodName = "deleter", description="Create a RecordingDeleter to execute delete", signatures={"com.twilio.rest.api.v2010.account.call.RecordingDeleter [...]
 @UriParams
 @Configurer
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 3180cc1..4f88005 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.Conference}.
  */
-@ApiParams(apiName = "conference", description = "",
+@ApiParams(apiName = "conference", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "fetcher", description="Create a ConferenceFetcher to execute fetch", signatures={"com.twilio.rest.api.v2010.account.ConferenceFetcher fetcher(String pathSid)", "com.twilio.rest.api.v2010.account.ConferenceFetcher fetcher(String pathAccountSid, String pathSid)"}), @ApiMethod(methodName = "reader", description="Create a ConferenceReader to execute read", signatures={"com.twilio.rest.api.v2010.account.ConferenceReader reader()", "com.twilio. [...]
 @UriParams
 @Configurer
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 e4fcb01..8e9c41e 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.conference.Participant}.
  */
-@ApiParams(apiName = "conference-participant", description = "",
+@ApiParams(apiName = "conference-participant", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a ParticipantCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.conference.ParticipantCreator creator(String pathConferenceSid, com.twilio.type.PhoneNumber from, com.twilio.type.PhoneNumber to)", "com.twilio.rest.api.v2010.account.conference.ParticipantCreator creator(String pathAccountSid, String pathConferenceSid, com.twilio.type.PhoneNumber from, com.twilio.type.PhoneNumber to)"}),  [...]
 @UriParams
 @Configurer
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 8605712..c4bcc99 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.ConnectApp}.
  */
-@ApiParams(apiName = "connect-app", description = "",
+@ApiParams(apiName = "connect-app", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "deleter", description="Create a ConnectAppDeleter to execute delete", signatures={"com.twilio.rest.api.v2010.account.ConnectAppDeleter deleter(String pathSid)", "com.twilio.rest.api.v2010.account.ConnectAppDeleter deleter(String pathAccountSid, String pathSid)"}), @ApiMethod(methodName = "fetcher", description="Create a ConnectAppFetcher to execute fetch", signatures={"com.twilio.rest.api.v2010.account.ConnectAppFetcher fetcher(String pat [...]
 @UriParams
 @Configurer
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 123c8f0..f908236 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.IncomingPhoneNumber}.
  */
-@ApiParams(apiName = "incoming-phone-number", description = "",
+@ApiParams(apiName = "incoming-phone-number", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a IncomingPhoneNumberCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.IncomingPhoneNumberCreator creator(String areaCode)", "com.twilio.rest.api.v2010.account.IncomingPhoneNumberCreator creator(com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010.account.IncomingPhoneNumberCreator creator(String pathAccountSid, String areaCode)", "com.twilio.rest.api.v2010.account.In [...]
 @UriParams
 @Configurer
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 5e0387d..d84d987 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.incomingphonenumber.Local}.
  */
-@ApiParams(apiName = "incoming-phone-number-local", description = "",
+@ApiParams(apiName = "incoming-phone-number-local", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a LocalCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.incomingphonenumber.LocalCreator creator(com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010.account.incomingphonenumber.LocalCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)"}), @ApiMethod(methodName = "reader", description="Create a LocalReader to execute read", signatures={"com [...]
 @UriParams
 @Configurer
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 3e1aaba..407280d 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.incomingphonenumber.Mobile}.
  */
-@ApiParams(apiName = "incoming-phone-number-mobile", description = "",
+@ApiParams(apiName = "incoming-phone-number-mobile", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a MobileCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.incomingphonenumber.MobileCreator creator(com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010.account.incomingphonenumber.MobileCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)"}), @ApiMethod(methodName = "reader", description="Create a MobileReader to execute read", signatures={ [...]
 @UriParams
 @Configurer
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 bc9dc6f..00fc7a9 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.incomingphonenumber.TollFree}.
  */
-@ApiParams(apiName = "incoming-phone-number-toll-free", description = "",
+@ApiParams(apiName = "incoming-phone-number-toll-free", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a TollFreeCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.incomingphonenumber.TollFreeCreator creator(com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010.account.incomingphonenumber.TollFreeCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)"}), @ApiMethod(methodName = "reader", description="Create a TollFreeReader to execute read", sign [...]
 @UriParams
 @Configurer
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 aac78e5..8ef3f7c 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.Key}.
  */
-@ApiParams(apiName = "key", description = "",
+@ApiParams(apiName = "key", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "deleter", description="Create a KeyDeleter to execute delete", signatures={"com.twilio.rest.api.v2010.account.KeyDeleter deleter(String pathSid)", "com.twilio.rest.api.v2010.account.KeyDeleter deleter(String pathAccountSid, String pathSid)"}), @ApiMethod(methodName = "fetcher", description="Create a KeyFetcher to execute fetch", signatures={"com.twilio.rest.api.v2010.account.KeyFetcher fetcher(String pathSid)", "com.twilio.rest.api.v2010. [...]
 @UriParams
 @Configurer
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 464afe9..4568ac5 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.Message}.
  */
-@ApiParams(apiName = "message", description = "",
+@ApiParams(apiName = "message", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a MessageCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.MessageCreator creator(com.twilio.type.PhoneNumber to, com.twilio.type.PhoneNumber from, String body)", "com.twilio.rest.api.v2010.account.MessageCreator creator(com.twilio.type.PhoneNumber to, com.twilio.type.PhoneNumber from, java.util.List<java.net.URI> mediaUrl)", "com.twilio.rest.api.v2010.account.MessageCreator creator(c [...]
 @UriParams
 @Configurer
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 b2ee92f..4282b68 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.message.Feedback}.
  */
-@ApiParams(apiName = "message-feedback", description = "",
+@ApiParams(apiName = "message-feedback", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a FeedbackCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.message.FeedbackCreator creator(String pathMessageSid)", "com.twilio.rest.api.v2010.account.message.FeedbackCreator creator(String pathAccountSid, String pathMessageSid)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 c7ecfe4..857bcf1 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.message.Media}.
  */
-@ApiParams(apiName = "message-media", description = "",
+@ApiParams(apiName = "message-media", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "deleter", description="Create a MediaDeleter to execute delete", signatures={"com.twilio.rest.api.v2010.account.message.MediaDeleter deleter(String pathMessageSid, String pathSid)", "com.twilio.rest.api.v2010.account.message.MediaDeleter deleter(String pathAccountSid, String pathMessageSid, String pathSid)"}), @ApiMethod(methodName = "fetcher", description="Create a MediaFetcher to execute fetch", signatures={"com.twilio.rest.api.v2010.ac [...]
 @UriParams
 @Configurer
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 ca51f9f..e60399c 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.NewKey}.
  */
-@ApiParams(apiName = "new-key", description = "",
+@ApiParams(apiName = "new-key", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a NewKeyCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.NewKeyCreator creator()", "com.twilio.rest.api.v2010.account.NewKeyCreator creator(String pathAccountSid)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 44ea41f..b5c697f 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.NewSigningKey}.
  */
-@ApiParams(apiName = "new-signing-key", description = "",
+@ApiParams(apiName = "new-signing-key", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a NewSigningKeyCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.NewSigningKeyCreator creator()", "com.twilio.rest.api.v2010.account.NewSigningKeyCreator creator(String pathAccountSid)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 a88b6ba..70e63be 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.Notification}.
  */
-@ApiParams(apiName = "notification", description = "",
+@ApiParams(apiName = "notification", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "fetcher", description="Create a NotificationFetcher to execute fetch", signatures={"com.twilio.rest.api.v2010.account.NotificationFetcher fetcher(String pathSid)", "com.twilio.rest.api.v2010.account.NotificationFetcher fetcher(String pathAccountSid, String pathSid)"}), @ApiMethod(methodName = "reader", description="Create a NotificationReader to execute read", signatures={"com.twilio.rest.api.v2010.account.NotificationReader reader()", "c [...]
 @UriParams
 @Configurer
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 70fe860..68b1889 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.OutgoingCallerId}.
  */
-@ApiParams(apiName = "outgoing-caller-id", description = "",
+@ApiParams(apiName = "outgoing-caller-id", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "deleter", description="Create a OutgoingCallerIdDeleter to execute delete", signatures={"com.twilio.rest.api.v2010.account.OutgoingCallerIdDeleter deleter(String pathSid)", "com.twilio.rest.api.v2010.account.OutgoingCallerIdDeleter deleter(String pathAccountSid, String pathSid)"}), @ApiMethod(methodName = "fetcher", description="Create a OutgoingCallerIdFetcher to execute fetch", signatures={"com.twilio.rest.api.v2010.account.OutgoingCall [...]
 @UriParams
 @Configurer
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 baf4611..5a5e76d 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.Queue}.
  */
-@ApiParams(apiName = "queue", description = "",
+@ApiParams(apiName = "queue", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a QueueCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.QueueCreator creator(String friendlyName)", "com.twilio.rest.api.v2010.account.QueueCreator creator(String pathAccountSid, String friendlyName)"}), @ApiMethod(methodName = "deleter", description="Create a QueueDeleter to execute delete", signatures={"com.twilio.rest.api.v2010.account.QueueDeleter deleter(String pathSid)", "com.t [...]
 @UriParams
 @Configurer
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 d013b40..420fbaf 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.queue.Member}.
  */
-@ApiParams(apiName = "queue-member", description = "",
+@ApiParams(apiName = "queue-member", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "fetcher", description="Create a MemberFetcher to execute fetch", signatures={"com.twilio.rest.api.v2010.account.queue.MemberFetcher fetcher(String pathQueueSid, String pathCallSid)", "com.twilio.rest.api.v2010.account.queue.MemberFetcher fetcher(String pathAccountSid, String pathQueueSid, String pathCallSid)"}), @ApiMethod(methodName = "reader", description="Create a MemberReader to execute read", signatures={"com.twilio.rest.api.v2010.ac [...]
 @UriParams
 @Configurer
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 4c761d1..e4054d4 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.recording.AddOnResult}.
  */
-@ApiParams(apiName = "recording-add-on-result", description = "",
+@ApiParams(apiName = "recording-add-on-result", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "deleter", description="Create a AddOnResultDeleter to execute delete", signatures={"com.twilio.rest.api.v2010.account.recording.AddOnResultDeleter deleter(String pathReferenceSid, String pathSid)", "com.twilio.rest.api.v2010.account.recording.AddOnResultDeleter deleter(String pathAccountSid, String pathReferenceSid, String pathSid)"}), @ApiMethod(methodName = "fetcher", description="Create a AddOnResultFetcher to execute fetch", signature [...]
 @UriParams
 @Configurer
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 bc6a44d..e3174d5 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.recording.addonresult.Payload}.
  */
-@ApiParams(apiName = "recording-add-on-result-payload", description = "",
+@ApiParams(apiName = "recording-add-on-result-payload", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "deleter", description="Create a PayloadDeleter to execute delete", signatures={"com.twilio.rest.api.v2010.account.recording.addonresult.PayloadDeleter deleter(String pathReferenceSid, String pathAddOnResultSid, String pathSid)", "com.twilio.rest.api.v2010.account.recording.addonresult.PayloadDeleter deleter(String pathAccountSid, String pathReferenceSid, String pathAddOnResultSid, String pathSid)"}), @ApiMethod(methodName = "fetcher", des [...]
 @UriParams
 @Configurer
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 622ae5f..59d933d 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.Recording}.
  */
-@ApiParams(apiName = "recording", description = "",
+@ApiParams(apiName = "recording", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "deleter", description="Create a RecordingDeleter to execute delete", signatures={"com.twilio.rest.api.v2010.account.RecordingDeleter deleter(String pathSid)", "com.twilio.rest.api.v2010.account.RecordingDeleter deleter(String pathAccountSid, String pathSid)"}), @ApiMethod(methodName = "fetcher", description="Create a RecordingFetcher to execute fetch", signatures={"com.twilio.rest.api.v2010.account.RecordingFetcher fetcher(String pathSid) [...]
 @UriParams
 @Configurer
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 6fa830a..04d7951 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.recording.Transcription}.
  */
-@ApiParams(apiName = "recording-transcription", description = "",
+@ApiParams(apiName = "recording-transcription", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "deleter", description="Create a TranscriptionDeleter to execute delete", signatures={"com.twilio.rest.api.v2010.account.recording.TranscriptionDeleter deleter(String pathRecordingSid, String pathSid)", "com.twilio.rest.api.v2010.account.recording.TranscriptionDeleter deleter(String pathAccountSid, String pathRecordingSid, String pathSid)"}), @ApiMethod(methodName = "fetcher", description="Create a TranscriptionFetcher to execute fetch", s [...]
 @UriParams
 @Configurer
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 4587819..a0cc1aa 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.ShortCode}.
  */
-@ApiParams(apiName = "short-code", description = "",
+@ApiParams(apiName = "short-code", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "fetcher", description="Create a ShortCodeFetcher to execute fetch", signatures={"com.twilio.rest.api.v2010.account.ShortCodeFetcher fetcher(String pathSid)", "com.twilio.rest.api.v2010.account.ShortCodeFetcher fetcher(String pathAccountSid, String pathSid)"}), @ApiMethod(methodName = "reader", description="Create a ShortCodeReader to execute read", signatures={"com.twilio.rest.api.v2010.account.ShortCodeReader reader()", "com.twilio.rest. [...]
 @UriParams
 @Configurer
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 2957af0..2651422 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.SigningKey}.
  */
-@ApiParams(apiName = "signing-key", description = "",
+@ApiParams(apiName = "signing-key", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "deleter", description="Create a SigningKeyDeleter to execute delete", signatures={"com.twilio.rest.api.v2010.account.SigningKeyDeleter deleter(String pathSid)", "com.twilio.rest.api.v2010.account.SigningKeyDeleter deleter(String pathAccountSid, String pathSid)"}), @ApiMethod(methodName = "fetcher", description="Create a SigningKeyFetcher to execute fetch", signatures={"com.twilio.rest.api.v2010.account.SigningKeyFetcher fetcher(String pat [...]
 @UriParams
 @Configurer
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 fcc8849..4d02159 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.sip.credentiallist.Credential}.
  */
-@ApiParams(apiName = "sip-credential-list-credential", description = "",
+@ApiParams(apiName = "sip-credential-list-credential", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a CredentialCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.sip.credentiallist.CredentialCreator creator(String pathCredentialListSid, String username, String password)", "com.twilio.rest.api.v2010.account.sip.credentiallist.CredentialCreator creator(String pathAccountSid, String pathCredentialListSid, String username, String password)"}), @ApiMethod(methodName = "deleter", descript [...]
 @UriParams
 @Configurer
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 e3eabb6..2017bbf 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.sip.CredentialList}.
  */
-@ApiParams(apiName = "sip-credential-list", description = "",
+@ApiParams(apiName = "sip-credential-list", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a CredentialListCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.sip.CredentialListCreator creator(String friendlyName)", "com.twilio.rest.api.v2010.account.sip.CredentialListCreator creator(String pathAccountSid, String friendlyName)"}), @ApiMethod(methodName = "deleter", description="Create a CredentialListDeleter to execute delete", signatures={"com.twilio.rest.api.v2010.account.s [...]
 @UriParams
 @Configurer
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 23acbe6..28998db 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.sip.domain.CredentialListMapping}.
  */
-@ApiParams(apiName = "sip-domain-credential-list-mapping", description = "",
+@ApiParams(apiName = "sip-domain-credential-list-mapping", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a CredentialListMappingCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.sip.domain.CredentialListMappingCreator creator(String pathDomainSid, String credentialListSid)", "com.twilio.rest.api.v2010.account.sip.domain.CredentialListMappingCreator creator(String pathAccountSid, String pathDomainSid, String credentialListSid)"}), @ApiMethod(methodName = "deleter", description="Create a C [...]
 @UriParams
 @Configurer
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 ae37ce5..9b7bb4a 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.sip.Domain}.
  */
-@ApiParams(apiName = "sip-domain", description = "",
+@ApiParams(apiName = "sip-domain", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a DomainCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.sip.DomainCreator creator(String domainName)", "com.twilio.rest.api.v2010.account.sip.DomainCreator creator(String pathAccountSid, String domainName)"}), @ApiMethod(methodName = "deleter", description="Create a DomainDeleter to execute delete", signatures={"com.twilio.rest.api.v2010.account.sip.DomainDeleter deleter(String path [...]
 @UriParams
 @Configurer
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 6734ac7..4d7761c 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.sip.domain.IpAccessControlListMapping}.
  */
-@ApiParams(apiName = "sip-domain-ip-access-control-list-mapping", description = "",
+@ApiParams(apiName = "sip-domain-ip-access-control-list-mapping", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a IpAccessControlListMappingCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.sip.domain.IpAccessControlListMappingCreator creator(String pathDomainSid, String ipAccessControlListSid)", "com.twilio.rest.api.v2010.account.sip.domain.IpAccessControlListMappingCreator creator(String pathAccountSid, String pathDomainSid, String ipAccessControlListSid)"}), @ApiMethod(methodName = "deleter" [...]
 @UriParams
 @Configurer
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 5a7e7e9..07c4ae4 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.sip.IpAccessControlList}.
  */
-@ApiParams(apiName = "sip-ip-access-control-list", description = "",
+@ApiParams(apiName = "sip-ip-access-control-list", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a IpAccessControlListCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.sip.IpAccessControlListCreator creator(String friendlyName)", "com.twilio.rest.api.v2010.account.sip.IpAccessControlListCreator creator(String pathAccountSid, String friendlyName)"}), @ApiMethod(methodName = "deleter", description="Create a IpAccessControlListDeleter to execute delete", signatures={"com.twilio.rest [...]
 @UriParams
 @Configurer
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 c61be71..8f023eb 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.sip.ipaccesscontrollist.IpAddress}.
  */
-@ApiParams(apiName = "sip-ip-access-control-list-ip-address", description = "",
+@ApiParams(apiName = "sip-ip-access-control-list-ip-address", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a IpAddressCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.sip.ipaccesscontrollist.IpAddressCreator creator(String pathIpAccessControlListSid, String friendlyName, String ipAddress)", "com.twilio.rest.api.v2010.account.sip.ipaccesscontrollist.IpAddressCreator creator(String pathAccountSid, String pathIpAccessControlListSid, String friendlyName, String ipAddress)"}), @ApiMethod(metho [...]
 @UriParams
 @Configurer
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 5b487b8..57bc7b6 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.Token}.
  */
-@ApiParams(apiName = "token", description = "",
+@ApiParams(apiName = "token", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a TokenCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.TokenCreator creator()", "com.twilio.rest.api.v2010.account.TokenCreator creator(String pathAccountSid)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 8c20049..e58dccc 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.Transcription}.
  */
-@ApiParams(apiName = "transcription", description = "",
+@ApiParams(apiName = "transcription", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "deleter", description="Create a TranscriptionDeleter to execute delete", signatures={"com.twilio.rest.api.v2010.account.TranscriptionDeleter deleter(String pathSid)", "com.twilio.rest.api.v2010.account.TranscriptionDeleter deleter(String pathAccountSid, String pathSid)"}), @ApiMethod(methodName = "fetcher", description="Create a TranscriptionFetcher to execute fetch", signatures={"com.twilio.rest.api.v2010.account.TranscriptionFetcher fet [...]
 @UriParams
 @Configurer
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 e0ee534..f1e3b5c 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.usage.record.AllTime}.
  */
-@ApiParams(apiName = "usage-record-all-time", description = "",
+@ApiParams(apiName = "usage-record-all-time", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "reader", description="Create a AllTimeReader to execute read", signatures={"com.twilio.rest.api.v2010.account.usage.record.AllTimeReader reader()", "com.twilio.rest.api.v2010.account.usage.record.AllTimeReader reader(String pathAccountSid)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 8325ef2..5df0f6a 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.usage.record.Daily}.
  */
-@ApiParams(apiName = "usage-record-daily", description = "",
+@ApiParams(apiName = "usage-record-daily", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "reader", description="Create a DailyReader to execute read", signatures={"com.twilio.rest.api.v2010.account.usage.record.DailyReader reader()", "com.twilio.rest.api.v2010.account.usage.record.DailyReader reader(String pathAccountSid)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 b54840b..5b643da 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.usage.Record}.
  */
-@ApiParams(apiName = "usage-record", description = "",
+@ApiParams(apiName = "usage-record", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "reader", description="Create a RecordReader to execute read", signatures={"com.twilio.rest.api.v2010.account.usage.RecordReader reader()", "com.twilio.rest.api.v2010.account.usage.RecordReader reader(String pathAccountSid)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 0a0ac82..25e2385 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.usage.record.LastMonth}.
  */
-@ApiParams(apiName = "usage-record-last-month", description = "",
+@ApiParams(apiName = "usage-record-last-month", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "reader", description="Create a LastMonthReader to execute read", signatures={"com.twilio.rest.api.v2010.account.usage.record.LastMonthReader reader()", "com.twilio.rest.api.v2010.account.usage.record.LastMonthReader reader(String pathAccountSid)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 8dae402..6c9770b 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.usage.record.Monthly}.
  */
-@ApiParams(apiName = "usage-record-monthly", description = "",
+@ApiParams(apiName = "usage-record-monthly", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "reader", description="Create a MonthlyReader to execute read", signatures={"com.twilio.rest.api.v2010.account.usage.record.MonthlyReader reader()", "com.twilio.rest.api.v2010.account.usage.record.MonthlyReader reader(String pathAccountSid)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 fe9096e..1ca7416 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.usage.record.ThisMonth}.
  */
-@ApiParams(apiName = "usage-record-this-month", description = "",
+@ApiParams(apiName = "usage-record-this-month", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "reader", description="Create a ThisMonthReader to execute read", signatures={"com.twilio.rest.api.v2010.account.usage.record.ThisMonthReader reader()", "com.twilio.rest.api.v2010.account.usage.record.ThisMonthReader reader(String pathAccountSid)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 c6b9bab..e2fb15c 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.usage.record.Today}.
  */
-@ApiParams(apiName = "usage-record-today", description = "",
+@ApiParams(apiName = "usage-record-today", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "reader", description="Create a TodayReader to execute read", signatures={"com.twilio.rest.api.v2010.account.usage.record.TodayReader reader()", "com.twilio.rest.api.v2010.account.usage.record.TodayReader reader(String pathAccountSid)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 06e7c79..9a42c80 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.usage.record.Yearly}.
  */
-@ApiParams(apiName = "usage-record-yearly", description = "",
+@ApiParams(apiName = "usage-record-yearly", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "reader", description="Create a YearlyReader to execute read", signatures={"com.twilio.rest.api.v2010.account.usage.record.YearlyReader reader()", "com.twilio.rest.api.v2010.account.usage.record.YearlyReader reader(String pathAccountSid)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 03f58b1..bcdb4b7 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.usage.record.Yesterday}.
  */
-@ApiParams(apiName = "usage-record-yesterday", description = "",
+@ApiParams(apiName = "usage-record-yesterday", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "reader", description="Create a YesterdayReader to execute read", signatures={"com.twilio.rest.api.v2010.account.usage.record.YesterdayReader reader()", "com.twilio.rest.api.v2010.account.usage.record.YesterdayReader reader(String pathAccountSid)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 50f0b9e..11e8f2e 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.usage.Trigger}.
  */
-@ApiParams(apiName = "usage-trigger", description = "",
+@ApiParams(apiName = "usage-trigger", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a TriggerCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.usage.TriggerCreator creator(java.net.URI callbackUrl, String triggerValue, com.twilio.rest.api.v2010.account.usage.Trigger$UsageCategory usageCategory)", "com.twilio.rest.api.v2010.account.usage.TriggerCreator creator(String pathAccountSid, java.net.URI callbackUrl, String triggerValue, com.twilio.rest.api.v2010.account.usage [...]
 @UriParams
 @Configurer
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 de6374c..7621514 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link com.twilio.rest.api.v2010.account.ValidationRequest}.
  */
-@ApiParams(apiName = "validation-request", description = "",
+@ApiParams(apiName = "validation-request", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "creator", description="Create a ValidationRequestCreator to execute create", signatures={"com.twilio.rest.api.v2010.account.ValidationRequestCreator creator(com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010.account.ValidationRequestCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)"}), }, aliases = {"^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update"})
 @UriParams
 @Configurer
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 f9af247..bc1817f 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
@@ -60,62 +60,62 @@
     "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apis": {
-    "account": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "fetcher": { "description": "Create a AccountFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.AccountFetcher fetcher()", "com.twilio.rest.api.v2010.AccountFetcher fetcher(String pathSid)" ] }, "updater": { "description": "Create a AccountUpdater to execute update", "signatures": [ "com.twilio.rest.api.v2010.Ac [...]
-    "address": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a AddressCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.AddressCreator creator(String customerName, String street, String city, String region, String postalCode, String isoCountry)", "com.twilio.rest.api.v2010.account.AddressCreator creator(String pathAccountSid,  [...]
-    "address-dependent-phone-number": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a DependentPhoneNumberReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.address.DependentPhoneNumberReader reader(String pathAccountSid, String pathAddressSid)", "com.twilio.rest.api.v2010.account.address.DependentPhoneNumberReader reader(String pa [...]
-    "application": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a ApplicationCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.ApplicationCreator creator()", "com.twilio.rest.api.v2010.account.ApplicationCreator creator(String pathAccountSid)" ] }, "deleter": { "description": "Create a ApplicationDeleter to execute delete", " [...]
-    "available-phone-number-country": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "fetcher": { "description": "Create a AvailablePhoneNumberCountryFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.AvailablePhoneNumberCountryFetcher fetcher(String pathAccountSid, String pathCountryCode)", "com.twilio.rest.api.v2010.account.AvailablePhoneNumberCountryFetcher fetc [...]
-    "available-phone-number-country-local": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a LocalReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.availablephonenumbercountry.LocalReader reader(String pathAccountSid, String pathCountryCode)", "com.twilio.rest.api.v2010.account.availablephonenumbercountry.LocalReader reader(String  [...]
-    "available-phone-number-country-mobile": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a MobileReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.availablephonenumbercountry.MobileReader reader(String pathAccountSid, String pathCountryCode)", "com.twilio.rest.api.v2010.account.availablephonenumbercountry.MobileReader reader(Str [...]
-    "available-phone-number-country-toll-free": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a TollFreeReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.availablephonenumbercountry.TollFreeReader reader(String pathAccountSid, String pathCountryCode)", "com.twilio.rest.api.v2010.account.availablephonenumbercountry.TollFreeReader r [...]
-    "call": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a CallCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.CallCreator creator(String pathAccountSid, com.twilio.type.Endpoint to, com.twilio.type.Endpoint from, String applicationSid)", "com.twilio.rest.api.v2010.account.CallCreator creator(String pathAccountSid, com.twil [...]
-    "call-feedback": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a FeedbackCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.call.FeedbackCreator creator(String pathAccountSid, String pathCallSid, Integer qualityScore)", "com.twilio.rest.api.v2010.account.call.FeedbackCreator creator(String pathCallSid, Integer qualityScore) [...]
-    "call-feedback-summary": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a FeedbackSummaryCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.call.FeedbackSummaryCreator creator(String pathAccountSid, org.joda.time.LocalDate startDate, org.joda.time.LocalDate endDate)", "com.twilio.rest.api.v2010.account.call.FeedbackSummaryCr [...]
-    "call-notification": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "fetcher": { "description": "Create a NotificationFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.call.NotificationFetcher fetcher(String pathAccountSid, String pathCallSid, String pathSid)", "com.twilio.rest.api.v2010.account.call.NotificationFetcher fetcher(String pathCallSid, String pathS [...]
-    "call-recording": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a RecordingCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.call.RecordingCreator creator(String pathAccountSid, String pathCallSid)", "com.twilio.rest.api.v2010.account.call.RecordingCreator creator(String pathCallSid)" ] }, "deleter": { "description": "Crea [...]
-    "conference": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "fetcher": { "description": "Create a ConferenceFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.ConferenceFetcher fetcher(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.ConferenceFetcher fetcher(String pathSid)" ] }, "reader": { "description": "Create a ConferenceReader [...]
-    "conference-participant": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a ParticipantCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.conference.ParticipantCreator creator(String pathAccountSid, String pathConferenceSid, com.twilio.type.PhoneNumber from, com.twilio.type.PhoneNumber to)", "com.twilio.rest.api.v2010.account [...]
-    "connect-app": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a ConnectAppDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.ConnectAppDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.ConnectAppDeleter deleter(String pathSid)" ] }, "fetcher": { "description": "Create a ConnectAppFet [...]
-    "incoming-phone-number": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a IncomingPhoneNumberCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.IncomingPhoneNumberCreator creator(String areaCode)", "com.twilio.rest.api.v2010.account.IncomingPhoneNumberCreator creator(String pathAccountSid, String areaCode)", "com.twilio.rest [...]
-    "incoming-phone-number-local": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a LocalCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.incomingphonenumber.LocalCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010.account.incomingphonenumber.LocalCreator creator(com.twi [...]
-    "incoming-phone-number-mobile": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a MobileCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.incomingphonenumber.MobileCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010.account.incomingphonenumber.MobileCreator creator(com [...]
-    "incoming-phone-number-toll-free": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a TollFreeCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.incomingphonenumber.TollFreeCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010.account.incomingphonenumber.TollFreeCreator cr [...]
-    "key": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a KeyDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.KeyDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.KeyDeleter deleter(String pathSid)" ] }, "fetcher": { "description": "Create a KeyFetcher to execute fetch", "signatures" [...]
-    "message": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a MessageCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.MessageCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber to, String messagingServiceSid, String body)", "com.twilio.rest.api.v2010.account.MessageCreator creator(String pathAccountSid, com.tw [...]
-    "message-feedback": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a FeedbackCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.message.FeedbackCreator creator(String pathAccountSid, String pathMessageSid)", "com.twilio.rest.api.v2010.account.message.FeedbackCreator creator(String pathMessageSid)" ] } } },
-    "message-media": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a MediaDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.message.MediaDeleter deleter(String pathAccountSid, String pathMessageSid, String pathSid)", "com.twilio.rest.api.v2010.account.message.MediaDeleter deleter(String pathMessageSid, String pathSid)" ] }, "f [...]
-    "new-key": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a NewKeyCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.NewKeyCreator creator()", "com.twilio.rest.api.v2010.account.NewKeyCreator creator(String pathAccountSid)" ] } } },
-    "new-signing-key": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a NewSigningKeyCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.NewSigningKeyCreator creator()", "com.twilio.rest.api.v2010.account.NewSigningKeyCreator creator(String pathAccountSid)" ] } } },
-    "notification": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "fetcher": { "description": "Create a NotificationFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.NotificationFetcher fetcher(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.NotificationFetcher fetcher(String pathSid)" ] }, "reader": { "description": "Create a Notifica [...]
-    "outgoing-caller-id": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a OutgoingCallerIdDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.OutgoingCallerIdDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.OutgoingCallerIdDeleter deleter(String pathSid)" ] }, "fetcher": { "description" [...]
-    "queue": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a QueueCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.QueueCreator creator(String friendlyName)", "com.twilio.rest.api.v2010.account.QueueCreator creator(String pathAccountSid, String friendlyName)" ] }, "deleter": { "description": "Create a QueueDeleter to execute  [...]
-    "queue-member": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "fetcher": { "description": "Create a MemberFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.queue.MemberFetcher fetcher(String pathAccountSid, String pathQueueSid, String pathCallSid)", "com.twilio.rest.api.v2010.account.queue.MemberFetcher fetcher(String pathQueueSid, String pathCallSid)" ] }, " [...]
-    "recording": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a RecordingDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.RecordingDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.RecordingDeleter deleter(String pathSid)" ] }, "fetcher": { "description": "Create a RecordingFetcher t [...]
-    "recording-add-on-result": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a AddOnResultDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.recording.AddOnResultDeleter deleter(String pathAccountSid, String pathReferenceSid, String pathSid)", "com.twilio.rest.api.v2010.account.recording.AddOnResultDeleter deleter(String pathRe [...]
-    "recording-add-on-result-payload": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a PayloadDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.recording.addonresult.PayloadDeleter deleter(String pathAccountSid, String pathReferenceSid, String pathAddOnResultSid, String pathSid)", "com.twilio.rest.api.v2010.account.recording.a [...]
-    "recording-transcription": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a TranscriptionDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.recording.TranscriptionDeleter deleter(String pathAccountSid, String pathRecordingSid, String pathSid)", "com.twilio.rest.api.v2010.account.recording.TranscriptionDeleter deleter(String  [...]
-    "short-code": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "fetcher": { "description": "Create a ShortCodeFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.ShortCodeFetcher fetcher(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.ShortCodeFetcher fetcher(String pathSid)" ] }, "reader": { "description": "Create a ShortCodeReader to  [...]
-    "signing-key": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a SigningKeyDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.SigningKeyDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.SigningKeyDeleter deleter(String pathSid)" ] }, "fetcher": { "description": "Create a SigningKeyFet [...]
-    "sip-credential-list": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a CredentialListCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.CredentialListCreator creator(String friendlyName)", "com.twilio.rest.api.v2010.account.sip.CredentialListCreator creator(String pathAccountSid, String friendlyName)" ] }, "deleter": {  [...]
-    "sip-credential-list-credential": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a CredentialCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.credentiallist.CredentialCreator creator(String pathAccountSid, String pathCredentialListSid, String username, String password)", "com.twilio.rest.api.v2010.account.sip.credentia [...]
-    "sip-domain": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a DomainCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.DomainCreator creator(String domainName)", "com.twilio.rest.api.v2010.account.sip.DomainCreator creator(String pathAccountSid, String domainName)" ] }, "deleter": { "description": "Create a DomainDelete [...]
-    "sip-domain-credential-list-mapping": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a CredentialListMappingCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.domain.CredentialListMappingCreator creator(String pathAccountSid, String pathDomainSid, String credentialListSid)", "com.twilio.rest.api.v2010.account.sip.domain. [...]
-    "sip-domain-ip-access-control-list-mapping": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a IpAccessControlListMappingCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.domain.IpAccessControlListMappingCreator creator(String pathAccountSid, String pathDomainSid, String ipAccessControlListSid)", "com.twilio.rest.api.v20 [...]
-    "sip-ip-access-control-list": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a IpAccessControlListCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.IpAccessControlListCreator creator(String friendlyName)", "com.twilio.rest.api.v2010.account.sip.IpAccessControlListCreator creator(String pathAccountSid, String friendlyNam [...]
-    "sip-ip-access-control-list-ip-address": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a IpAddressCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.ipaccesscontrollist.IpAddressCreator creator(String pathAccountSid, String pathIpAccessControlListSid, String friendlyName, String ipAddress)", "com.twilio.rest.api.v2010.a [...]
-    "token": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a TokenCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.TokenCreator creator()", "com.twilio.rest.api.v2010.account.TokenCreator creator(String pathAccountSid)" ] } } },
-    "transcription": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a TranscriptionDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.TranscriptionDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.TranscriptionDeleter deleter(String pathSid)" ] }, "fetcher": { "description": "Create a Tr [...]
-    "usage-record": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a RecordReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.RecordReader reader()", "com.twilio.rest.api.v2010.account.usage.RecordReader reader(String pathAccountSid)" ] } } },
-    "usage-record-all-time": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a AllTimeReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.AllTimeReader reader()", "com.twilio.rest.api.v2010.account.usage.record.AllTimeReader reader(String pathAccountSid)" ] } } },
-    "usage-record-daily": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a DailyReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.DailyReader reader()", "com.twilio.rest.api.v2010.account.usage.record.DailyReader reader(String pathAccountSid)" ] } } },
-    "usage-record-last-month": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a LastMonthReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.LastMonthReader reader()", "com.twilio.rest.api.v2010.account.usage.record.LastMonthReader reader(String pathAccountSid)" ] } } },
-    "usage-record-monthly": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a MonthlyReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.MonthlyReader reader()", "com.twilio.rest.api.v2010.account.usage.record.MonthlyReader reader(String pathAccountSid)" ] } } },
-    "usage-record-this-month": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a ThisMonthReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.ThisMonthReader reader()", "com.twilio.rest.api.v2010.account.usage.record.ThisMonthReader reader(String pathAccountSid)" ] } } },
-    "usage-record-today": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a TodayReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.TodayReader reader()", "com.twilio.rest.api.v2010.account.usage.record.TodayReader reader(String pathAccountSid)" ] } } },
-    "usage-record-yearly": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a YearlyReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.YearlyReader reader()", "com.twilio.rest.api.v2010.account.usage.record.YearlyReader reader(String pathAccountSid)" ] } } },
-    "usage-record-yesterday": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a YesterdayReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.YesterdayReader reader()", "com.twilio.rest.api.v2010.account.usage.record.YesterdayReader reader(String pathAccountSid)" ] } } },
-    "usage-trigger": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a TriggerCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.usage.TriggerCreator creator(String pathAccountSid, java.net.URI callbackUrl, String triggerValue, com.twilio.rest.api.v2010.account.usage.Trigger$UsageCategory usageCategory)", "com.twilio.rest.api.v20 [...]
-    "validation-request": { "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a ValidationRequestCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.ValidationRequestCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010.account.ValidationRequestCreator creator(com.twilio.type.Phon [...]
+    "account": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "fetcher": { "description": "Create a AccountFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.AccountFetcher fetcher()", "com.twilio.rest.api.v2010.AccountFetcher fetcher(String pathSid)" ] }, "updater": { "description": "Create a AccountUpdater to execute update", [...]
+    "address": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a AddressCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.AddressCreator creator(String customerName, String street, String city, String region, String postalCode, String isoCountry)", "com.twilio.rest.api.v2010.account. [...]
+    "address-dependent-phone-number": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a DependentPhoneNumberReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.address.DependentPhoneNumberReader reader(String pathAccountSid, String pathAddressSid)", "com.twilio.rest.api.v2010.account.addre [...]
+    "application": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a ApplicationCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.ApplicationCreator creator()", "com.twilio.rest.api.v2010.account.ApplicationCreator creator(String pathAccountSid)" ] }, "deleter": { "description": "Cre [...]
+    "available-phone-number-country": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "fetcher": { "description": "Create a AvailablePhoneNumberCountryFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.AvailablePhoneNumberCountryFetcher fetcher(String pathAccountSid, String pathCountryCode)", "com.twilio.rest.api.v2010.a [...]
+    "available-phone-number-country-local": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a LocalReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.availablephonenumbercountry.LocalReader reader(String pathAccountSid, String pathCountryCode)", "com.twilio.rest.api.v2010.account.availabl [...]
+    "available-phone-number-country-mobile": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a MobileReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.availablephonenumbercountry.MobileReader reader(String pathAccountSid, String pathCountryCode)", "com.twilio.rest.api.v2010.account.avail [...]
+    "available-phone-number-country-toll-free": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a TollFreeReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.availablephonenumbercountry.TollFreeReader reader(String pathAccountSid, String pathCountryCode)", "com.twilio.rest.api.v2010.accoun [...]
+    "call": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a CallCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.CallCreator creator(String pathAccountSid, com.twilio.type.Endpoint to, com.twilio.type.Endpoint from, String applicationSid)", "com.twilio.rest.api.v2010.account.CallC [...]
+    "call-feedback": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a FeedbackCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.call.FeedbackCreator creator(String pathAccountSid, String pathCallSid, Integer qualityScore)", "com.twilio.rest.api.v2010.account.call.FeedbackCreator cre [...]
+    "call-feedback-summary": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a FeedbackSummaryCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.call.FeedbackSummaryCreator creator(String pathAccountSid, org.joda.time.LocalDate startDate, org.joda.time.LocalDate endDate)", "com.twilio [...]
+    "call-notification": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "fetcher": { "description": "Create a NotificationFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.call.NotificationFetcher fetcher(String pathAccountSid, String pathCallSid, String pathSid)", "com.twilio.rest.api.v2010.account.call.NotificationFe [...]
+    "call-recording": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a RecordingCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.call.RecordingCreator creator(String pathAccountSid, String pathCallSid)", "com.twilio.rest.api.v2010.account.call.RecordingCreator creator(String pathCa [...]
+    "conference": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "fetcher": { "description": "Create a ConferenceFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.ConferenceFetcher fetcher(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.ConferenceFetcher fetcher(String pathSid)" ] }, "reader [...]
+    "conference-participant": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a ParticipantCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.conference.ParticipantCreator creator(String pathAccountSid, String pathConferenceSid, com.twilio.type.PhoneNumber from, com.twilio.type.PhoneN [...]
+    "connect-app": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a ConnectAppDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.ConnectAppDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.ConnectAppDeleter deleter(String pathSid)" ] }, "fetc [...]
+    "incoming-phone-number": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a IncomingPhoneNumberCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.IncomingPhoneNumberCreator creator(String areaCode)", "com.twilio.rest.api.v2010.account.IncomingPhoneNumberCreator creator(String pathA [...]
+    "incoming-phone-number-local": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a LocalCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.incomingphonenumber.LocalCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010.account.in [...]
+    "incoming-phone-number-mobile": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a MobileCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.incomingphonenumber.MobileCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010.account [...]
+    "incoming-phone-number-toll-free": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a TollFreeCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.incomingphonenumber.TollFreeCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010. [...]
+    "key": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a KeyDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.KeyDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.KeyDeleter deleter(String pathSid)" ] }, "fetcher": { "description": "Creat [...]
+    "message": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a MessageCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.MessageCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber to, String messagingServiceSid, String body)", "com.twilio.rest.api.v2010.account.Messag [...]
+    "message-feedback": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a FeedbackCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.message.FeedbackCreator creator(String pathAccountSid, String pathMessageSid)", "com.twilio.rest.api.v2010.account.message.FeedbackCreator creator(Strin [...]
+    "message-media": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a MediaDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.message.MediaDeleter deleter(String pathAccountSid, String pathMessageSid, String pathSid)", "com.twilio.rest.api.v2010.account.message.MediaDeleter deleter(S [...]
+    "new-key": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a NewKeyCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.NewKeyCreator creator()", "com.twilio.rest.api.v2010.account.NewKeyCreator creator(String pathAccountSid)" ] } } },
+    "new-signing-key": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a NewSigningKeyCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.NewSigningKeyCreator creator()", "com.twilio.rest.api.v2010.account.NewSigningKeyCreator creator(String pathAccountSid)" ] } } },
+    "notification": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "fetcher": { "description": "Create a NotificationFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.NotificationFetcher fetcher(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.NotificationFetcher fetcher(String pathSid)" ] }, [...]
+    "outgoing-caller-id": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a OutgoingCallerIdDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.OutgoingCallerIdDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.OutgoingCallerIdDeleter deleter(St [...]
+    "queue": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a QueueCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.QueueCreator creator(String friendlyName)", "com.twilio.rest.api.v2010.account.QueueCreator creator(String pathAccountSid, String friendlyName)" ] }, "deleter": { "de [...]
+    "queue-member": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "fetcher": { "description": "Create a MemberFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.queue.MemberFetcher fetcher(String pathAccountSid, String pathQueueSid, String pathCallSid)", "com.twilio.rest.api.v2010.account.queue.MemberFetcher fetcher(St [...]
+    "recording": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a RecordingDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.RecordingDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.RecordingDeleter deleter(String pathSid)" ] }, "fetcher": [...]
+    "recording-add-on-result": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a AddOnResultDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.recording.AddOnResultDeleter deleter(String pathAccountSid, String pathReferenceSid, String pathSid)", "com.twilio.rest.api.v2010.account.reco [...]
+    "recording-add-on-result-payload": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a PayloadDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.recording.addonresult.PayloadDeleter deleter(String pathAccountSid, String pathReferenceSid, String pathAddOnResultSid, String pathSid)",  [...]
+    "recording-transcription": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a TranscriptionDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.recording.TranscriptionDeleter deleter(String pathAccountSid, String pathRecordingSid, String pathSid)", "com.twilio.rest.api.v2010.account. [...]
+    "short-code": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "fetcher": { "description": "Create a ShortCodeFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.ShortCodeFetcher fetcher(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.ShortCodeFetcher fetcher(String pathSid)" ] }, "reader":  [...]
+    "signing-key": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a SigningKeyDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.SigningKeyDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.SigningKeyDeleter deleter(String pathSid)" ] }, "fetc [...]
+    "sip-credential-list": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a CredentialListCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.CredentialListCreator creator(String friendlyName)", "com.twilio.rest.api.v2010.account.sip.CredentialListCreator creator(String pathAccoun [...]
+    "sip-credential-list-credential": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a CredentialCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.credentiallist.CredentialCreator creator(String pathAccountSid, String pathCredentialListSid, String username, String password)", "c [...]
+    "sip-domain": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a DomainCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.DomainCreator creator(String domainName)", "com.twilio.rest.api.v2010.account.sip.DomainCreator creator(String pathAccountSid, String domainName)" ] }, "del [...]
+    "sip-domain-credential-list-mapping": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a CredentialListMappingCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.domain.CredentialListMappingCreator creator(String pathAccountSid, String pathDomainSid, String credentialListSid)",  [...]
+    "sip-domain-ip-access-control-list-mapping": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a IpAccessControlListMappingCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.domain.IpAccessControlListMappingCreator creator(String pathAccountSid, String pathDomainSid, String ipAc [...]
+    "sip-ip-access-control-list": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a IpAccessControlListCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.IpAccessControlListCreator creator(String friendlyName)", "com.twilio.rest.api.v2010.account.sip.IpAccessControlListCreator cre [...]
+    "sip-ip-access-control-list-ip-address": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a IpAddressCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.ipaccesscontrollist.IpAddressCreator creator(String pathAccountSid, String pathIpAccessControlListSid, String friendlyName, St [...]
+    "token": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a TokenCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.TokenCreator creator()", "com.twilio.rest.api.v2010.account.TokenCreator creator(String pathAccountSid)" ] } } },
+    "transcription": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "deleter": { "description": "Create a TranscriptionDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.TranscriptionDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.TranscriptionDeleter deleter(String pathSid)" [...]
+    "usage-record": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a RecordReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.RecordReader reader()", "com.twilio.rest.api.v2010.account.usage.RecordReader reader(String pathAccountSid)" ] } } },
+    "usage-record-all-time": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a AllTimeReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.AllTimeReader reader()", "com.twilio.rest.api.v2010.account.usage.record.AllTimeReader reader(String pathAccountSid)" ] } } },
+    "usage-record-daily": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a DailyReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.DailyReader reader()", "com.twilio.rest.api.v2010.account.usage.record.DailyReader reader(String pathAccountSid)" ] } } },
+    "usage-record-last-month": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a LastMonthReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.LastMonthReader reader()", "com.twilio.rest.api.v2010.account.usage.record.LastMonthReader reader(String pathAccountSid)" ] } } },
+    "usage-record-monthly": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a MonthlyReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.MonthlyReader reader()", "com.twilio.rest.api.v2010.account.usage.record.MonthlyReader reader(String pathAccountSid)" ] } } },
+    "usage-record-this-month": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a ThisMonthReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.ThisMonthReader reader()", "com.twilio.rest.api.v2010.account.usage.record.ThisMonthReader reader(String pathAccountSid)" ] } } },
+    "usage-record-today": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a TodayReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.TodayReader reader()", "com.twilio.rest.api.v2010.account.usage.record.TodayReader reader(String pathAccountSid)" ] } } },
+    "usage-record-yearly": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a YearlyReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.YearlyReader reader()", "com.twilio.rest.api.v2010.account.usage.record.YearlyReader reader(String pathAccountSid)" ] } } },
+    "usage-record-yesterday": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "reader": { "description": "Create a YesterdayReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.YesterdayReader reader()", "com.twilio.rest.api.v2010.account.usage.record.YesterdayReader reader(String pathAccountSid)" ] } } },
+    "usage-trigger": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a TriggerCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.usage.TriggerCreator creator(String pathAccountSid, java.net.URI callbackUrl, String triggerValue, com.twilio.rest.api.v2010.account.usage.Trigger$UsageCate [...]
+    "validation-request": { "consumerOnly": false, "producerOnly": false, "description": "", "aliases": [ "^creator$=create", "^deleter$=delete", "^fetcher$=fetch", "^reader$=read", "^updater$=update" ], "methods": { "creator": { "description": "Create a ValidationRequestCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.ValidationRequestCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010.account.Validat [...]
   },
   "apiProperties": {
     "account": { "methods": { "fetcher": { "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Fetch by unique Account Sid", "optional": false } } }, "updater": { "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "ja [...]
diff --git a/components/camel-twilio/src/main/docs/twilio-component.adoc b/components/camel-twilio/src/main/docs/twilio-component.adoc
index 1d6c280..f966d76 100644
--- a/components/camel-twilio/src/main/docs/twilio-component.adoc
+++ b/components/camel-twilio/src/main/docs/twilio-component.adoc
@@ -113,65 +113,65 @@ twilio:apiName/methodName
 
 There are 56 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
-|===
-| API Name | Description
-| *account* | 
-| *address* | 
-| *address-dependent-phone-number* | 
-| *application* | 
-| *available-phone-number-country* | 
-| *available-phone-number-country-local* | 
-| *available-phone-number-country-mobile* | 
-| *available-phone-number-country-toll-free* | 
-| *call* | 
-| *call-feedback* | 
-| *call-feedback-summary* | 
-| *call-notification* | 
-| *call-recording* | 
-| *conference* | 
-| *conference-participant* | 
-| *connect-app* | 
-| *incoming-phone-number* | 
-| *incoming-phone-number-local* | 
-| *incoming-phone-number-mobile* | 
-| *incoming-phone-number-toll-free* | 
-| *key* | 
-| *message* | 
-| *message-feedback* | 
-| *message-media* | 
-| *new-key* | 
-| *new-signing-key* | 
-| *notification* | 
-| *outgoing-caller-id* | 
-| *queue* | 
-| *queue-member* | 
-| *recording* | 
-| *recording-add-on-result* | 
-| *recording-add-on-result-payload* | 
-| *recording-transcription* | 
-| *short-code* | 
-| *signing-key* | 
-| *sip-credential-list* | 
-| *sip-credential-list-credential* | 
-| *sip-domain* | 
-| *sip-domain-credential-list-mapping* | 
-| *sip-domain-ip-access-control-list-mapping* | 
-| *sip-ip-access-control-list* | 
-| *sip-ip-access-control-list-ip-address* | 
-| *token* | 
-| *transcription* | 
-| *usage-record* | 
-| *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* | 
-| *usage-trigger* | 
-| *validation-request* | 
+[width="100%",cols="2,1,7",options="header"]
+|===
+| API Name | Type | Description
+| *account* | Both | 
+| *address* | Both | 
+| *address-dependent-phone-number* | Both | 
+| *application* | Both | 
+| *available-phone-number-country* | Both | 
+| *available-phone-number-country-local* | Both | 
+| *available-phone-number-country-mobile* | Both | 
+| *available-phone-number-country-toll-free* | Both | 
+| *call* | Both | 
+| *call-feedback* | Both | 
+| *call-feedback-summary* | Both | 
+| *call-notification* | Both | 
+| *call-recording* | Both | 
+| *conference* | Both | 
+| *conference-participant* | Both | 
+| *connect-app* | Both | 
+| *incoming-phone-number* | Both | 
+| *incoming-phone-number-local* | Both | 
+| *incoming-phone-number-mobile* | Both | 
+| *incoming-phone-number-toll-free* | Both | 
+| *key* | Both | 
+| *message* | Both | 
+| *message-feedback* | Both | 
+| *message-media* | Both | 
+| *new-key* | Both | 
+| *new-signing-key* | Both | 
+| *notification* | Both | 
+| *outgoing-caller-id* | Both | 
+| *queue* | Both | 
+| *queue-member* | Both | 
+| *recording* | Both | 
+| *recording-add-on-result* | Both | 
+| *recording-add-on-result-payload* | Both | 
+| *recording-transcription* | Both | 
+| *short-code* | Both | 
+| *signing-key* | Both | 
+| *sip-credential-list* | Both | 
+| *sip-credential-list-credential* | Both | 
+| *sip-domain* | Both | 
+| *sip-domain-credential-list-mapping* | Both | 
+| *sip-domain-ip-access-control-list-mapping* | Both | 
+| *sip-ip-access-control-list* | Both | 
+| *sip-ip-access-control-list-ip-address* | Both | 
+| *token* | Both | 
+| *transcription* | Both | 
+| *usage-record* | Both | 
+| *usage-record-all-time* | Both | 
+| *usage-record-daily* | Both | 
+| *usage-record-last-month* | Both | 
+| *usage-record-monthly* | Both | 
+| *usage-record-this-month* | Both | 
+| *usage-record-today* | Both | 
+| *usage-record-yearly* | Both | 
+| *usage-record-yesterday* | Both | 
+| *usage-trigger* | Both | 
+| *validation-request* | Both | 
 |===
 
 Each API is documented in the following sections to come.
@@ -179,6 +179,10 @@ Each API is documented in the following sections to come.
 
 ==== API: account
 
+*Both producer and consumer are supported*
+
+
+
 
 The account API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -232,6 +236,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: address
 
+*Both producer and consumer are supported*
+
+
+
 
 The address API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -312,6 +320,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: address-dependent-phone-number
 
+*Both producer and consumer are supported*
+
+
+
 
 The address-dependent-phone-number API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -360,6 +372,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: application
 
+*Both producer and consumer are supported*
+
+
+
 
 The application API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -434,6 +450,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: available-phone-number-country
 
+*Both producer and consumer are supported*
+
+
+
 
 The available-phone-number-country API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -488,6 +508,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: available-phone-number-country-local
 
+*Both producer and consumer are supported*
+
+
+
 
 The available-phone-number-country-local API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -536,6 +560,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: available-phone-number-country-mobile
 
+*Both producer and consumer are supported*
+
+
+
 
 The available-phone-number-country-mobile API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -584,6 +612,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: available-phone-number-country-toll-free
 
+*Both producer and consumer are supported*
+
+
+
 
 The available-phone-number-country-toll-free API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -632,6 +664,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: call
 
+*Both producer and consumer are supported*
+
+
+
 
 The call API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -719,6 +755,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: call-feedback
 
+*Both producer and consumer are supported*
+
+
+
 
 The call-feedback API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -783,6 +823,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: call-feedback-summary
 
+*Both producer and consumer are supported*
+
+
+
 
 The call-feedback-summary API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -846,6 +890,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: call-notification
 
+*Both producer and consumer are supported*
+
+
+
 
 The call-notification API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -902,6 +950,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: call-recording
 
+*Both producer and consumer are supported*
+
+
+
 
 The call-recording API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -982,6 +1034,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: conference
 
+*Both producer and consumer are supported*
+
+
+
 
 The conference API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1043,6 +1099,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: conference-participant
 
+*Both producer and consumer are supported*
+
+
+
 
 The conference-participant API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1124,6 +1184,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: connect-app
 
+*Both producer and consumer are supported*
+
+
+
 
 The connect-app API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1192,6 +1256,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: incoming-phone-number
 
+*Both producer and consumer are supported*
+
+
+
 
 The incoming-phone-number API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1272,6 +1340,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: incoming-phone-number-local
 
+*Both producer and consumer are supported*
+
+
+
 
 The incoming-phone-number-local API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1326,6 +1398,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: incoming-phone-number-mobile
 
+*Both producer and consumer are supported*
+
+
+
 
 The incoming-phone-number-mobile API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1380,6 +1456,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: incoming-phone-number-toll-free
 
+*Both producer and consumer are supported*
+
+
+
 
 The incoming-phone-number-toll-free API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1434,6 +1514,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: key
 
+*Both producer and consumer are supported*
+
+
+
 
 The key API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1502,6 +1586,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: message
 
+*Both producer and consumer are supported*
+
+
+
 
 The message API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1594,6 +1682,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: message-feedback
 
+*Both producer and consumer are supported*
+
+
+
 
 The message-feedback API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1642,6 +1734,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: message-media
 
+*Both producer and consumer are supported*
+
+
+
 
 The message-media API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1706,6 +1802,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: new-key
 
+*Both producer and consumer are supported*
+
+
+
 
 The new-key API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1753,6 +1853,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: new-signing-key
 
+*Both producer and consumer are supported*
+
+
+
 
 The new-signing-key API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1800,6 +1904,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: notification
 
+*Both producer and consumer are supported*
+
+
+
 
 The notification API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1854,6 +1962,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: outgoing-caller-id
 
+*Both producer and consumer are supported*
+
+
+
 
 The outgoing-caller-id API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1922,6 +2034,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: queue
 
+*Both producer and consumer are supported*
+
+
+
 
 The queue API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1997,6 +2113,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: queue-member
 
+*Both producer and consumer are supported*
+
+
+
 
 The queue-member API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2062,6 +2182,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: recording
 
+*Both producer and consumer are supported*
+
+
+
 
 The recording API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2123,6 +2247,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: recording-add-on-result
 
+*Both producer and consumer are supported*
+
+
+
 
 The recording-add-on-result API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2187,6 +2315,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: recording-add-on-result-payload
 
+*Both producer and consumer are supported*
+
+
+
 
 The recording-add-on-result-payload API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2254,6 +2386,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: recording-transcription
 
+*Both producer and consumer are supported*
+
+
+
 
 The recording-transcription API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2318,6 +2454,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: short-code
 
+*Both producer and consumer are supported*
+
+
+
 
 The short-code API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2379,6 +2519,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: signing-key
 
+*Both producer and consumer are supported*
+
+
+
 
 The signing-key API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2447,6 +2591,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-credential-list
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-credential-list API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2523,6 +2671,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-credential-list-credential
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-credential-list-credential API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2604,6 +2756,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-domain
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-domain API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2679,6 +2835,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-domain-credential-list-mapping
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-domain-credential-list-mapping API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2751,6 +2911,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-domain-ip-access-control-list-mapping
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-domain-ip-access-control-list-mapping API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2823,6 +2987,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-ip-access-control-list
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-ip-access-control-list API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2899,6 +3067,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-ip-access-control-list-ip-address
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-ip-access-control-list-ip-address API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2980,6 +3152,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: token
 
+*Both producer and consumer are supported*
+
+
+
 
 The token API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3027,6 +3203,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: transcription
 
+*Both producer and consumer are supported*
+
+
+
 
 The transcription API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3088,6 +3268,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3135,6 +3319,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-all-time
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-all-time API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3182,6 +3370,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-daily
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-daily API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3229,6 +3421,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-last-month
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-last-month API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3276,6 +3472,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-monthly
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-monthly API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3323,6 +3523,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-this-month
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-this-month API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3370,6 +3574,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-today
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-today API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3417,6 +3625,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-yearly
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-yearly API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3464,6 +3676,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-yesterday
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-yesterday API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3511,6 +3727,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-trigger
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-trigger API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3588,6 +3808,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: validation-request
 
+*Both producer and consumer are supported*
+
+
+
 
 The validation-request API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/ZendeskEndpointConfiguration.java b/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/ZendeskEndpointConfiguration.java
index 8f6c72d..b18733c 100644
--- a/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/ZendeskEndpointConfiguration.java
+++ b/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/ZendeskEndpointConfiguration.java
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.zendesk.client.v2.Zendesk}.
  */
-@ApiParams(apiName = "DEFAULT", description = "",
+@ApiParams(apiName = "DEFAULT", 
+           description = "",
            apiMethods = {@ApiMethod(methodName = "addTagToOrganisations", signatures={"java.util.List<String> addTagToOrganisations(long id, String[] tags)"}), @ApiMethod(methodName = "addTagToTicket", signatures={"java.util.List<String> addTagToTicket(long id, String[] tags)"}), @ApiMethod(methodName = "addTagToTopics", signatures={"java.util.List<String> addTagToTopics(long id, String[] tags)"}), @ApiMethod(methodName = "associateAttachmentsToArticle", signatures={"void associateAttach [...]
 @UriParams
 @Configurer
diff --git a/components/camel-zendesk/src/generated/resources/org/apache/camel/component/zendesk/zendesk.json b/components/camel-zendesk/src/generated/resources/org/apache/camel/component/zendesk/zendesk.json
index 9452bd2..1b01971 100644
--- a/components/camel-zendesk/src/generated/resources/org/apache/camel/component/zendesk/zendesk.json
+++ b/components/camel-zendesk/src/generated/resources/org/apache/camel/component/zendesk/zendesk.json
@@ -66,7 +66,7 @@
     "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." }
   },
   "apis": {
-    "DEFAULT": { "description": "", "methods": { "addTagToOrganisations": { "description": "", "signatures": [ "java.util.List<String> addTagToOrganisations(long id, String[] tags)" ] }, "addTagToTicket": { "description": "", "signatures": [ "java.util.List<String> addTagToTicket(long id, String[] tags)" ] }, "addTagToTopics": { "description": "", "signatures": [ "java.util.List<String> addTagToTopics(long id, String[] tags)" ] }, "associateAttachmentsToArticle": { "description": "", "si [...]
+    "DEFAULT": { "consumerOnly": false, "producerOnly": false, "description": "", "methods": { "addTagToOrganisations": { "description": "", "signatures": [ "java.util.List<String> addTagToOrganisations(long id, String[] tags)" ] }, "addTagToTicket": { "description": "", "signatures": [ "java.util.List<String> addTagToTicket(long id, String[] tags)" ] }, "addTagToTopics": { "description": "", "signatures": [ "java.util.List<String> addTagToTopics(long id, String[] tags)" ] }, "associateA [...]
   },
   "apiProperties": {
     "DEFAULT": { "methods": { "addTagToOrganisations": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "secret": false, "description": "", "optional": false }, "tags": { "kind": "parameter", "displayName": "Tags", "group": "common", "label": "", "required": false, "type": "array", "javaType": "java.lang.String[]", "deprecated": false, "secret": fals [...]
diff --git a/components/camel-zendesk/src/main/docs/zendesk-component.adoc b/components/camel-zendesk/src/main/docs/zendesk-component.adoc
index fdd2740..5468d41 100644
--- a/components/camel-zendesk/src/main/docs/zendesk-component.adoc
+++ b/components/camel-zendesk/src/main/docs/zendesk-component.adoc
@@ -119,10 +119,10 @@ zendesk:methodName
 
 There are 1 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *DEFAULT* | 
+| API Name | Type | Description
+| *DEFAULT* | Both | 
 |===
 
 Each API is documented in the following sections to come.
@@ -130,6 +130,10 @@ Each API is documented in the following sections to come.
 
 ==== API: DEFAULT
 
+*Both producer and consumer are supported*
+
+
+
 
 The DEFAULT API has 221 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/docs/components/modules/ROOT/pages/as2-component.adoc b/docs/components/modules/ROOT/pages/as2-component.adoc
index f49eced..057d0ac 100644
--- a/docs/components/modules/ROOT/pages/as2-component.adoc
+++ b/docs/components/modules/ROOT/pages/as2-component.adoc
@@ -140,11 +140,11 @@ as2:apiName/methodName
 
 There are 2 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *client* | Sends EDI Messages over HTTP
-| *server* | Receives EDI Messages over HTTP
+| API Name | Type | Description
+| *client* | Producer | Sends EDI Messages over HTTP
+| *server* | Consumer | Receives EDI Messages over HTTP
 |===
 
 Each API is documented in the following sections to come.
@@ -152,6 +152,10 @@ Each API is documented in the following sections to come.
 
 ==== API: client
 
+*Only producer is supported*
+
+
+
 
 The client API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -213,6 +217,10 @@ would override a `CamelAs2.myParameterNameHere` header.
 
 ==== API: server
 
+*Only consumer is supported*
+
+
+
 
 The server API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/docs/components/modules/ROOT/pages/braintree-component.adoc b/docs/components/modules/ROOT/pages/braintree-component.adoc
index ba0d769..14051b1 100644
--- a/docs/components/modules/ROOT/pages/braintree-component.adoc
+++ b/docs/components/modules/ROOT/pages/braintree-component.adoc
@@ -120,23 +120,23 @@ braintree:apiName/methodName
 
 There are 14 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
-|===
-| API Name | Description
-| *address* | Provides methods to create, delete, find, and update Address objects
-| *clientToken* | Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly
-| *creditCardVerification* | To verify credit card information
-| *customer* | Provides methods to create, delete, find, and update Customer objects
-| *dispute* | Provides methods to interact with Dispute objects
-| *documentUpload* | API to upload evidence documents
-| *merchantAccount* | Provides methods to create, find, and update MerchantAccount objects
-| *paymentMethod* | Provides methods to interact with payments
-| *paymentMethodNonce* | Provides methods to interact with nonce payments
-| *report* | Provides methods to interact with reports
-| *settlementBatchSummary* | Provides methods to interact wit settlement summaries
-| *subscription* | Provides methods to interact with Subscriptions
-| *transaction* | Provides methods to interact with Transactions
-| *webhookNotification* | To retrieve notifications via webhooks
+[width="100%",cols="2,1,7",options="header"]
+|===
+| API Name | Type | Description
+| *address* | Both | Provides methods to create, delete, find, and update Address objects
+| *clientToken* | Both | Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly
+| *creditCardVerification* | Both | To verify credit card information
+| *customer* | Both | Provides methods to create, delete, find, and update Customer objects
+| *dispute* | Both | Provides methods to interact with Dispute objects
+| *documentUpload* | Both | API to upload evidence documents
+| *merchantAccount* | Both | Provides methods to create, find, and update MerchantAccount objects
+| *paymentMethod* | Both | Provides methods to interact with payments
+| *paymentMethodNonce* | Both | Provides methods to interact with nonce payments
+| *report* | Both | Provides methods to interact with reports
+| *settlementBatchSummary* | Both | Provides methods to interact wit settlement summaries
+| *subscription* | Both | Provides methods to interact with Subscriptions
+| *transaction* | Both | Provides methods to interact with Transactions
+| *webhookNotification* | Both | To retrieve notifications via webhooks
 |===
 
 Each API is documented in the following sections to come.
@@ -144,6 +144,10 @@ Each API is documented in the following sections to come.
 
 ==== API: address
 
+*Both producer and consumer are supported*
+
+
+
 
 The address API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -206,6 +210,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: clientToken
 
+*Both producer and consumer are supported*
+
+
+
 
 The clientToken API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -253,6 +261,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: creditCardVerification
 
+*Both producer and consumer are supported*
+
+
+
 
 The creditCardVerification API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -306,6 +318,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: customer
 
+*Both producer and consumer are supported*
+
+
+
 
 The customer API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -371,6 +387,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: dispute
 
+*Both producer and consumer are supported*
+
+
+
 
 The dispute API has 7 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -449,6 +469,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: documentUpload
 
+*Both producer and consumer are supported*
+
+
+
 
 The documentUpload API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -494,6 +518,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: merchantAccount
 
+*Both producer and consumer are supported*
+
+
+
 
 The merchantAccount API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -556,6 +584,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: paymentMethod
 
+*Both producer and consumer are supported*
+
+
+
 
 The paymentMethod API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -628,6 +660,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: paymentMethodNonce
 
+*Both producer and consumer are supported*
+
+
+
 
 The paymentMethodNonce API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -680,6 +716,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: report
 
+*Both producer and consumer are supported*
+
+
+
 
 The report API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -725,6 +765,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: settlementBatchSummary
 
+*Both producer and consumer are supported*
+
+
+
 
 The settlementBatchSummary API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -773,6 +817,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: subscription
 
+*Both producer and consumer are supported*
+
+
+
 
 The subscription API has 7 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -852,6 +900,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: transaction
 
+*Both producer and consumer are supported*
+
+
+
 
 The transaction API has 13 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -963,6 +1015,10 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: webhookNotification
 
+*Both producer and consumer are supported*
+
+
+
 
 The webhookNotification API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/docs/components/modules/ROOT/pages/fhir-component.adoc b/docs/components/modules/ROOT/pages/fhir-component.adoc
index 7a5f7b1..874d291 100644
--- a/docs/components/modules/ROOT/pages/fhir-component.adoc
+++ b/docs/components/modules/ROOT/pages/fhir-component.adoc
@@ -183,22 +183,22 @@ fhir:apiName/methodName
 
 There are 13 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
-|===
-| API Name | Description
-| *capabilities* | API to Fetch the capability statement for the server
-| *create* | API for the create operation, which creates a new resource instance on the server
-| *delete* | API for the delete operation, which performs a logical delete on a server resource
-| *history* | API for the history method
-| *load-page* | API that Loads the previous/next bundle of resources from a paged set, using the link specified in the link type=next tag within the atom bundle
-| *meta* | API for the meta operations, which can be used to get, add and remove tags and other Meta elements from a resource or across the server
-| *operation* | API for extended FHIR operations https://www
-| *patch* | API for the patch operation, which performs a logical patch on a server resource
-| *read* | API method for read operations
-| *search* | API to search for resources matching a given set of criteria
-| *transaction* | API for sending a transaction (collection of resources) to the server to be executed as a single unit
-| *update* | API for the update operation, which performs a logical delete on a server resource
-| *validate* | API for validating resources
+[width="100%",cols="2,1,7",options="header"]
+|===
+| API Name | Type | Description
+| *capabilities* | Both | API to Fetch the capability statement for the server
+| *create* | Both | API for the create operation, which creates a new resource instance on the server
+| *delete* | Both | API for the delete operation, which performs a logical delete on a server resource
+| *history* | Both | API for the history method
+| *load-page* | Both | API that Loads the previous/next bundle of resources from a paged set, using the link specified in the link type=next tag within the atom bundle
+| *meta* | Both | API for the meta operations, which can be used to get, add and remove tags and other Meta elements from a resource or across the server
+| *operation* | Both | API for extended FHIR operations https://www
+| *patch* | Both | API for the patch operation, which performs a logical patch on a server resource
+| *read* | Both | API method for read operations
+| *search* | Both | API to search for resources matching a given set of criteria
+| *transaction* | Both | API for sending a transaction (collection of resources) to the server to be executed as a single unit
+| *update* | Both | API for the update operation, which performs a logical delete on a server resource
+| *validate* | Both | API for validating resources
 |===
 
 Each API is documented in the following sections to come.
@@ -206,6 +206,10 @@ Each API is documented in the following sections to come.
 
 ==== API: capabilities
 
+*Both producer and consumer are supported*
+
+
+
 
 The capabilities API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -252,6 +256,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: create
 
+*Both producer and consumer are supported*
+
+
+
 
 The create API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -303,6 +311,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: delete
 
+*Both producer and consumer are supported*
+
+
+
 
 The delete API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -363,6 +375,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: history
 
+*Both producer and consumer are supported*
+
+
+
 
 The history API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -430,6 +446,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: load-page
 
+*Both producer and consumer are supported*
+
+
+
 
 The load-page API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -487,6 +507,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: meta
 
+*Both producer and consumer are supported*
+
+
+
 
 The meta API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -557,6 +581,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: operation
 
+*Both producer and consumer are supported*
+
+
+
 
 The operation API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -645,6 +673,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: patch
 
+*Both producer and consumer are supported*
+
+
+
 
 The patch API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -703,6 +735,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: read
 
+*Both producer and consumer are supported*
+
+
+
 
 The read API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -786,6 +822,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: search
 
+*Both producer and consumer are supported*
+
+
+
 
 The search API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -832,6 +872,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: transaction
 
+*Both producer and consumer are supported*
+
+
+
 
 The transaction API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -886,6 +930,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: update
 
+*Both producer and consumer are supported*
+
+
+
 
 The update API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -952,6 +1000,10 @@ would override a `CamelFhir.myParameterNameHere` header.
 
 ==== API: validate
 
+*Both producer and consumer are supported*
+
+
+
 
 The validate API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/docs/components/modules/ROOT/pages/google-calendar-component.adoc b/docs/components/modules/ROOT/pages/google-calendar-component.adoc
index 154c191..2b0964c 100644
--- a/docs/components/modules/ROOT/pages/google-calendar-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-calendar-component.adoc
@@ -145,16 +145,16 @@ google-calendar:apiName/methodName
 
 There are 7 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *acl* | The acl collection of methods
-| *calendars* | The calendars collection of methods
-| *channels* | The channels collection of methods
-| *events* | The events collection of methods
-| *freebusy* | The freebusy collection of methods
-| *list* | The calendarList collection of methods
-| *settings* | The settings collection of methods
+| API Name | Type | Description
+| *acl* | Both | The acl collection of methods
+| *calendars* | Both | The calendars collection of methods
+| *channels* | Both | The channels collection of methods
+| *events* | Both | The events collection of methods
+| *freebusy* | Both | The freebusy collection of methods
+| *list* | Both | The calendarList collection of methods
+| *settings* | Both | The settings collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -162,6 +162,10 @@ Each API is documented in the following sections to come.
 
 ==== API: acl
 
+*Both producer and consumer are supported*
+
+
+
 
 The acl API has 7 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -239,6 +243,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: calendars
 
+*Both producer and consumer are supported*
+
+
+
 
 The calendars API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -306,6 +314,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: channels
 
+*Both producer and consumer are supported*
+
+
+
 
 The channels API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -351,6 +363,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: events
 
+*Both producer and consumer are supported*
+
+
+
 
 The events API has 11 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -449,6 +465,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: freebusy
 
+*Both producer and consumer are supported*
+
+
+
 
 The freebusy API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -494,6 +514,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: list
 
+*Both producer and consumer are supported*
+
+
+
 
 The list API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -561,6 +585,10 @@ would override a `CamelGoogleCalendar.myParameterNameHere` header.
 
 ==== API: settings
 
+*Both producer and consumer are supported*
+
+
+
 
 The settings API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/docs/components/modules/ROOT/pages/google-calendar-stream-component.adoc b/docs/components/modules/ROOT/pages/google-calendar-stream-component.adoc
index 7e79c67..ee3736a 100644
--- a/docs/components/modules/ROOT/pages/google-calendar-stream-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-calendar-stream-component.adoc
@@ -156,16 +156,16 @@ google-calendar-stream:index
 
 There are 7 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *acl* | The acl collection of methods
-| *calendars* | The calendars collection of methods
-| *channels* | The channels collection of methods
-| *events* | The events collection of methods
-| *freebusy* | The freebusy collection of methods
-| *list* | The calendarList collection of methods
-| *settings* | The settings collection of methods
+| API Name | Type | Description
+| *acl* | Both | The acl collection of methods
+| *calendars* | Both | The calendars collection of methods
+| *channels* | Both | The channels collection of methods
+| *events* | Both | The events collection of methods
+| *freebusy* | Both | The freebusy collection of methods
+| *list* | Both | The calendarList collection of methods
+| *settings* | Both | The settings collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -173,6 +173,10 @@ Each API is documented in the following sections to come.
 
 ==== API: acl
 
+*Both producer and consumer are supported*
+
+
+
 
 The acl API has 7 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -250,6 +254,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: calendars
 
+*Both producer and consumer are supported*
+
+
+
 
 The calendars API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -317,6 +325,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: channels
 
+*Both producer and consumer are supported*
+
+
+
 
 The channels API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -362,6 +374,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: events
 
+*Both producer and consumer are supported*
+
+
+
 
 The events API has 11 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -460,6 +476,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: freebusy
 
+*Both producer and consumer are supported*
+
+
+
 
 The freebusy API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -505,6 +525,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: list
 
+*Both producer and consumer are supported*
+
+
+
 
 The list API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -572,6 +596,10 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: settings
 
+*Both producer and consumer are supported*
+
+
+
 
 The settings API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/docs/components/modules/ROOT/pages/google-drive-component.adoc b/docs/components/modules/ROOT/pages/google-drive-component.adoc
index 10ca63a..5e8cf38 100644
--- a/docs/components/modules/ROOT/pages/google-drive-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-drive-component.adoc
@@ -149,21 +149,21 @@ google-drive:apiName/methodName
 
 There are 12 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
-|===
-| API Name | Description
-| *drive-apps* | The apps collection of methods
-| *drive-changes* | The changes collection of methods
-| *drive-channels* | The channels collection of methods
-| *drive-children* | The children collection of methods
-| *drive-comments* | The comments collection of methods
-| *drive-files* | The files collection of methods
-| *drive-parents* | The parents collection of methods
-| *drive-permissions* | The permissions collection of methods
-| *drive-properties* | The properties collection of methods
-| *drive-realtime* | The realtime collection of methods
-| *drive-replies* | The replies collection of methods
-| *drive-revisions* | The revisions collection of methods
+[width="100%",cols="2,1,7",options="header"]
+|===
+| API Name | Type | Description
+| *drive-apps* | Both | The apps collection of methods
+| *drive-changes* | Both | The changes collection of methods
+| *drive-channels* | Both | The channels collection of methods
+| *drive-children* | Both | The children collection of methods
+| *drive-comments* | Both | The comments collection of methods
+| *drive-files* | Both | The files collection of methods
+| *drive-parents* | Both | The parents collection of methods
+| *drive-permissions* | Both | The permissions collection of methods
+| *drive-properties* | Both | The properties collection of methods
+| *drive-realtime* | Both | The realtime collection of methods
+| *drive-replies* | Both | The replies collection of methods
+| *drive-revisions* | Both | The revisions collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -171,6 +171,10 @@ Each API is documented in the following sections to come.
 
 ==== API: drive-apps
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-apps API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -216,6 +220,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-changes
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-changes API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -265,6 +273,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-channels
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-channels API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -310,6 +322,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-children
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-children API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -370,6 +386,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-comments
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-comments API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -442,6 +462,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-files
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-files API has 11 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -538,6 +562,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-parents
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-parents API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -598,6 +626,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-permissions
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-permissions API has 7 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -674,6 +706,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-properties
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-properties API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -746,6 +782,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-realtime
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-realtime API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -798,6 +838,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-replies
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-replies API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -876,6 +920,10 @@ would override a `CamelGoogleDrive.myParameterNameHere` header.
 
 ==== API: drive-revisions
 
+*Both producer and consumer are supported*
+
+
+
 
 The drive-revisions API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/docs/components/modules/ROOT/pages/google-mail-component.adoc b/docs/components/modules/ROOT/pages/google-mail-component.adoc
index 0cd9a39..eaee4e5 100644
--- a/docs/components/modules/ROOT/pages/google-mail-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-mail-component.adoc
@@ -145,16 +145,16 @@ google-mail:apiName/methodName
 
 There are 7 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *attachments* | The attachments collection of methods
-| *drafts* | The drafts collection of methods
-| *history* | The history collection of methods
-| *labels* | The labels collection of methods
-| *messages* | The messages collection of methods
-| *threads* | The threads collection of methods
-| *users* | The users collection of methods
+| API Name | Type | Description
+| *attachments* | Both | The attachments collection of methods
+| *drafts* | Both | The drafts collection of methods
+| *history* | Both | The history collection of methods
+| *labels* | Both | The labels collection of methods
+| *messages* | Both | The messages collection of methods
+| *threads* | Both | The threads collection of methods
+| *users* | Both | The users collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -162,6 +162,10 @@ Each API is documented in the following sections to come.
 
 ==== API: attachments
 
+*Both producer and consumer are supported*
+
+
+
 
 The attachments API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -209,6 +213,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: drafts
 
+*Both producer and consumer are supported*
+
+
+
 
 The drafts API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -289,6 +297,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: history
 
+*Both producer and consumer are supported*
+
+
+
 
 The history API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -334,6 +346,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: labels
 
+*Both producer and consumer are supported*
+
+
+
 
 The labels API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -406,6 +422,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: messages
 
+*Both producer and consumer are supported*
+
+
+
 
 The messages API has 11 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -511,6 +531,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: threads
 
+*Both producer and consumer are supported*
+
+
+
 
 The threads API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -582,6 +606,10 @@ would override a `CamelGoogleMail.myParameterNameHere` header.
 
 ==== API: users
 
+*Both producer and consumer are supported*
+
+
+
 
 The users API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/docs/components/modules/ROOT/pages/google-mail-stream-component.adoc b/docs/components/modules/ROOT/pages/google-mail-stream-component.adoc
index dc98e9b..1e8c1ea 100644
--- a/docs/components/modules/ROOT/pages/google-mail-stream-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-mail-stream-component.adoc
@@ -152,16 +152,16 @@ google-mail-stream:index
 
 There are 7 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *attachments* | The attachments collection of methods
-| *drafts* | The drafts collection of methods
-| *history* | The history collection of methods
-| *labels* | The labels collection of methods
-| *messages* | The messages collection of methods
-| *threads* | The threads collection of methods
-| *users* | The users collection of methods
+| API Name | Type | Description
+| *attachments* | Both | The attachments collection of methods
+| *drafts* | Both | The drafts collection of methods
+| *history* | Both | The history collection of methods
+| *labels* | Both | The labels collection of methods
+| *messages* | Both | The messages collection of methods
+| *threads* | Both | The threads collection of methods
+| *users* | Both | The users collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -169,6 +169,10 @@ Each API is documented in the following sections to come.
 
 ==== API: attachments
 
+*Both producer and consumer are supported*
+
+
+
 
 The attachments API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -216,6 +220,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: drafts
 
+*Both producer and consumer are supported*
+
+
+
 
 The drafts API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -296,6 +304,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: history
 
+*Both producer and consumer are supported*
+
+
+
 
 The history API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -341,6 +353,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: labels
 
+*Both producer and consumer are supported*
+
+
+
 
 The labels API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -413,6 +429,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: messages
 
+*Both producer and consumer are supported*
+
+
+
 
 The messages API has 11 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -518,6 +538,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: threads
 
+*Both producer and consumer are supported*
+
+
+
 
 The threads API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -589,6 +613,10 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: users
 
+*Both producer and consumer are supported*
+
+
+
 
 The users API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/docs/components/modules/ROOT/pages/google-sheets-component.adoc b/docs/components/modules/ROOT/pages/google-sheets-component.adoc
index ea29fb5..6a526ed 100644
--- a/docs/components/modules/ROOT/pages/google-sheets-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-sheets-component.adoc
@@ -152,11 +152,11 @@ google-sheets:apiName/methodName
 
 There are 2 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *data* | The values collection of methods
-| *spreadsheets* | The spreadsheets collection of methods
+| API Name | Type | Description
+| *data* | Both | The values collection of methods
+| *spreadsheets* | Both | The spreadsheets collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -164,6 +164,10 @@ Each API is documented in the following sections to come.
 
 ==== API: data
 
+*Both producer and consumer are supported*
+
+
+
 
 The data API has 10 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -254,16 +258,12 @@ The `inBody` parameter overrides message header, i.e. the endpoint parameter `in
 would override a `CamelGoogleSheets.myParameterNameHere` header.
 
 
-Any of the producer endpoints can be used as a consumer endpoint.
-Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
-By default Consumer endpoints that return an array or collection will generate one exchange per element,
-and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
-to return a single exchange for the entire list or array.
 
+==== API: spreadsheets
 
+*Both producer and consumer are supported*
 
 
-==== API: spreadsheets
 
 
 The spreadsheets API has 4 method(s) which is represented by the following method signatures
@@ -319,13 +319,6 @@ Any of the parameters can be provided in either the endpoint URI, or dynamically
 The message header name must be of the format `CamelGoogleSheets.parameter`.
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `CamelGoogleSheets.myParameterNameHere` header.
-
-
-Any of the producer endpoints can be used as a consumer endpoint.
-Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
-By default Consumer endpoints that return an array or collection will generate one exchange per element,
-and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
-to return a single exchange for the entire list or array.
 // endpoint options: END
 
 
diff --git a/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc b/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
index 5a069e5..cc03e26 100644
--- a/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
@@ -159,11 +159,11 @@ google-sheets-stream:apiName
 
 There are 2 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *data* | The values collection of methods
-| *spreadsheets* | The spreadsheets collection of methods
+| API Name | Type | Description
+| *data* | Both | The values collection of methods
+| *spreadsheets* | Both | The spreadsheets collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -171,6 +171,10 @@ Each API is documented in the following sections to come.
 
 ==== API: data
 
+*Both producer and consumer are supported*
+
+
+
 
 The data API has 10 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -261,16 +265,12 @@ The `inBody` parameter overrides message header, i.e. the endpoint parameter `in
 would override a `CamelGoogleSheetsStream.myParameterNameHere` header.
 
 
-Any of the producer endpoints can be used as a consumer endpoint.
-Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
-By default Consumer endpoints that return an array or collection will generate one exchange per element,
-and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
-to return a single exchange for the entire list or array.
 
+==== API: spreadsheets
 
+*Both producer and consumer are supported*
 
 
-==== API: spreadsheets
 
 
 The spreadsheets API has 4 method(s) which is represented by the following method signatures
@@ -326,13 +326,6 @@ Any of the parameters can be provided in either the endpoint URI, or dynamically
 The message header name must be of the format `CamelGoogleSheetsStream.parameter`.
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `CamelGoogleSheetsStream.myParameterNameHere` header.
-
-
-Any of the producer endpoints can be used as a consumer endpoint.
-Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
-By default Consumer endpoints that return an array or collection will generate one exchange per element,
-and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
-to return a single exchange for the entire list or array.
 // endpoint options: END
 
 == More information
diff --git a/docs/components/modules/ROOT/pages/olingo2-component.adoc b/docs/components/modules/ROOT/pages/olingo2-component.adoc
index e7b63cb..9153531 100644
--- a/docs/components/modules/ROOT/pages/olingo2-component.adoc
+++ b/docs/components/modules/ROOT/pages/olingo2-component.adoc
@@ -165,10 +165,10 @@ olingo2:apiName/methodName
 
 There are 1 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *DEFAULT* | Olingo2 Client Api Interface
+| API Name | Type | Description
+| *DEFAULT* | Both | Olingo2 Client Api Interface
 |===
 
 Each API is documented in the following sections to come.
@@ -176,6 +176,10 @@ Each API is documented in the following sections to come.
 
 ==== API: DEFAULT
 
+*Both producer and consumer are supported*
+
+
+
 
 The DEFAULT API has 8 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/docs/components/modules/ROOT/pages/olingo4-component.adoc b/docs/components/modules/ROOT/pages/olingo4-component.adoc
index 21e3c61..398c3b0 100644
--- a/docs/components/modules/ROOT/pages/olingo4-component.adoc
+++ b/docs/components/modules/ROOT/pages/olingo4-component.adoc
@@ -159,10 +159,10 @@ olingo4:apiName/methodName
 
 There are 1 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *DEFAULT* | Olingo4 Client Api Interface
+| API Name | Type | Description
+| *DEFAULT* | Both | Olingo4 Client Api Interface
 |===
 
 Each API is documented in the following sections to come.
@@ -170,6 +170,10 @@ Each API is documented in the following sections to come.
 
 ==== API: DEFAULT
 
+*Both producer and consumer are supported*
+
+
+
 
 The DEFAULT API has 9 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/docs/components/modules/ROOT/pages/twilio-component.adoc b/docs/components/modules/ROOT/pages/twilio-component.adoc
index af44cbd..fad193d 100644
--- a/docs/components/modules/ROOT/pages/twilio-component.adoc
+++ b/docs/components/modules/ROOT/pages/twilio-component.adoc
@@ -115,65 +115,65 @@ twilio:apiName/methodName
 
 There are 56 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
-|===
-| API Name | Description
-| *account* | 
-| *address* | 
-| *address-dependent-phone-number* | 
-| *application* | 
-| *available-phone-number-country* | 
-| *available-phone-number-country-local* | 
-| *available-phone-number-country-mobile* | 
-| *available-phone-number-country-toll-free* | 
-| *call* | 
-| *call-feedback* | 
-| *call-feedback-summary* | 
-| *call-notification* | 
-| *call-recording* | 
-| *conference* | 
-| *conference-participant* | 
-| *connect-app* | 
-| *incoming-phone-number* | 
-| *incoming-phone-number-local* | 
-| *incoming-phone-number-mobile* | 
-| *incoming-phone-number-toll-free* | 
-| *key* | 
-| *message* | 
-| *message-feedback* | 
-| *message-media* | 
-| *new-key* | 
-| *new-signing-key* | 
-| *notification* | 
-| *outgoing-caller-id* | 
-| *queue* | 
-| *queue-member* | 
-| *recording* | 
-| *recording-add-on-result* | 
-| *recording-add-on-result-payload* | 
-| *recording-transcription* | 
-| *short-code* | 
-| *signing-key* | 
-| *sip-credential-list* | 
-| *sip-credential-list-credential* | 
-| *sip-domain* | 
-| *sip-domain-credential-list-mapping* | 
-| *sip-domain-ip-access-control-list-mapping* | 
-| *sip-ip-access-control-list* | 
-| *sip-ip-access-control-list-ip-address* | 
-| *token* | 
-| *transcription* | 
-| *usage-record* | 
-| *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* | 
-| *usage-trigger* | 
-| *validation-request* | 
+[width="100%",cols="2,1,7",options="header"]
+|===
+| API Name | Type | Description
+| *account* | Both | 
+| *address* | Both | 
+| *address-dependent-phone-number* | Both | 
+| *application* | Both | 
+| *available-phone-number-country* | Both | 
+| *available-phone-number-country-local* | Both | 
+| *available-phone-number-country-mobile* | Both | 
+| *available-phone-number-country-toll-free* | Both | 
+| *call* | Both | 
+| *call-feedback* | Both | 
+| *call-feedback-summary* | Both | 
+| *call-notification* | Both | 
+| *call-recording* | Both | 
+| *conference* | Both | 
+| *conference-participant* | Both | 
+| *connect-app* | Both | 
+| *incoming-phone-number* | Both | 
+| *incoming-phone-number-local* | Both | 
+| *incoming-phone-number-mobile* | Both | 
+| *incoming-phone-number-toll-free* | Both | 
+| *key* | Both | 
+| *message* | Both | 
+| *message-feedback* | Both | 
+| *message-media* | Both | 
+| *new-key* | Both | 
+| *new-signing-key* | Both | 
+| *notification* | Both | 
+| *outgoing-caller-id* | Both | 
+| *queue* | Both | 
+| *queue-member* | Both | 
+| *recording* | Both | 
+| *recording-add-on-result* | Both | 
+| *recording-add-on-result-payload* | Both | 
+| *recording-transcription* | Both | 
+| *short-code* | Both | 
+| *signing-key* | Both | 
+| *sip-credential-list* | Both | 
+| *sip-credential-list-credential* | Both | 
+| *sip-domain* | Both | 
+| *sip-domain-credential-list-mapping* | Both | 
+| *sip-domain-ip-access-control-list-mapping* | Both | 
+| *sip-ip-access-control-list* | Both | 
+| *sip-ip-access-control-list-ip-address* | Both | 
+| *token* | Both | 
+| *transcription* | Both | 
+| *usage-record* | Both | 
+| *usage-record-all-time* | Both | 
+| *usage-record-daily* | Both | 
+| *usage-record-last-month* | Both | 
+| *usage-record-monthly* | Both | 
+| *usage-record-this-month* | Both | 
+| *usage-record-today* | Both | 
+| *usage-record-yearly* | Both | 
+| *usage-record-yesterday* | Both | 
+| *usage-trigger* | Both | 
+| *validation-request* | Both | 
 |===
 
 Each API is documented in the following sections to come.
@@ -181,6 +181,10 @@ Each API is documented in the following sections to come.
 
 ==== API: account
 
+*Both producer and consumer are supported*
+
+
+
 
 The account API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -234,6 +238,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: address
 
+*Both producer and consumer are supported*
+
+
+
 
 The address API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -314,6 +322,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: address-dependent-phone-number
 
+*Both producer and consumer are supported*
+
+
+
 
 The address-dependent-phone-number API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -362,6 +374,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: application
 
+*Both producer and consumer are supported*
+
+
+
 
 The application API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -436,6 +452,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: available-phone-number-country
 
+*Both producer and consumer are supported*
+
+
+
 
 The available-phone-number-country API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -490,6 +510,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: available-phone-number-country-local
 
+*Both producer and consumer are supported*
+
+
+
 
 The available-phone-number-country-local API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -538,6 +562,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: available-phone-number-country-mobile
 
+*Both producer and consumer are supported*
+
+
+
 
 The available-phone-number-country-mobile API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -586,6 +614,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: available-phone-number-country-toll-free
 
+*Both producer and consumer are supported*
+
+
+
 
 The available-phone-number-country-toll-free API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -634,6 +666,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: call
 
+*Both producer and consumer are supported*
+
+
+
 
 The call API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -721,6 +757,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: call-feedback
 
+*Both producer and consumer are supported*
+
+
+
 
 The call-feedback API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -785,6 +825,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: call-feedback-summary
 
+*Both producer and consumer are supported*
+
+
+
 
 The call-feedback-summary API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -848,6 +892,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: call-notification
 
+*Both producer and consumer are supported*
+
+
+
 
 The call-notification API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -904,6 +952,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: call-recording
 
+*Both producer and consumer are supported*
+
+
+
 
 The call-recording API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -984,6 +1036,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: conference
 
+*Both producer and consumer are supported*
+
+
+
 
 The conference API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1045,6 +1101,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: conference-participant
 
+*Both producer and consumer are supported*
+
+
+
 
 The conference-participant API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1126,6 +1186,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: connect-app
 
+*Both producer and consumer are supported*
+
+
+
 
 The connect-app API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1194,6 +1258,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: incoming-phone-number
 
+*Both producer and consumer are supported*
+
+
+
 
 The incoming-phone-number API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1274,6 +1342,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: incoming-phone-number-local
 
+*Both producer and consumer are supported*
+
+
+
 
 The incoming-phone-number-local API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1328,6 +1400,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: incoming-phone-number-mobile
 
+*Both producer and consumer are supported*
+
+
+
 
 The incoming-phone-number-mobile API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1382,6 +1458,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: incoming-phone-number-toll-free
 
+*Both producer and consumer are supported*
+
+
+
 
 The incoming-phone-number-toll-free API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1436,6 +1516,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: key
 
+*Both producer and consumer are supported*
+
+
+
 
 The key API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1504,6 +1588,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: message
 
+*Both producer and consumer are supported*
+
+
+
 
 The message API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1596,6 +1684,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: message-feedback
 
+*Both producer and consumer are supported*
+
+
+
 
 The message-feedback API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1644,6 +1736,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: message-media
 
+*Both producer and consumer are supported*
+
+
+
 
 The message-media API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1708,6 +1804,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: new-key
 
+*Both producer and consumer are supported*
+
+
+
 
 The new-key API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1755,6 +1855,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: new-signing-key
 
+*Both producer and consumer are supported*
+
+
+
 
 The new-signing-key API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1802,6 +1906,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: notification
 
+*Both producer and consumer are supported*
+
+
+
 
 The notification API has 2 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1856,6 +1964,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: outgoing-caller-id
 
+*Both producer and consumer are supported*
+
+
+
 
 The outgoing-caller-id API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1924,6 +2036,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: queue
 
+*Both producer and consumer are supported*
+
+
+
 
 The queue API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -1999,6 +2115,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: queue-member
 
+*Both producer and consumer are supported*
+
+
+
 
 The queue-member API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2064,6 +2184,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: recording
 
+*Both producer and consumer are supported*
+
+
+
 
 The recording API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2125,6 +2249,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: recording-add-on-result
 
+*Both producer and consumer are supported*
+
+
+
 
 The recording-add-on-result API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2189,6 +2317,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: recording-add-on-result-payload
 
+*Both producer and consumer are supported*
+
+
+
 
 The recording-add-on-result-payload API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2256,6 +2388,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: recording-transcription
 
+*Both producer and consumer are supported*
+
+
+
 
 The recording-transcription API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2320,6 +2456,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: short-code
 
+*Both producer and consumer are supported*
+
+
+
 
 The short-code API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2381,6 +2521,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: signing-key
 
+*Both producer and consumer are supported*
+
+
+
 
 The signing-key API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2449,6 +2593,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-credential-list
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-credential-list API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2525,6 +2673,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-credential-list-credential
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-credential-list-credential API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2606,6 +2758,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-domain
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-domain API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2681,6 +2837,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-domain-credential-list-mapping
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-domain-credential-list-mapping API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2753,6 +2913,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-domain-ip-access-control-list-mapping
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-domain-ip-access-control-list-mapping API has 4 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2825,6 +2989,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-ip-access-control-list
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-ip-access-control-list API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2901,6 +3069,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: sip-ip-access-control-list-ip-address
 
+*Both producer and consumer are supported*
+
+
+
 
 The sip-ip-access-control-list-ip-address API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -2982,6 +3154,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: token
 
+*Both producer and consumer are supported*
+
+
+
 
 The token API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3029,6 +3205,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: transcription
 
+*Both producer and consumer are supported*
+
+
+
 
 The transcription API has 3 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3090,6 +3270,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3137,6 +3321,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-all-time
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-all-time API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3184,6 +3372,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-daily
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-daily API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3231,6 +3423,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-last-month
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-last-month API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3278,6 +3474,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-monthly
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-monthly API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3325,6 +3525,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-this-month
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-this-month API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3372,6 +3576,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-today
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-today API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3419,6 +3627,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-yearly
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-yearly API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3466,6 +3678,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-record-yesterday
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-record-yesterday API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3513,6 +3729,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: usage-trigger
 
+*Both producer and consumer are supported*
+
+
+
 
 The usage-trigger API has 5 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -3590,6 +3810,10 @@ would override a `CamelTwilio.myParameterNameHere` header.
 
 ==== API: validation-request
 
+*Both producer and consumer are supported*
+
+
+
 
 The validation-request API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/docs/components/modules/ROOT/pages/zendesk-component.adoc b/docs/components/modules/ROOT/pages/zendesk-component.adoc
index 837cdd3..3de5c5c 100644
--- a/docs/components/modules/ROOT/pages/zendesk-component.adoc
+++ b/docs/components/modules/ROOT/pages/zendesk-component.adoc
@@ -121,10 +121,10 @@ zendesk:methodName
 
 There are 1 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *DEFAULT* | 
+| API Name | Type | Description
+| *DEFAULT* | Both | 
 |===
 
 Each API is documented in the following sections to come.
@@ -132,6 +132,10 @@ Each API is documented in the following sections to come.
 
 ==== API: DEFAULT
 
+*Both producer and consumer are supported*
+
+
+
 
 The DEFAULT API has 221 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):


[camel] 01/05: CAMEL-15549: Api consumer to expose splitResults options and some more work needed

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 264a61ec8064b3cf8aad01846c886b28a56e3a25
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Sep 20 11:55:39 2020 +0200

    CAMEL-15549: Api consumer to expose splitResults options and some more work needed
---
 .../catalog/docs/google-sheets-component.adoc      | 25 +++++++++++++---
 .../docs/google-sheets-stream-component.adoc       | 15 ++++++++++
 .../camel/component/as2/AS2Configuration.java      |  3 +-
 .../apache/camel/component/as2/AS2Consumer.java    | 31 +++++++++----------
 .../apache/camel/component/as2/AS2Endpoint.java    |  1 -
 .../sheets/GoogleSheetsComponentConfigurer.java    |  5 ++++
 .../GoogleSheetsConfigurationConfigurer.java       |  5 ++++
 .../sheets/GoogleSheetsEndpointConfigurer.java     |  5 ++++
 ...preadsheetsEndpointConfigurationConfigurer.java |  5 ++++
 ...heetsValuesEndpointConfigurationConfigurer.java |  5 ++++
 .../component/google/sheets/google-sheets.json     |  2 ++
 .../src/main/docs/google-sheets-component.adoc     | 25 +++++++++++++---
 .../main/docs/google-sheets-stream-component.adoc  | 15 ++++++++++
 .../google/sheets/GoogleSheetsConfiguration.java   |  3 +-
 .../google/sheets/GoogleSheetsEndpoint.java        |  1 -
 .../dsl/GoogleSheetsComponentBuilderFactory.java   | 16 ++++++++++
 .../dsl/GoogleSheetsEndpointBuilderFactory.java    | 32 ++++++++++++++++++++
 .../component/AbstractApiConfiguration.java        | 35 ++++++++++++++++++++++
 .../support/component/AbstractApiEndpoint.java     | 10 +++++++
 .../ROOT/pages/google-sheets-component.adoc        | 25 +++++++++++++---
 .../ROOT/pages/google-sheets-stream-component.adoc | 15 ++++++++++
 .../src/main/resources/endpoint-options.mvel       |  8 +++++
 22 files changed, 256 insertions(+), 31 deletions(-)

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 64e465b..127d348 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
@@ -57,7 +57,7 @@ Endpoint prefix can be one of:
 === Component options
 
 // component options: START
-The Google Sheets component supports 10 options, which are listed below.
+The Google Sheets component supports 11 options, which are listed below.
 
 
 
@@ -68,6 +68,7 @@ The Google Sheets component supports 10 options, which are listed below.
 | *clientId* (common) | Client ID of the sheets application |  | String
 | *configuration* (common) | To use the shared configuration |  | GoogleSheetsConfiguration
 | *bridgeErrorHandler* (consumer) | 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. | false | boolean
+| *splitResult* (consumer) | When consumer return an array or collection this will generate one exchange per element, and their routes will be executed once for each exchange. Set this value to false to use a single exchange for the entire list or array. | true | boolean
 | *lazyStartProducer* (producer) | 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 [...]
 | *basicPropertyBinding* (advanced) | *Deprecated* Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *clientFactory* (advanced) | To use the GoogleSheetsClientFactory as factory for creating the client. Will by default use BatchGoogleSheetsClientFactory |  | GoogleSheetsClientFactory
@@ -98,7 +99,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (28 parameters):
+=== Query Parameters (29 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -109,6 +110,7 @@ with the following path and query parameters:
 | *inBody* (common) | Sets the name of a parameter to be passed in the exchange In Body |  | String
 | *bridgeErrorHandler* (consumer) | 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. | false | boolean
 | *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
+| *splitResult* (consumer) | When consumer return an array or collection this will generate one exchange per element, and their routes will be executed once for each exchange. Set this value to false to use a single exchange for the entire list or array. | true | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
 | *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
@@ -241,7 +243,7 @@ The data API method(s) has the following set of parameters listed in the table b
 | update | *values* |  The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
 |===
 
-In addition to the parameters above, the data API can also use from the 28 endpoint query option
+In addition to the parameters above, the data API can also use from the 29 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -250,6 +252,14 @@ The `inBody` parameter overrides message header, i.e. the endpoint parameter `in
 would override a `CamelGoogleSheets.myParameterNameHere` header.
 
 
+Any of the producer endpoints can be used as a consumer endpoint.
+Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
+By default Consumer endpoints that return an array or collection will generate one exchange per element,
+and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
+to return a single exchange for the entire list or array.
+
+
+
 
 ==== API: spreadsheets
 
@@ -300,13 +310,20 @@ The spreadsheets API method(s) has the following set of parameters listed in the
 | getByDataFilter | *spreadsheetId* |  The spreadsheet to request | String
 |===
 
-In addition to the parameters above, the spreadsheets API can also use from the 28 endpoint query option
+In addition to the parameters above, the spreadsheets API can also use from the 29 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
 The message header name must be of the format `CamelGoogleSheets.parameter`.
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `CamelGoogleSheets.myParameterNameHere` header.
+
+
+Any of the producer endpoints can be used as a consumer endpoint.
+Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
+By default Consumer endpoints that return an array or collection will generate one exchange per element,
+and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
+to return a single exchange for the entire list or array.
 // 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 e59814a..bc13a34 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
@@ -259,6 +259,14 @@ The `inBody` parameter overrides message header, i.e. the endpoint parameter `in
 would override a `CamelGoogleSheetsStream.myParameterNameHere` header.
 
 
+Any of the producer endpoints can be used as a consumer endpoint.
+Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
+By default Consumer endpoints that return an array or collection will generate one exchange per element,
+and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
+to return a single exchange for the entire list or array.
+
+
+
 
 ==== API: spreadsheets
 
@@ -316,6 +324,13 @@ Any of the parameters can be provided in either the endpoint URI, or dynamically
 The message header name must be of the format `CamelGoogleSheetsStream.parameter`.
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `CamelGoogleSheetsStream.myParameterNameHere` header.
+
+
+Any of the producer endpoints can be used as a consumer endpoint.
+Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
+By default Consumer endpoints that return an array or collection will generate one exchange per element,
+and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
+to return a single exchange for the entire list or array.
 // endpoint options: END
 
 == More information
diff --git a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Configuration.java b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Configuration.java
index 7d1f505..4883814 100644
--- a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Configuration.java
+++ b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Configuration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.component.AbstractApiConfiguration;
 import org.apache.http.entity.ContentType;
 
 /**
@@ -37,7 +38,7 @@ import org.apache.http.entity.ContentType;
  */
 @UriParams
 @Configurer
-public class AS2Configuration {
+public class AS2Configuration extends AbstractApiConfiguration {
 
     @UriPath
     @Metadata(required = true, enums = "client,server")
diff --git a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Consumer.java b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Consumer.java
index c1b70b7..6290661 100644
--- a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Consumer.java
+++ b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Consumer.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.as2;
 
-import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
@@ -55,11 +54,8 @@ public class AS2Consumer extends AbstractApiConsumer<AS2ApiName, AS2Configuratio
     private static final String REQUEST_URI_PROPERTY = "requestUri";
 
     private AS2ServerConnection as2ServerConnection;
-
     private AS2ServerManager apiProxy;
-
     private final ApiMethod apiMethod;
-
     private final Map<String, Object> properties;
 
     public AS2Consumer(AS2Endpoint endpoint, Processor processor) {
@@ -67,15 +63,9 @@ public class AS2Consumer extends AbstractApiConsumer<AS2ApiName, AS2Configuratio
 
         apiMethod = ApiConsumerHelper.findMethod(endpoint, this);
 
-        // Add listener property to register this consumer as listener for
-        // events.
         properties = new HashMap<>();
         properties.putAll(endpoint.getEndpointProperties());
         properties.put(HANDLER_PROPERTY, this);
-
-        as2ServerConnection = endpoint.getAS2ServerConnection();
-
-        apiProxy = new AS2ServerManager(as2ServerConnection);
     }
 
     @Override
@@ -89,25 +79,36 @@ public class AS2Consumer extends AbstractApiConsumer<AS2ApiName, AS2Configuratio
     }
 
     @Override
+    public AS2Endpoint getEndpoint() {
+        return (AS2Endpoint) super.getEndpoint();
+    }
+
+    @Override
     protected void doStart() throws Exception {
         super.doStart();
 
+        // Add listener property to register this consumer as listener for events
+        as2ServerConnection = getEndpoint().getAS2ServerConnection();
+        apiProxy = new AS2ServerManager(as2ServerConnection);
+
         // invoke the API method to start listening
         ApiMethodHelper.invokeMethod(apiProxy, apiMethod, properties);
     }
 
     @Override
     protected void doStop() throws Exception {
-        String requestUri = (String) properties.get(REQUEST_URI_PROPERTY);
-        apiProxy.stopListening(requestUri);
+        if (apiProxy != null) {
+            String requestUri = (String) properties.get(REQUEST_URI_PROPERTY);
+            apiProxy.stopListening(requestUri);
+        }
 
         super.doStop();
     }
 
     @Override
     public void handle(HttpRequest request, HttpResponse response, HttpContext context)
-            throws HttpException, IOException {
-        Exception exception = null;
+            throws HttpException {
+        Exception exception;
         try {
             if (request instanceof HttpEntityEnclosingRequest) {
                 EntityParser.parseAS2MessageEntity(request);
@@ -133,7 +134,7 @@ public class AS2Consumer extends AbstractApiConsumer<AS2ApiName, AS2Configuratio
                 exception = exchange.getException();
             }
         } catch (Exception e) {
-            LOG.info("Failed to process AS2 message", e);
+            LOG.warn("Failed to process AS2 message", e);
             exception = e;
         }
 
diff --git a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Endpoint.java b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Endpoint.java
index 934af84..20704b5 100644
--- a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Endpoint.java
+++ b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Endpoint.java
@@ -90,7 +90,6 @@ public class AS2Endpoint extends AbstractApiEndpoint<AS2ApiName, AS2Configuratio
             throw new IllegalArgumentException("Option inBody is not supported for consumer endpoint");
         }
         final AS2Consumer consumer = new AS2Consumer(this, processor);
-        // also set consumer.* properties
         configureConsumer(consumer);
         return consumer;
     }
diff --git a/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/GoogleSheetsComponentConfigurer.java b/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/GoogleSheetsComponentConfigurer.java
index 523773c..a0d8e09 100644
--- a/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/GoogleSheetsComponentConfigurer.java
+++ b/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/GoogleSheetsComponentConfigurer.java
@@ -45,6 +45,8 @@ public class GoogleSheetsComponentConfigurer extends PropertyConfigurerSupport i
         case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
         case "refreshtoken":
         case "refreshToken": getOrCreateConfiguration(target).setRefreshToken(property(camelContext, java.lang.String.class, value)); return true;
+        case "splitresult":
+        case "splitResult": getOrCreateConfiguration(target).setSplitResult(property(camelContext, boolean.class, value)); return true;
         default: return false;
         }
     }
@@ -62,6 +64,7 @@ public class GoogleSheetsComponentConfigurer extends PropertyConfigurerSupport i
         answer.put("configuration", org.apache.camel.component.google.sheets.GoogleSheetsConfiguration.class);
         answer.put("lazyStartProducer", boolean.class);
         answer.put("refreshToken", java.lang.String.class);
+        answer.put("splitResult", boolean.class);
         return answer;
     }
 
@@ -88,6 +91,8 @@ public class GoogleSheetsComponentConfigurer extends PropertyConfigurerSupport i
         case "lazyStartProducer": return target.isLazyStartProducer();
         case "refreshtoken":
         case "refreshToken": return getOrCreateConfiguration(target).getRefreshToken();
+        case "splitresult":
+        case "splitResult": return getOrCreateConfiguration(target).isSplitResult();
         default: return null;
         }
     }
diff --git a/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/GoogleSheetsConfigurationConfigurer.java b/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/GoogleSheetsConfigurationConfigurer.java
index e9d32b4..5b32a65 100644
--- a/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/GoogleSheetsConfigurationConfigurer.java
+++ b/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/GoogleSheetsConfigurationConfigurer.java
@@ -33,6 +33,8 @@ public class GoogleSheetsConfigurationConfigurer extends org.apache.camel.suppor
         case "MethodName": target.setMethodName(property(camelContext, java.lang.String.class, value)); return true;
         case "refreshtoken":
         case "RefreshToken": target.setRefreshToken(property(camelContext, java.lang.String.class, value)); return true;
+        case "splitresult":
+        case "SplitResult": target.setSplitResult(property(camelContext, boolean.class, value)); return true;
         default: return false;
         }
     }
@@ -47,6 +49,7 @@ public class GoogleSheetsConfigurationConfigurer extends org.apache.camel.suppor
         answer.put("ClientSecret", java.lang.String.class);
         answer.put("MethodName", java.lang.String.class);
         answer.put("RefreshToken", java.lang.String.class);
+        answer.put("SplitResult", boolean.class);
         return answer;
     }
 
@@ -68,6 +71,8 @@ public class GoogleSheetsConfigurationConfigurer extends org.apache.camel.suppor
         case "MethodName": return target.getMethodName();
         case "refreshtoken":
         case "RefreshToken": return target.getRefreshToken();
+        case "splitresult":
+        case "SplitResult": return target.isSplitResult();
         default: return null;
         }
     }
diff --git a/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/GoogleSheetsEndpointConfigurer.java b/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/GoogleSheetsEndpointConfigurer.java
index 15491d3..5e7971f 100644
--- a/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/GoogleSheetsEndpointConfigurer.java
+++ b/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/GoogleSheetsEndpointConfigurer.java
@@ -64,6 +64,8 @@ public class GoogleSheetsEndpointConfigurer extends PropertyConfigurerSupport im
         case "schedulerProperties": target.setSchedulerProperties(property(camelContext, java.util.Map.class, value)); return true;
         case "sendemptymessagewhenidle":
         case "sendEmptyMessageWhenIdle": target.setSendEmptyMessageWhenIdle(property(camelContext, boolean.class, value)); return true;
+        case "splitresult":
+        case "splitResult": target.getConfiguration().setSplitResult(property(camelContext, boolean.class, value)); return true;
         case "startscheduler":
         case "startScheduler": target.setStartScheduler(property(camelContext, boolean.class, value)); return true;
         case "synchronous": target.setSynchronous(property(camelContext, boolean.class, value)); return true;
@@ -102,6 +104,7 @@ public class GoogleSheetsEndpointConfigurer extends PropertyConfigurerSupport im
         answer.put("scheduler", java.lang.Object.class);
         answer.put("schedulerProperties", java.util.Map.class);
         answer.put("sendEmptyMessageWhenIdle", boolean.class);
+        answer.put("splitResult", boolean.class);
         answer.put("startScheduler", boolean.class);
         answer.put("synchronous", boolean.class);
         answer.put("timeUnit", java.util.concurrent.TimeUnit.class);
@@ -158,6 +161,8 @@ public class GoogleSheetsEndpointConfigurer extends PropertyConfigurerSupport im
         case "schedulerProperties": return target.getSchedulerProperties();
         case "sendemptymessagewhenidle":
         case "sendEmptyMessageWhenIdle": return target.isSendEmptyMessageWhenIdle();
+        case "splitresult":
+        case "splitResult": return target.getConfiguration().isSplitResult();
         case "startscheduler":
         case "startScheduler": return target.isStartScheduler();
         case "synchronous": return target.isSynchronous();
diff --git a/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsEndpointConfigurationConfigurer.java b/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsEndpointConfigurationConfigurer.java
index 452f379..1a05b83 100644
--- a/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsEndpointConfigurationConfigurer.java
+++ b/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsEndpointConfigurationConfigurer.java
@@ -39,6 +39,8 @@ public class SheetsSpreadsheetsEndpointConfigurationConfigurer extends org.apach
         case "MethodName": target.setMethodName(property(camelContext, java.lang.String.class, value)); return true;
         case "refreshtoken":
         case "RefreshToken": target.setRefreshToken(property(camelContext, java.lang.String.class, value)); return true;
+        case "splitresult":
+        case "SplitResult": target.setSplitResult(property(camelContext, boolean.class, value)); return true;
         case "spreadsheetid":
         case "SpreadsheetId": target.setSpreadsheetId(property(camelContext, java.lang.String.class, value)); return true;
         default: return false;
@@ -58,6 +60,7 @@ public class SheetsSpreadsheetsEndpointConfigurationConfigurer extends org.apach
         answer.put("GetSpreadsheetByDataFilterRequest", com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest.class);
         answer.put("MethodName", java.lang.String.class);
         answer.put("RefreshToken", java.lang.String.class);
+        answer.put("SplitResult", boolean.class);
         answer.put("SpreadsheetId", java.lang.String.class);
         return answer;
     }
@@ -86,6 +89,8 @@ public class SheetsSpreadsheetsEndpointConfigurationConfigurer extends org.apach
         case "MethodName": return target.getMethodName();
         case "refreshtoken":
         case "RefreshToken": return target.getRefreshToken();
+        case "splitresult":
+        case "SplitResult": return target.isSplitResult();
         case "spreadsheetid":
         case "SpreadsheetId": return target.getSpreadsheetId();
         default: return null;
diff --git a/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsValuesEndpointConfigurationConfigurer.java b/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsValuesEndpointConfigurationConfigurer.java
index 65087fb..b80b2d3 100644
--- a/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsValuesEndpointConfigurationConfigurer.java
+++ b/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsValuesEndpointConfigurationConfigurer.java
@@ -47,6 +47,8 @@ public class SheetsSpreadsheetsValuesEndpointConfigurationConfigurer extends org
         case "Range": target.setRange(property(camelContext, java.lang.String.class, value)); return true;
         case "refreshtoken":
         case "RefreshToken": target.setRefreshToken(property(camelContext, java.lang.String.class, value)); return true;
+        case "splitresult":
+        case "SplitResult": target.setSplitResult(property(camelContext, boolean.class, value)); return true;
         case "spreadsheetid":
         case "SpreadsheetId": target.setSpreadsheetId(property(camelContext, java.lang.String.class, value)); return true;
         case "values":
@@ -72,6 +74,7 @@ public class SheetsSpreadsheetsValuesEndpointConfigurationConfigurer extends org
         answer.put("MethodName", java.lang.String.class);
         answer.put("Range", java.lang.String.class);
         answer.put("RefreshToken", java.lang.String.class);
+        answer.put("SplitResult", boolean.class);
         answer.put("SpreadsheetId", java.lang.String.class);
         answer.put("Values", com.google.api.services.sheets.v4.model.ValueRange.class);
         return answer;
@@ -109,6 +112,8 @@ public class SheetsSpreadsheetsValuesEndpointConfigurationConfigurer extends org
         case "Range": return target.getRange();
         case "refreshtoken":
         case "RefreshToken": return target.getRefreshToken();
+        case "splitresult":
+        case "SplitResult": return target.isSplitResult();
         case "spreadsheetid":
         case "SpreadsheetId": return target.getSpreadsheetId();
         case "values":
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 72a38e7..9091baa 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
@@ -28,6 +28,7 @@
     "clientId": { "kind": "property", "displayName": "Client Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.google.sheets.GoogleSheetsConfiguration", "configurationField": "configuration", "description": "Client ID of the sheets application" },
     "configuration": { "kind": "property", "displayName": "Configuration", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.google.sheets.GoogleSheetsConfiguration", "deprecated": false, "secret": false, "description": "To use the shared configuration" },
     "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 [...]
+    "splitResult": { "kind": "property", "displayName": "Split Result", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.google.sheets.GoogleSheetsConfiguration", "configurationField": "configuration", "description": "When consumer return an array or collection this will generate one exchange per element, and their routes wi [...]
     "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" },
     "clientFactory": { "kind": "property", "displayName": "Client Factory", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.google.sheets.GoogleSheetsClientFactory", "deprecated": false, "secret": false, "description": "To use the GoogleSheetsClientFactory as factory for creating the client. Will by default use BatchGoogleSheetsClientFactory" },
@@ -43,6 +44,7 @@
     "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." },
+    "splitResult": { "kind": "parameter", "displayName": "Split Result", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.google.sheets.GoogleSheetsConfiguration", "configurationField": "configuration", "description": "When consumer return an array or collection this will generate one exchange per element, and their routes w [...]
     "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 [...]
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 64e465b..127d348 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
@@ -57,7 +57,7 @@ Endpoint prefix can be one of:
 === Component options
 
 // component options: START
-The Google Sheets component supports 10 options, which are listed below.
+The Google Sheets component supports 11 options, which are listed below.
 
 
 
@@ -68,6 +68,7 @@ The Google Sheets component supports 10 options, which are listed below.
 | *clientId* (common) | Client ID of the sheets application |  | String
 | *configuration* (common) | To use the shared configuration |  | GoogleSheetsConfiguration
 | *bridgeErrorHandler* (consumer) | 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. | false | boolean
+| *splitResult* (consumer) | When consumer return an array or collection this will generate one exchange per element, and their routes will be executed once for each exchange. Set this value to false to use a single exchange for the entire list or array. | true | boolean
 | *lazyStartProducer* (producer) | 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 [...]
 | *basicPropertyBinding* (advanced) | *Deprecated* Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *clientFactory* (advanced) | To use the GoogleSheetsClientFactory as factory for creating the client. Will by default use BatchGoogleSheetsClientFactory |  | GoogleSheetsClientFactory
@@ -98,7 +99,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (28 parameters):
+=== Query Parameters (29 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -109,6 +110,7 @@ with the following path and query parameters:
 | *inBody* (common) | Sets the name of a parameter to be passed in the exchange In Body |  | String
 | *bridgeErrorHandler* (consumer) | 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. | false | boolean
 | *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
+| *splitResult* (consumer) | When consumer return an array or collection this will generate one exchange per element, and their routes will be executed once for each exchange. Set this value to false to use a single exchange for the entire list or array. | true | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
 | *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
@@ -241,7 +243,7 @@ The data API method(s) has the following set of parameters listed in the table b
 | update | *values* |  The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
 |===
 
-In addition to the parameters above, the data API can also use from the 28 endpoint query option
+In addition to the parameters above, the data API can also use from the 29 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -250,6 +252,14 @@ The `inBody` parameter overrides message header, i.e. the endpoint parameter `in
 would override a `CamelGoogleSheets.myParameterNameHere` header.
 
 
+Any of the producer endpoints can be used as a consumer endpoint.
+Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
+By default Consumer endpoints that return an array or collection will generate one exchange per element,
+and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
+to return a single exchange for the entire list or array.
+
+
+
 
 ==== API: spreadsheets
 
@@ -300,13 +310,20 @@ The spreadsheets API method(s) has the following set of parameters listed in the
 | getByDataFilter | *spreadsheetId* |  The spreadsheet to request | String
 |===
 
-In addition to the parameters above, the spreadsheets API can also use from the 28 endpoint query option
+In addition to the parameters above, the spreadsheets API can also use from the 29 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
 The message header name must be of the format `CamelGoogleSheets.parameter`.
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `CamelGoogleSheets.myParameterNameHere` header.
+
+
+Any of the producer endpoints can be used as a consumer endpoint.
+Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
+By default Consumer endpoints that return an array or collection will generate one exchange per element,
+and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
+to return a single exchange for the entire list or array.
 // 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 e59814a..bc13a34 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
@@ -259,6 +259,14 @@ The `inBody` parameter overrides message header, i.e. the endpoint parameter `in
 would override a `CamelGoogleSheetsStream.myParameterNameHere` header.
 
 
+Any of the producer endpoints can be used as a consumer endpoint.
+Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
+By default Consumer endpoints that return an array or collection will generate one exchange per element,
+and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
+to return a single exchange for the entire list or array.
+
+
+
 
 ==== API: spreadsheets
 
@@ -316,6 +324,13 @@ Any of the parameters can be provided in either the endpoint URI, or dynamically
 The message header name must be of the format `CamelGoogleSheetsStream.parameter`.
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `CamelGoogleSheetsStream.myParameterNameHere` header.
+
+
+Any of the producer endpoints can be used as a consumer endpoint.
+Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
+By default Consumer endpoints that return an array or collection will generate one exchange per element,
+and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
+to return a single exchange for the entire list or array.
 // endpoint options: END
 
 == More information
diff --git a/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConfiguration.java b/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConfiguration.java
index f37df0f..3906b84 100644
--- a/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConfiguration.java
+++ b/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConfiguration.java
@@ -22,13 +22,14 @@ import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.component.AbstractApiConfiguration;
 
 /**
  * Component configuration for GoogleSheets component.
  */
 @UriParams
 @Configurer
-public class GoogleSheetsConfiguration {
+public class GoogleSheetsConfiguration extends AbstractApiConfiguration {
 
     @UriPath
     @Metadata(required = true)
diff --git a/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsEndpoint.java b/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsEndpoint.java
index 09f4359..c8987ed 100644
--- a/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsEndpoint.java
+++ b/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsEndpoint.java
@@ -38,7 +38,6 @@ import org.apache.camel.support.component.ApiMethodPropertiesHelper;
  */
 @UriEndpoint(firstVersion = "2.23.0", scheme = "google-sheets", title = "Google Sheets",
              syntax = "google-sheets:apiName/methodName", apiSyntax = "apiName/methodName",
-             consumerPrefix = "consumer",
              category = { Category.API, Category.CLOUD, Category.SHEETS })
 public class GoogleSheetsEndpoint extends AbstractApiEndpoint<GoogleSheetsApiName, GoogleSheetsConfiguration> {
 
diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/GoogleSheetsComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/GoogleSheetsComponentBuilderFactory.java
index c92972e..d0d89fe 100644
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/GoogleSheetsComponentBuilderFactory.java
+++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/GoogleSheetsComponentBuilderFactory.java
@@ -105,6 +105,21 @@ public interface GoogleSheetsComponentBuilderFactory {
             return this;
         }
         /**
+         * When consumer return an array or collection this will generate one
+         * exchange per element, and their routes will be executed once for each
+         * exchange. Set this value to false to use a single exchange for the
+         * entire list or array.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: true
+         * Group: consumer
+         */
+        default GoogleSheetsComponentBuilder splitResult(boolean splitResult) {
+            doSetProperty("splitResult", splitResult);
+            return this;
+        }
+        /**
          * 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
@@ -221,6 +236,7 @@ public interface GoogleSheetsComponentBuilderFactory {
             case "clientId": getOrCreateConfiguration((GoogleSheetsComponent) component).setClientId((java.lang.String) value); return true;
             case "configuration": ((GoogleSheetsComponent) component).setConfiguration((org.apache.camel.component.google.sheets.GoogleSheetsConfiguration) value); return true;
             case "bridgeErrorHandler": ((GoogleSheetsComponent) component).setBridgeErrorHandler((boolean) value); return true;
+            case "splitResult": getOrCreateConfiguration((GoogleSheetsComponent) component).setSplitResult((boolean) value); return true;
             case "lazyStartProducer": ((GoogleSheetsComponent) component).setLazyStartProducer((boolean) value); return true;
             case "basicPropertyBinding": ((GoogleSheetsComponent) component).setBasicPropertyBinding((boolean) value); return true;
             case "clientFactory": ((GoogleSheetsComponent) component).setClientFactory((org.apache.camel.component.google.sheets.GoogleSheetsClientFactory) value); return true;
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GoogleSheetsEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GoogleSheetsEndpointBuilderFactory.java
index 08e288f..2339bf5 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GoogleSheetsEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GoogleSheetsEndpointBuilderFactory.java
@@ -148,6 +148,38 @@ public interface GoogleSheetsEndpointBuilderFactory {
             return this;
         }
         /**
+         * When consumer return an array or collection this will generate one
+         * exchange per element, and their routes will be executed once for each
+         * exchange. Set this value to false to use a single exchange for the
+         * entire list or array.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: true
+         * Group: consumer
+         */
+        default GoogleSheetsEndpointConsumerBuilder splitResult(
+                boolean splitResult) {
+            doSetProperty("splitResult", splitResult);
+            return this;
+        }
+        /**
+         * When consumer return an array or collection this will generate one
+         * exchange per element, and their routes will be executed once for each
+         * exchange. Set this value to false to use a single exchange for the
+         * entire list or array.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: true
+         * Group: consumer
+         */
+        default GoogleSheetsEndpointConsumerBuilder splitResult(
+                String splitResult) {
+            doSetProperty("splitResult", splitResult);
+            return this;
+        }
+        /**
          * The number of subsequent error polls (failed due some error) that
          * should happen before the backoffMultipler should kick-in.
          * 
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/component/AbstractApiConfiguration.java b/core/camel-support/src/main/java/org/apache/camel/support/component/AbstractApiConfiguration.java
new file mode 100644
index 0000000..e0d120d
--- /dev/null
+++ b/core/camel-support/src/main/java/org/apache/camel/support/component/AbstractApiConfiguration.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.support.component;
+
+import org.apache.camel.spi.UriParam;
+
+public class AbstractApiConfiguration {
+
+    @UriParam(label = "consumer", defaultValue = "true",
+              description = "When consumer return an array or collection this will generate one exchange per element, and their routes will be executed once for each exchange. Set this value to false to use a single exchange for the entire list or array.")
+    private boolean splitResult;
+
+    public boolean isSplitResult() {
+        return splitResult;
+    }
+
+    public void setSplitResult(boolean splitResult) {
+        this.splitResult = splitResult;
+    }
+
+}
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/component/AbstractApiEndpoint.java b/core/camel-support/src/main/java/org/apache/camel/support/component/AbstractApiEndpoint.java
index 0a187b4..a60fa2a 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/component/AbstractApiEndpoint.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/component/AbstractApiEndpoint.java
@@ -29,6 +29,7 @@ import java.util.concurrent.ExecutorService;
 import org.apache.camel.ApiEndpoint;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Component;
+import org.apache.camel.Consumer;
 import org.apache.camel.spi.ExecutorServiceManager;
 import org.apache.camel.spi.ThreadPoolProfile;
 import org.apache.camel.spi.UriParam;
@@ -153,6 +154,15 @@ public abstract class AbstractApiEndpoint<E extends ApiName, T>
     }
 
     @Override
+    protected void configureConsumer(Consumer consumer) throws Exception {
+        super.configureConsumer(consumer);
+        if (getConfiguration() instanceof AbstractApiConfiguration && consumer instanceof AbstractApiConsumer) {
+            ((AbstractApiConsumer<?, ?>) consumer)
+                    .setSplitResult(((AbstractApiConfiguration) getConfiguration()).isSplitResult());
+        }
+    }
+
+    @Override
     public void interceptPropertyNames(Set<String> propertyNames) {
         // do nothing by default
     }
diff --git a/docs/components/modules/ROOT/pages/google-sheets-component.adoc b/docs/components/modules/ROOT/pages/google-sheets-component.adoc
index 67cdc01..ea29fb5 100644
--- a/docs/components/modules/ROOT/pages/google-sheets-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-sheets-component.adoc
@@ -59,7 +59,7 @@ Endpoint prefix can be one of:
 === Component options
 
 // component options: START
-The Google Sheets component supports 10 options, which are listed below.
+The Google Sheets component supports 11 options, which are listed below.
 
 
 
@@ -70,6 +70,7 @@ The Google Sheets component supports 10 options, which are listed below.
 | *clientId* (common) | Client ID of the sheets application |  | String
 | *configuration* (common) | To use the shared configuration |  | GoogleSheetsConfiguration
 | *bridgeErrorHandler* (consumer) | 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. | false | boolean
+| *splitResult* (consumer) | When consumer return an array or collection this will generate one exchange per element, and their routes will be executed once for each exchange. Set this value to false to use a single exchange for the entire list or array. | true | boolean
 | *lazyStartProducer* (producer) | 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 [...]
 | *basicPropertyBinding* (advanced) | *Deprecated* Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *clientFactory* (advanced) | To use the GoogleSheetsClientFactory as factory for creating the client. Will by default use BatchGoogleSheetsClientFactory |  | GoogleSheetsClientFactory
@@ -100,7 +101,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (28 parameters):
+=== Query Parameters (29 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -111,6 +112,7 @@ with the following path and query parameters:
 | *inBody* (common) | Sets the name of a parameter to be passed in the exchange In Body |  | String
 | *bridgeErrorHandler* (consumer) | 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. | false | boolean
 | *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
+| *splitResult* (consumer) | When consumer return an array or collection this will generate one exchange per element, and their routes will be executed once for each exchange. Set this value to false to use a single exchange for the entire list or array. | true | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
 | *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
@@ -243,7 +245,7 @@ The data API method(s) has the following set of parameters listed in the table b
 | update | *values* |  The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
 |===
 
-In addition to the parameters above, the data API can also use from the 28 endpoint query option
+In addition to the parameters above, the data API can also use from the 29 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -252,6 +254,14 @@ The `inBody` parameter overrides message header, i.e. the endpoint parameter `in
 would override a `CamelGoogleSheets.myParameterNameHere` header.
 
 
+Any of the producer endpoints can be used as a consumer endpoint.
+Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
+By default Consumer endpoints that return an array or collection will generate one exchange per element,
+and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
+to return a single exchange for the entire list or array.
+
+
+
 
 ==== API: spreadsheets
 
@@ -302,13 +312,20 @@ The spreadsheets API method(s) has the following set of parameters listed in the
 | getByDataFilter | *spreadsheetId* |  The spreadsheet to request | String
 |===
 
-In addition to the parameters above, the spreadsheets API can also use from the 28 endpoint query option
+In addition to the parameters above, the spreadsheets API can also use from the 29 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
 The message header name must be of the format `CamelGoogleSheets.parameter`.
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `CamelGoogleSheets.myParameterNameHere` header.
+
+
+Any of the producer endpoints can be used as a consumer endpoint.
+Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
+By default Consumer endpoints that return an array or collection will generate one exchange per element,
+and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
+to return a single exchange for the entire list or array.
 // endpoint options: END
 
 
diff --git a/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc b/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
index 7689325..5a069e5 100644
--- a/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
@@ -261,6 +261,14 @@ The `inBody` parameter overrides message header, i.e. the endpoint parameter `in
 would override a `CamelGoogleSheetsStream.myParameterNameHere` header.
 
 
+Any of the producer endpoints can be used as a consumer endpoint.
+Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
+By default Consumer endpoints that return an array or collection will generate one exchange per element,
+and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
+to return a single exchange for the entire list or array.
+
+
+
 
 ==== API: spreadsheets
 
@@ -318,6 +326,13 @@ Any of the parameters can be provided in either the endpoint URI, or dynamically
 The message header name must be of the format `CamelGoogleSheetsStream.parameter`.
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `CamelGoogleSheetsStream.myParameterNameHere` header.
+
+
+Any of the producer endpoints can be used as a consumer endpoint.
+Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
+By default Consumer endpoints that return an array or collection will generate one exchange per element,
+and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
+to return a single exchange for the entire list or array.
 // endpoint options: END
 
 == More information
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
index 904a7e7..aab767a 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
@@ -97,6 +97,14 @@ The message header name must be of the format `Camel@{util.componentName(scheme)
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `Camel@{util.componentName(scheme)}.myParameterNameHere` header.
 
+@if{!producerOnly}
+Any of the producer endpoints can be used as a consumer endpoint.
+Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
+By default consumer endpoints that return an array or collection will generate one exchange per element,
+and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
+to return a single exchange for the entire list or array.
+@end{}
+
 @end{}
 @end{}
 


[camel] 02/05: CAMEL-15549: Api consumer to expose splitResults options and some more work needed

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 7b2cc5f0c956aa86227d60aa1045308b7cd752db
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Sep 20 12:01:07 2020 +0200

    CAMEL-15549: Api consumer to expose splitResults options and some more work needed
---
 .../apache/camel/catalog/docs/as2-component.adoc   |  23 +-
 .../camel/component/as2/AS2EndpointConfigurer.java |  79 ----
 .../org/apache/camel/component/as2/as2.json        |  20 +-
 .../src/main/docs/as2-component.adoc               |  23 +-
 .../camel/component/as2/AS2Configuration.java      |   3 +-
 .../apache/camel/component/as2/AS2Consumer.java    |   3 +
 .../apache/camel/component/as2/AS2Endpoint.java    |   2 +
 .../src/generated/resources/metadata.json          |   1 +
 .../endpoint/dsl/AS2EndpointBuilderFactory.java    | 485 ---------------------
 .../modules/ROOT/pages/as2-component.adoc          |  23 +-
 .../src/main/resources/endpoint-options.mvel       |   8 -
 11 files changed, 18 insertions(+), 652 deletions(-)

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 fb14a1c..7cbe651 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
@@ -84,7 +84,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (49 parameters):
+=== Query Parameters (32 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -117,28 +117,11 @@ with the following path and query parameters:
 | *targetHostname* (common) | The host name (IP or DNS name) of target host. |  | String
 | *targetPortNumber* (common) | The port number of target host. -1 indicates the scheme default port. |  | Integer
 | *userAgent* (common) | The value included in the User-Agent message header identifying the AS2 user agent. | Camel AS2 Client Endpoint | String
-| *bridgeErrorHandler* (consumer) | 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. | false | boolean
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
 | *lazyStartProducer* (producer) | 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 [...]
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | 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. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
-| *repeatCount* (scheduler) | 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. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *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
 |===
 
 
@@ -216,7 +199,7 @@ The client API method(s) has the following set of parameters listed in the table
 | send | *subject* |  Message subject | String
 |===
 
-In addition to the parameters above, the client API can also use from the 49 endpoint query option
+In addition to the parameters above, the client API can also use from the 32 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -261,7 +244,7 @@ The server API method(s) has the following set of parameters listed in the table
 | listen | *requestUriPattern* |   | String
 |===
 
-In addition to the parameters above, the server API can also use from the 49 endpoint query option
+In addition to the parameters above, the server API can also use from the 32 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
diff --git a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2EndpointConfigurer.java b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2EndpointConfigurer.java
index b3a0e26..a6cd4fa 100644
--- a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2EndpointConfigurer.java
+++ b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2EndpointConfigurer.java
@@ -27,23 +27,14 @@ public class AS2EndpointConfigurer extends PropertyConfigurerSupport implements
         case "as2To": target.getConfiguration().setAs2To(property(camelContext, java.lang.String.class, value)); return true;
         case "as2version":
         case "as2Version": target.getConfiguration().setAs2Version(property(camelContext, java.lang.String.class, value)); return true;
-        case "backofferrorthreshold":
-        case "backoffErrorThreshold": target.setBackoffErrorThreshold(property(camelContext, int.class, value)); return true;
-        case "backoffidlethreshold":
-        case "backoffIdleThreshold": target.setBackoffIdleThreshold(property(camelContext, int.class, value)); return true;
-        case "backoffmultiplier":
-        case "backoffMultiplier": target.setBackoffMultiplier(property(camelContext, int.class, value)); return true;
         case "basicpropertybinding":
         case "basicPropertyBinding": target.setBasicPropertyBinding(property(camelContext, boolean.class, value)); return true;
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
         case "clientfqdn":
         case "clientFqdn": target.getConfiguration().setClientFqdn(property(camelContext, java.lang.String.class, value)); return true;
         case "compressionalgorithm":
         case "compressionAlgorithm": target.getConfiguration().setCompressionAlgorithm(property(camelContext, org.apache.camel.component.as2.api.AS2CompressionAlgorithm.class, value)); return true;
         case "decryptingprivatekey":
         case "decryptingPrivateKey": target.getConfiguration().setDecryptingPrivateKey(property(camelContext, java.security.PrivateKey.class, value)); return true;
-        case "delay": target.setDelay(property(camelContext, long.class, value)); return true;
         case "dispositionnotificationto":
         case "dispositionNotificationTo": target.getConfiguration().setDispositionNotificationTo(property(camelContext, java.lang.String.class, value)); return true;
         case "edimessagetransferencoding":
@@ -59,30 +50,14 @@ public class AS2EndpointConfigurer extends PropertyConfigurerSupport implements
         case "exchangepattern":
         case "exchangePattern": target.setExchangePattern(property(camelContext, org.apache.camel.ExchangePattern.class, value)); return true;
         case "from": target.getConfiguration().setFrom(property(camelContext, java.lang.String.class, value)); return true;
-        case "greedy": target.setGreedy(property(camelContext, boolean.class, value)); return true;
         case "inbody":
         case "inBody": target.setInBody(property(camelContext, java.lang.String.class, value)); return true;
-        case "initialdelay":
-        case "initialDelay": target.setInitialDelay(property(camelContext, long.class, value)); return true;
         case "lazystartproducer":
         case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
         case "mdnmessagetemplate":
         case "mdnMessageTemplate": target.getConfiguration().setMdnMessageTemplate(property(camelContext, java.lang.String.class, value)); return true;
-        case "pollstrategy":
-        case "pollStrategy": target.setPollStrategy(property(camelContext, org.apache.camel.spi.PollingConsumerPollStrategy.class, value)); return true;
-        case "repeatcount":
-        case "repeatCount": target.setRepeatCount(property(camelContext, long.class, value)); return true;
         case "requesturi":
         case "requestUri": target.getConfiguration().setRequestUri(property(camelContext, java.lang.String.class, value)); return true;
-        case "runlogginglevel":
-        case "runLoggingLevel": target.setRunLoggingLevel(property(camelContext, org.apache.camel.LoggingLevel.class, value)); return true;
-        case "scheduledexecutorservice":
-        case "scheduledExecutorService": target.setScheduledExecutorService(property(camelContext, java.util.concurrent.ScheduledExecutorService.class, value)); return true;
-        case "scheduler": target.setScheduler(property(camelContext, java.lang.Object.class, value)); return true;
-        case "schedulerproperties":
-        case "schedulerProperties": target.setSchedulerProperties(property(camelContext, java.util.Map.class, value)); return true;
-        case "sendemptymessagewhenidle":
-        case "sendEmptyMessageWhenIdle": target.setSendEmptyMessageWhenIdle(property(camelContext, boolean.class, value)); return true;
         case "server": target.getConfiguration().setServer(property(camelContext, java.lang.String.class, value)); return true;
         case "serverfqdn":
         case "serverFqdn": target.getConfiguration().setServerFqdn(property(camelContext, java.lang.String.class, value)); return true;
@@ -96,18 +71,12 @@ public class AS2EndpointConfigurer extends PropertyConfigurerSupport implements
         case "signingCertificateChain": target.getConfiguration().setSigningCertificateChain(property(camelContext, java.security.cert.Certificate[].class, value)); return true;
         case "signingprivatekey":
         case "signingPrivateKey": target.getConfiguration().setSigningPrivateKey(property(camelContext, java.security.PrivateKey.class, value)); return true;
-        case "startscheduler":
-        case "startScheduler": target.setStartScheduler(property(camelContext, boolean.class, value)); return true;
         case "subject": target.getConfiguration().setSubject(property(camelContext, java.lang.String.class, value)); return true;
         case "synchronous": target.setSynchronous(property(camelContext, boolean.class, value)); return true;
         case "targethostname":
         case "targetHostname": target.getConfiguration().setTargetHostname(property(camelContext, java.lang.String.class, value)); return true;
         case "targetportnumber":
         case "targetPortNumber": target.getConfiguration().setTargetPortNumber(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "timeunit":
-        case "timeUnit": target.setTimeUnit(property(camelContext, java.util.concurrent.TimeUnit.class, value)); return true;
-        case "usefixeddelay":
-        case "useFixedDelay": target.setUseFixedDelay(property(camelContext, boolean.class, value)); return true;
         case "useragent":
         case "userAgent": target.getConfiguration().setUserAgent(property(camelContext, java.lang.String.class, value)); return true;
         default: return false;
@@ -121,15 +90,10 @@ public class AS2EndpointConfigurer extends PropertyConfigurerSupport implements
         answer.put("as2MessageStructure", org.apache.camel.component.as2.api.AS2MessageStructure.class);
         answer.put("as2To", java.lang.String.class);
         answer.put("as2Version", java.lang.String.class);
-        answer.put("backoffErrorThreshold", int.class);
-        answer.put("backoffIdleThreshold", int.class);
-        answer.put("backoffMultiplier", int.class);
         answer.put("basicPropertyBinding", boolean.class);
-        answer.put("bridgeErrorHandler", boolean.class);
         answer.put("clientFqdn", java.lang.String.class);
         answer.put("compressionAlgorithm", org.apache.camel.component.as2.api.AS2CompressionAlgorithm.class);
         answer.put("decryptingPrivateKey", java.security.PrivateKey.class);
-        answer.put("delay", long.class);
         answer.put("dispositionNotificationTo", java.lang.String.class);
         answer.put("ediMessageTransferEncoding", java.lang.String.class);
         answer.put("ediMessageType", org.apache.http.entity.ContentType.class);
@@ -138,19 +102,10 @@ public class AS2EndpointConfigurer extends PropertyConfigurerSupport implements
         answer.put("exceptionHandler", org.apache.camel.spi.ExceptionHandler.class);
         answer.put("exchangePattern", org.apache.camel.ExchangePattern.class);
         answer.put("from", java.lang.String.class);
-        answer.put("greedy", boolean.class);
         answer.put("inBody", java.lang.String.class);
-        answer.put("initialDelay", long.class);
         answer.put("lazyStartProducer", boolean.class);
         answer.put("mdnMessageTemplate", java.lang.String.class);
-        answer.put("pollStrategy", org.apache.camel.spi.PollingConsumerPollStrategy.class);
-        answer.put("repeatCount", long.class);
         answer.put("requestUri", java.lang.String.class);
-        answer.put("runLoggingLevel", org.apache.camel.LoggingLevel.class);
-        answer.put("scheduledExecutorService", java.util.concurrent.ScheduledExecutorService.class);
-        answer.put("scheduler", java.lang.Object.class);
-        answer.put("schedulerProperties", java.util.Map.class);
-        answer.put("sendEmptyMessageWhenIdle", boolean.class);
         answer.put("server", java.lang.String.class);
         answer.put("serverFqdn", java.lang.String.class);
         answer.put("serverPortNumber", java.lang.Integer.class);
@@ -158,13 +113,10 @@ public class AS2EndpointConfigurer extends PropertyConfigurerSupport implements
         answer.put("signingAlgorithm", org.apache.camel.component.as2.api.AS2SignatureAlgorithm.class);
         answer.put("signingCertificateChain", java.security.cert.Certificate[].class);
         answer.put("signingPrivateKey", java.security.PrivateKey.class);
-        answer.put("startScheduler", boolean.class);
         answer.put("subject", java.lang.String.class);
         answer.put("synchronous", boolean.class);
         answer.put("targetHostname", java.lang.String.class);
         answer.put("targetPortNumber", java.lang.Integer.class);
-        answer.put("timeUnit", java.util.concurrent.TimeUnit.class);
-        answer.put("useFixedDelay", boolean.class);
         answer.put("userAgent", java.lang.String.class);
         return answer;
     }
@@ -181,23 +133,14 @@ public class AS2EndpointConfigurer extends PropertyConfigurerSupport implements
         case "as2To": return target.getConfiguration().getAs2To();
         case "as2version":
         case "as2Version": return target.getConfiguration().getAs2Version();
-        case "backofferrorthreshold":
-        case "backoffErrorThreshold": return target.getBackoffErrorThreshold();
-        case "backoffidlethreshold":
-        case "backoffIdleThreshold": return target.getBackoffIdleThreshold();
-        case "backoffmultiplier":
-        case "backoffMultiplier": return target.getBackoffMultiplier();
         case "basicpropertybinding":
         case "basicPropertyBinding": return target.isBasicPropertyBinding();
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return target.isBridgeErrorHandler();
         case "clientfqdn":
         case "clientFqdn": return target.getConfiguration().getClientFqdn();
         case "compressionalgorithm":
         case "compressionAlgorithm": return target.getConfiguration().getCompressionAlgorithm();
         case "decryptingprivatekey":
         case "decryptingPrivateKey": return target.getConfiguration().getDecryptingPrivateKey();
-        case "delay": return target.getDelay();
         case "dispositionnotificationto":
         case "dispositionNotificationTo": return target.getConfiguration().getDispositionNotificationTo();
         case "edimessagetransferencoding":
@@ -213,30 +156,14 @@ public class AS2EndpointConfigurer extends PropertyConfigurerSupport implements
         case "exchangepattern":
         case "exchangePattern": return target.getExchangePattern();
         case "from": return target.getConfiguration().getFrom();
-        case "greedy": return target.isGreedy();
         case "inbody":
         case "inBody": return target.getInBody();
-        case "initialdelay":
-        case "initialDelay": return target.getInitialDelay();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
         case "mdnmessagetemplate":
         case "mdnMessageTemplate": return target.getConfiguration().getMdnMessageTemplate();
-        case "pollstrategy":
-        case "pollStrategy": return target.getPollStrategy();
-        case "repeatcount":
-        case "repeatCount": return target.getRepeatCount();
         case "requesturi":
         case "requestUri": return target.getConfiguration().getRequestUri();
-        case "runlogginglevel":
-        case "runLoggingLevel": return target.getRunLoggingLevel();
-        case "scheduledexecutorservice":
-        case "scheduledExecutorService": return target.getScheduledExecutorService();
-        case "scheduler": return target.getScheduler();
-        case "schedulerproperties":
-        case "schedulerProperties": return target.getSchedulerProperties();
-        case "sendemptymessagewhenidle":
-        case "sendEmptyMessageWhenIdle": return target.isSendEmptyMessageWhenIdle();
         case "server": return target.getConfiguration().getServer();
         case "serverfqdn":
         case "serverFqdn": return target.getConfiguration().getServerFqdn();
@@ -250,18 +177,12 @@ public class AS2EndpointConfigurer extends PropertyConfigurerSupport implements
         case "signingCertificateChain": return target.getConfiguration().getSigningCertificateChain();
         case "signingprivatekey":
         case "signingPrivateKey": return target.getConfiguration().getSigningPrivateKey();
-        case "startscheduler":
-        case "startScheduler": return target.isStartScheduler();
         case "subject": return target.getConfiguration().getSubject();
         case "synchronous": return target.isSynchronous();
         case "targethostname":
         case "targetHostname": return target.getConfiguration().getTargetHostname();
         case "targetportnumber":
         case "targetPortNumber": return target.getConfiguration().getTargetPortNumber();
-        case "timeunit":
-        case "timeUnit": return target.getTimeUnit();
-        case "usefixeddelay":
-        case "useFixedDelay": return target.isUseFixedDelay();
         case "useragent":
         case "userAgent": return target.getConfiguration().getUserAgent();
         default: return null;
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 e60d15c..18ceb7f 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
@@ -5,6 +5,7 @@
     "title": "AS2",
     "description": "Transfer data securely and reliably using the AS2 protocol (RFC4130).",
     "deprecated": false,
+    "deprecationNote": "",
     "firstVersion": "2.22.0",
     "label": "file",
     "javaType": "org.apache.camel.component.as2.AS2Component",
@@ -58,28 +59,11 @@
     "targetHostname": { "kind": "parameter", "displayName": "Target Hostname", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.as2.AS2Configuration", "configurationField": "configuration", "description": "The host name (IP or DNS name) of target host." },
     "targetPortNumber": { "kind": "parameter", "displayName": "Target Port Number", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.as2.AS2Configuration", "configurationField": "configuration", "description": "The port number of target host. -1 indicates the scheme default port." },
     "userAgent": { "kind": "parameter", "displayName": "User Agent", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "Camel AS2 Client Endpoint", "configurationClass": "org.apache.camel.component.as2.AS2Configuration", "configurationField": "configuration", "description": "The value included in the User-Agent message header identifying the AS2 user agent." },
-    "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." }
+    "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)." }
   },
   "apis": {
     "client": { "description": "Sends EDI Messages over HTTP", "methods": { "send": { "description": "Send ediMessage to trading partner", "signatures": [ "org.apache.http.protocol.HttpCoreContext send(String ediMessage, String requestUri, String subject, String from, String as2From, String as2To, org.apache.camel.component.as2.api.AS2MessageStructure as2MessageStructure, org.apache.http.entity.ContentType ediMessageContentType, String ediMessageTransferEncoding, org.apache.camel.compone [...]
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 fb14a1c..7cbe651 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
@@ -84,7 +84,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (49 parameters):
+=== Query Parameters (32 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -117,28 +117,11 @@ with the following path and query parameters:
 | *targetHostname* (common) | The host name (IP or DNS name) of target host. |  | String
 | *targetPortNumber* (common) | The port number of target host. -1 indicates the scheme default port. |  | Integer
 | *userAgent* (common) | The value included in the User-Agent message header identifying the AS2 user agent. | Camel AS2 Client Endpoint | String
-| *bridgeErrorHandler* (consumer) | 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. | false | boolean
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
 | *lazyStartProducer* (producer) | 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 [...]
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | 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. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
-| *repeatCount* (scheduler) | 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. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *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
 |===
 
 
@@ -216,7 +199,7 @@ The client API method(s) has the following set of parameters listed in the table
 | send | *subject* |  Message subject | String
 |===
 
-In addition to the parameters above, the client API can also use from the 49 endpoint query option
+In addition to the parameters above, the client API can also use from the 32 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -261,7 +244,7 @@ The server API method(s) has the following set of parameters listed in the table
 | listen | *requestUriPattern* |   | String
 |===
 
-In addition to the parameters above, the server API can also use from the 49 endpoint query option
+In addition to the parameters above, the server API can also use from the 32 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
diff --git a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Configuration.java b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Configuration.java
index 4883814..7d1f505 100644
--- a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Configuration.java
+++ b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Configuration.java
@@ -30,7 +30,6 @@ import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
-import org.apache.camel.support.component.AbstractApiConfiguration;
 import org.apache.http.entity.ContentType;
 
 /**
@@ -38,7 +37,7 @@ import org.apache.http.entity.ContentType;
  */
 @UriParams
 @Configurer
-public class AS2Configuration extends AbstractApiConfiguration {
+public class AS2Configuration {
 
     @UriPath
     @Metadata(required = true, enums = "client,server")
diff --git a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Consumer.java b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Consumer.java
index 6290661..7e767eb 100644
--- a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Consumer.java
+++ b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Consumer.java
@@ -45,6 +45,9 @@ import org.slf4j.LoggerFactory;
 
 /**
  * The AS2 consumer.
+ *
+ * Implementation detail. This AS2 consumer extends AbstractApiConsumer but its not scheduled polling based. Instead it
+ * uses a HTTP listener to connect to AS2 server and listen for events.
  */
 public class AS2Consumer extends AbstractApiConsumer<AS2ApiName, AS2Configuration> implements HttpRequestHandler {
 
diff --git a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Endpoint.java b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Endpoint.java
index 20704b5..5cc3249 100644
--- a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Endpoint.java
+++ b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Endpoint.java
@@ -40,6 +40,7 @@ import org.apache.camel.component.as2.internal.AS2ApiName;
 import org.apache.camel.component.as2.internal.AS2ConnectionHelper;
 import org.apache.camel.component.as2.internal.AS2Constants;
 import org.apache.camel.component.as2.internal.AS2PropertiesHelper;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.support.component.AbstractApiEndpoint;
@@ -53,6 +54,7 @@ import org.apache.http.entity.ContentType;
 @UriEndpoint(scheme = "as2", firstVersion = "2.22.0", title = "AS2", syntax = "as2:apiName/methodName",
              apiSyntax = "apiName/methodName",
              category = { Category.FILE })
+@Metadata(excludeProperties = "startScheduler,initialDelay,delay,timeUnit,useFixedDelay,pollStrategy,runLoggingLevel,sendEmptyMessageWhenIdle,greedy,scheduler,schedulerProperties,scheduledExecutorService,backoffMultiplier,backoffIdleThreshold,backoffErrorThreshold,repeatCount,bridgeErrorHandler")
 public class AS2Endpoint extends AbstractApiEndpoint<AS2ApiName, AS2Configuration> {
 
     @UriParam
diff --git a/core/camel-componentdsl/src/generated/resources/metadata.json b/core/camel-componentdsl/src/generated/resources/metadata.json
index 4e1a4eb..b5899cf 100644
--- a/core/camel-componentdsl/src/generated/resources/metadata.json
+++ b/core/camel-componentdsl/src/generated/resources/metadata.json
@@ -161,6 +161,7 @@
     "title": "AS2",
     "description": "Transfer data securely and reliably using the AS2 protocol (RFC4130).",
     "deprecated": false,
+    "deprecationNote": "",
     "firstVersion": "2.22.0",
     "label": "file",
     "javaType": "org.apache.camel.component.as2.AS2Component",
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AS2EndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AS2EndpointBuilderFactory.java
index 43d064e..7a5f597 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AS2EndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AS2EndpointBuilderFactory.java
@@ -18,17 +18,12 @@ package org.apache.camel.builder.endpoint.dsl;
 
 import java.security.PrivateKey;
 import java.security.cert.Certificate;
-import java.util.Map;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
 import javax.annotation.Generated;
 import org.apache.camel.ExchangePattern;
-import org.apache.camel.LoggingLevel;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
 import org.apache.camel.spi.ExceptionHandler;
-import org.apache.camel.spi.PollingConsumerPollStrategy;
 
 /**
  * Transfer data securely and reliably using the AS2 protocol (RFC4130).
@@ -545,454 +540,6 @@ public interface AS2EndpointBuilderFactory {
             doSetProperty("userAgent", userAgent);
             return this;
         }
-        /**
-         * 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.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: consumer
-         */
-        default AS2EndpointConsumerBuilder bridgeErrorHandler(
-                boolean bridgeErrorHandler) {
-            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
-            return this;
-        }
-        /**
-         * 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.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: consumer
-         */
-        default AS2EndpointConsumerBuilder bridgeErrorHandler(
-                String bridgeErrorHandler) {
-            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
-            return this;
-        }
-        /**
-         * If the polling consumer did not poll any files, you can enable this
-         * option to send an empty message (no body) instead.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: consumer
-         */
-        default AS2EndpointConsumerBuilder sendEmptyMessageWhenIdle(
-                boolean sendEmptyMessageWhenIdle) {
-            doSetProperty("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
-            return this;
-        }
-        /**
-         * If the polling consumer did not poll any files, you can enable this
-         * option to send an empty message (no body) instead.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: consumer
-         */
-        default AS2EndpointConsumerBuilder sendEmptyMessageWhenIdle(
-                String sendEmptyMessageWhenIdle) {
-            doSetProperty("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
-            return this;
-        }
-        /**
-         * The number of subsequent error polls (failed due some error) that
-         * should happen before the backoffMultipler should kick-in.
-         * 
-         * The option is a: <code>int</code> type.
-         * 
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder backoffErrorThreshold(
-                int backoffErrorThreshold) {
-            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
-            return this;
-        }
-        /**
-         * The number of subsequent error polls (failed due some error) that
-         * should happen before the backoffMultipler should kick-in.
-         * 
-         * The option will be converted to a <code>int</code> type.
-         * 
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder backoffErrorThreshold(
-                String backoffErrorThreshold) {
-            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
-            return this;
-        }
-        /**
-         * The number of subsequent idle polls that should happen before the
-         * backoffMultipler should kick-in.
-         * 
-         * The option is a: <code>int</code> type.
-         * 
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder backoffIdleThreshold(
-                int backoffIdleThreshold) {
-            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
-            return this;
-        }
-        /**
-         * The number of subsequent idle polls that should happen before the
-         * backoffMultipler should kick-in.
-         * 
-         * The option will be converted to a <code>int</code> type.
-         * 
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder backoffIdleThreshold(
-                String backoffIdleThreshold) {
-            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
-            return this;
-        }
-        /**
-         * 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.
-         * 
-         * The option is a: <code>int</code> type.
-         * 
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder backoffMultiplier(
-                int backoffMultiplier) {
-            doSetProperty("backoffMultiplier", backoffMultiplier);
-            return this;
-        }
-        /**
-         * 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.
-         * 
-         * The option will be converted to a <code>int</code> type.
-         * 
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder backoffMultiplier(
-                String backoffMultiplier) {
-            doSetProperty("backoffMultiplier", backoffMultiplier);
-            return this;
-        }
-        /**
-         * Milliseconds before the next poll.
-         * 
-         * The option is a: <code>long</code> type.
-         * 
-         * Default: 500
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder delay(long delay) {
-            doSetProperty("delay", delay);
-            return this;
-        }
-        /**
-         * Milliseconds before the next poll.
-         * 
-         * The option will be converted to a <code>long</code> type.
-         * 
-         * Default: 500
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder delay(String delay) {
-            doSetProperty("delay", delay);
-            return this;
-        }
-        /**
-         * If greedy is enabled, then the ScheduledPollConsumer will run
-         * immediately again, if the previous run polled 1 or more messages.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder greedy(boolean greedy) {
-            doSetProperty("greedy", greedy);
-            return this;
-        }
-        /**
-         * If greedy is enabled, then the ScheduledPollConsumer will run
-         * immediately again, if the previous run polled 1 or more messages.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder greedy(String greedy) {
-            doSetProperty("greedy", greedy);
-            return this;
-        }
-        /**
-         * Milliseconds before the first poll starts.
-         * 
-         * The option is a: <code>long</code> type.
-         * 
-         * Default: 1000
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder initialDelay(long initialDelay) {
-            doSetProperty("initialDelay", initialDelay);
-            return this;
-        }
-        /**
-         * Milliseconds before the first poll starts.
-         * 
-         * The option will be converted to a <code>long</code> type.
-         * 
-         * Default: 1000
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder initialDelay(String initialDelay) {
-            doSetProperty("initialDelay", initialDelay);
-            return this;
-        }
-        /**
-         * 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.
-         * 
-         * The option is a: <code>long</code> type.
-         * 
-         * Default: 0
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder repeatCount(long repeatCount) {
-            doSetProperty("repeatCount", repeatCount);
-            return this;
-        }
-        /**
-         * 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.
-         * 
-         * The option will be converted to a <code>long</code> type.
-         * 
-         * Default: 0
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder repeatCount(String repeatCount) {
-            doSetProperty("repeatCount", repeatCount);
-            return this;
-        }
-        /**
-         * The consumer logs a start/complete log line when it polls. This
-         * option allows you to configure the logging level for that.
-         * 
-         * The option is a: <code>org.apache.camel.LoggingLevel</code> type.
-         * 
-         * Default: TRACE
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder runLoggingLevel(
-                LoggingLevel runLoggingLevel) {
-            doSetProperty("runLoggingLevel", runLoggingLevel);
-            return this;
-        }
-        /**
-         * The consumer logs a start/complete log line when it polls. This
-         * option allows you to configure the logging level for that.
-         * 
-         * The option will be converted to a
-         * <code>org.apache.camel.LoggingLevel</code> type.
-         * 
-         * Default: TRACE
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder runLoggingLevel(
-                String runLoggingLevel) {
-            doSetProperty("runLoggingLevel", runLoggingLevel);
-            return this;
-        }
-        /**
-         * Allows for configuring a custom/shared thread pool to use for the
-         * consumer. By default each consumer has its own single threaded thread
-         * pool.
-         * 
-         * The option is a:
-         * <code>java.util.concurrent.ScheduledExecutorService</code> type.
-         * 
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder scheduledExecutorService(
-                ScheduledExecutorService scheduledExecutorService) {
-            doSetProperty("scheduledExecutorService", scheduledExecutorService);
-            return this;
-        }
-        /**
-         * Allows for configuring a custom/shared thread pool to use for the
-         * consumer. By default each consumer has its own single threaded thread
-         * pool.
-         * 
-         * The option will be converted to a
-         * <code>java.util.concurrent.ScheduledExecutorService</code> type.
-         * 
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder scheduledExecutorService(
-                String scheduledExecutorService) {
-            doSetProperty("scheduledExecutorService", scheduledExecutorService);
-            return this;
-        }
-        /**
-         * To use a cron scheduler from either camel-spring or camel-quartz
-         * component. Use value spring or quartz for built in scheduler.
-         * 
-         * The option is a: <code>java.lang.Object</code> type.
-         * 
-         * Default: none
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder scheduler(Object scheduler) {
-            doSetProperty("scheduler", scheduler);
-            return this;
-        }
-        /**
-         * To use a cron scheduler from either camel-spring or camel-quartz
-         * component. Use value spring or quartz for built in scheduler.
-         * 
-         * The option will be converted to a <code>java.lang.Object</code> type.
-         * 
-         * Default: none
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder scheduler(String scheduler) {
-            doSetProperty("scheduler", scheduler);
-            return this;
-        }
-        /**
-         * To configure additional properties when using a custom scheduler or
-         * any of the Quartz, Spring based scheduler.
-         * 
-         * The option is a: <code>java.util.Map&lt;java.lang.String,
-         * java.lang.Object&gt;</code> type.
-         * The option is multivalued, and you can use the
-         * schedulerProperties(String, Object) method to add a value (call the
-         * method multiple times to set more values).
-         * 
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder schedulerProperties(
-                String key,
-                Object value) {
-            doSetMultiValueProperty("schedulerProperties", "scheduler." + key, value);
-            return this;
-        }
-        /**
-         * To configure additional properties when using a custom scheduler or
-         * any of the Quartz, Spring based scheduler.
-         * 
-         * The option is a: <code>java.util.Map&lt;java.lang.String,
-         * java.lang.Object&gt;</code> type.
-         * The option is multivalued, and you can use the
-         * schedulerProperties(String, Object) method to add a value (call the
-         * method multiple times to set more values).
-         * 
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder schedulerProperties(Map values) {
-            doSetMultiValueProperties("schedulerProperties", "scheduler.", values);
-            return this;
-        }
-        /**
-         * Whether the scheduler should be auto started.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Default: true
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder startScheduler(boolean startScheduler) {
-            doSetProperty("startScheduler", startScheduler);
-            return this;
-        }
-        /**
-         * Whether the scheduler should be auto started.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Default: true
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder startScheduler(String startScheduler) {
-            doSetProperty("startScheduler", startScheduler);
-            return this;
-        }
-        /**
-         * Time unit for initialDelay and delay options.
-         * 
-         * The option is a: <code>java.util.concurrent.TimeUnit</code> type.
-         * 
-         * Default: MILLISECONDS
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder timeUnit(TimeUnit timeUnit) {
-            doSetProperty("timeUnit", timeUnit);
-            return this;
-        }
-        /**
-         * Time unit for initialDelay and delay options.
-         * 
-         * The option will be converted to a
-         * <code>java.util.concurrent.TimeUnit</code> type.
-         * 
-         * Default: MILLISECONDS
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder timeUnit(String timeUnit) {
-            doSetProperty("timeUnit", timeUnit);
-            return this;
-        }
-        /**
-         * Controls if fixed delay or fixed rate is used. See
-         * ScheduledExecutorService in JDK for details.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Default: true
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder useFixedDelay(boolean useFixedDelay) {
-            doSetProperty("useFixedDelay", useFixedDelay);
-            return this;
-        }
-        /**
-         * Controls if fixed delay or fixed rate is used. See
-         * ScheduledExecutorService in JDK for details.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Default: true
-         * Group: scheduler
-         */
-        default AS2EndpointConsumerBuilder useFixedDelay(String useFixedDelay) {
-            doSetProperty("useFixedDelay", useFixedDelay);
-            return this;
-        }
     }
 
     /**
@@ -1062,38 +609,6 @@ public interface AS2EndpointBuilderFactory {
             return this;
         }
         /**
-         * 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.
-         * 
-         * The option is a:
-         * <code>org.apache.camel.spi.PollingConsumerPollStrategy</code> type.
-         * 
-         * Group: consumer (advanced)
-         */
-        default AdvancedAS2EndpointConsumerBuilder pollStrategy(
-                PollingConsumerPollStrategy pollStrategy) {
-            doSetProperty("pollStrategy", pollStrategy);
-            return this;
-        }
-        /**
-         * 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.
-         * 
-         * The option will be converted to a
-         * <code>org.apache.camel.spi.PollingConsumerPollStrategy</code> type.
-         * 
-         * Group: consumer (advanced)
-         */
-        default AdvancedAS2EndpointConsumerBuilder pollStrategy(
-                String pollStrategy) {
-            doSetProperty("pollStrategy", pollStrategy);
-            return this;
-        }
-        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities.
          * 
diff --git a/docs/components/modules/ROOT/pages/as2-component.adoc b/docs/components/modules/ROOT/pages/as2-component.adoc
index 03684ef..f49eced 100644
--- a/docs/components/modules/ROOT/pages/as2-component.adoc
+++ b/docs/components/modules/ROOT/pages/as2-component.adoc
@@ -86,7 +86,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (49 parameters):
+=== Query Parameters (32 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -119,28 +119,11 @@ with the following path and query parameters:
 | *targetHostname* (common) | The host name (IP or DNS name) of target host. |  | String
 | *targetPortNumber* (common) | The port number of target host. -1 indicates the scheme default port. |  | Integer
 | *userAgent* (common) | The value included in the User-Agent message header identifying the AS2 user agent. | Camel AS2 Client Endpoint | String
-| *bridgeErrorHandler* (consumer) | 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. | false | boolean
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
 | *lazyStartProducer* (producer) | 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 [...]
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | 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. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
-| *repeatCount* (scheduler) | 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. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *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
 |===
 
 
@@ -218,7 +201,7 @@ The client API method(s) has the following set of parameters listed in the table
 | send | *subject* |  Message subject | String
 |===
 
-In addition to the parameters above, the client API can also use from the 49 endpoint query option
+In addition to the parameters above, the client API can also use from the 32 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -263,7 +246,7 @@ The server API method(s) has the following set of parameters listed in the table
 | listen | *requestUriPattern* |   | String
 |===
 
-In addition to the parameters above, the server API can also use from the 49 endpoint query option
+In addition to the parameters above, the server API can also use from the 32 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
index aab767a..904a7e7 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
@@ -97,14 +97,6 @@ The message header name must be of the format `Camel@{util.componentName(scheme)
 The `inBody` parameter overrides message header, i.e. the endpoint parameter `inBody=myParameterNameHere`
 would override a `Camel@{util.componentName(scheme)}.myParameterNameHere` header.
 
-@if{!producerOnly}
-Any of the producer endpoints can be used as a consumer endpoint.
-Consumer endpoints can use Scheduled Poll Consumer Options to schedule endpoint invocation.
-By default consumer endpoints that return an array or collection will generate one exchange per element,
-and their routes will be executed once for each exchange. To change this behavior use the property `splitResults=false`
-to return a single exchange for the entire list or array.
-@end{}
-
 @end{}
 @end{}
 


[camel] 04/05: CAMEL-15549: Api components now have details about APIs being consumer or producer only.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 2a041878c09d3fc18cf818949f1623cc67f1c434
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Sep 20 13:31:56 2020 +0200

     CAMEL-15549: Api components now have details about APIs being consumer or producer only.
---
 .../apache/camel/catalog/docs/box-component.adoc   | 64 ++++++++++++++++++----
 components/camel-box/camel-box-component/pom.xml   | 19 +++++--
 ...CollaborationsManagerEndpointConfiguration.java |  3 +-
 .../BoxCommentsManagerEndpointConfiguration.java   |  3 +-
 .../BoxEventLogsManagerEndpointConfiguration.java  |  3 +-
 .../box/BoxEventsManagerEndpointConfiguration.java |  3 +-
 .../box/BoxFilesManagerEndpointConfiguration.java  |  3 +-
 .../BoxFoldersManagerEndpointConfiguration.java    |  3 +-
 .../box/BoxGroupsManagerEndpointConfiguration.java |  3 +-
 .../box/BoxSearchManagerEndpointConfiguration.java |  3 +-
 .../box/BoxTasksManagerEndpointConfiguration.java  |  3 +-
 .../box/BoxUsersManagerEndpointConfiguration.java  |  3 +-
 .../org/apache/camel/component/box/box.json        | 40 +++++++-------
 .../src/main/docs/box-component.adoc               | 64 ++++++++++++++++++----
 .../apache/camel/component/box/BoxEndpoint.java    | 10 ++--
 .../java/org/apache/camel/spi/ApiParams.java       | 14 +++++
 .../modules/ROOT/pages/box-component.adoc          | 64 ++++++++++++++++++----
 .../org/apache/camel/tooling/model/ApiModel.java   | 18 ++++++
 .../org/apache/camel/tooling/model/JsonMapper.java | 30 ++++++----
 .../maven/AbstractApiMethodGeneratorMojo.java      |  8 +++
 .../camel/maven/ApiComponentGeneratorMojo.java     |  2 +
 .../main/java/org/apache/camel/maven/ApiProxy.java | 28 ++++++----
 .../src/main/resources/api-endpoint-config.vm      |  3 +-
 .../packaging/EndpointSchemaGeneratorMojo.java     |  6 ++
 .../apache/camel/maven/packaging/MvelHelper.java   | 10 ++++
 .../src/main/resources/endpoint-options.mvel       | 14 ++++-
 .../main/java/org/apache/camel/spi/ApiParams.java  | 14 +++++
 27 files changed, 338 insertions(+), 100 deletions(-)

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 4958561..fd30ada 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
@@ -148,19 +148,19 @@ box:apiName/methodName
 
 There are 10 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *collaborations* | Provides operations to manage Box collaborations
-| *comments* | Provides operations to manage Box comments
-| *event-logs* | Provides operations to read Box enterprise (admin) event logs
-| *events* | Provides operations to manage Box events
-| *files* | Provides operations to manage Box files
-| *folders* | Provides operations to manage Box folders
-| *groups* | Provides operations to manage Box groups
-| *search* | Provides operations to manage Box searches
-| *tasks* | Provides operations to manage Box tasks
-| *users* | Provides operations to manage Box users
+| API Name | Type | Description
+| *collaborations* | Producer | Provides operations to manage Box collaborations
+| *comments* | Producer | Provides operations to manage Box comments
+| *event-logs* | Producer | Provides operations to read Box enterprise (admin) event logs
+| *events* | Consumer | Provides operations to manage Box events
+| *files* | Producer | Provides operations to manage Box files
+| *folders* | Producer | Provides operations to manage Box folders
+| *groups* | Producer | Provides operations to manage Box groups
+| *search* | Producer | Provides operations to manage Box searches
+| *tasks* | Producer | Provides operations to manage Box tasks
+| *users* | Producer | Provides operations to manage Box users
 |===
 
 Each API is documented in the following sections to come.
@@ -168,6 +168,10 @@ Each API is documented in the following sections to come.
 
 ==== API: collaborations
 
+*Only producer is supported*
+
+
+
 
 The collaborations API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -238,6 +242,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: comments
 
+*Only producer is supported*
+
+
+
 
 The comments API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -306,6 +314,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: event-logs
 
+*Only producer is supported*
+
+
+
 
 The event-logs API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -354,6 +366,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: events
 
+*Only consumer is supported*
+
+
+
 
 The events API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -399,6 +415,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: files
 
+*Only producer is supported*
+
+
+
 
 The files API has 22 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -569,6 +589,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: folders
 
+*Only producer is supported*
+
+
+
 
 The folders API has 10 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -667,6 +691,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: groups
 
+*Only producer is supported*
+
+
+
 
 The groups API has 9 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -753,6 +781,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: search
 
+*Only producer is supported*
+
+
+
 
 The search API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -799,6 +831,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: tasks
 
+*Only producer is supported*
+
+
+
 
 The tasks API has 9 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -881,6 +917,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: users
 
+*Only producer is supported*
+
+
+
 
 The users API has 10 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/components/camel-box/camel-box-component/pom.xml b/components/camel-box/camel-box-component/pom.xml
index ca674ec..00df11f 100644
--- a/components/camel-box/camel-box-component/pom.xml
+++ b/components/camel-box/camel-box-component/pom.xml
@@ -119,6 +119,7 @@
                                     <apiName>collaborations</apiName>
                                     <proxyClass>org.apache.camel.component.box.api.BoxCollaborationsManager</proxyClass>
                                     <fromJavasource />
+                                    <producerOnly>true</producerOnly>
                                     <aliases>
                                         <alias>
                                             <methodPattern>addFolderCollaboration</methodPattern>
@@ -154,6 +155,7 @@
                                     <apiName>comments</apiName>
                                     <proxyClass>org.apache.camel.component.box.api.BoxCommentsManager</proxyClass>
                                     <fromJavasource />
+                                    <producerOnly>true</producerOnly>
                                     <aliases>
                                         <alias>
                                             <methodPattern>addFileComment</methodPattern>
@@ -185,6 +187,7 @@
                                     <apiName>event-logs</apiName>
                                     <proxyClass>org.apache.camel.component.box.api.BoxEventLogsManager</proxyClass>
                                     <fromJavasource />
+                                    <producerOnly>true</producerOnly>
                                     <aliases>
                                         <alias>
                                             <methodPattern>getEnterpriseEvents</methodPattern>
@@ -200,6 +203,7 @@
                                     <apiName>files</apiName>
                                     <proxyClass>org.apache.camel.component.box.api.BoxFilesManager</proxyClass>
                                     <fromJavasource />
+                                    <producerOnly>true</producerOnly>
                                     <aliases>
                                         <alias>
                                             <methodPattern>uploadFile</methodPattern>
@@ -310,8 +314,8 @@
                                 <api>
                                     <apiName>folders</apiName>
                                     <proxyClass>org.apache.camel.component.box.api.BoxFoldersManager</proxyClass>
-                                    <fromJavasource>
-                                    </fromJavasource>
+                                    <producerOnly>true</producerOnly>
+                                    <fromJavasource />
                                     <aliases>
                                         <alias>
                                             <methodPattern>getRootFolder</methodPattern>
@@ -368,8 +372,8 @@
                                 <api>
                                     <apiName>groups</apiName>
                                     <proxyClass>org.apache.camel.component.box.api.BoxGroupsManager</proxyClass>
-                                    <fromJavasource>
-                                    </fromJavasource>
+                                    <fromJavasource />
+                                    <producerOnly>true</producerOnly>
                                     <aliases>
                                         <alias>
                                             <methodPattern>createGroup</methodPattern>
@@ -423,6 +427,7 @@
                                     <fromJavasource>
                                         <excludeMethods>stopListening</excludeMethods>
                                     </fromJavasource>
+                                    <consumerOnly>true</consumerOnly>
                                     <excludeConfigNames>listener</excludeConfigNames>
                                     <nullableOptions>
                                         <nullableOption>startingPosition</nullableOption>
@@ -432,6 +437,7 @@
                                     <apiName>search</apiName>
                                     <proxyClass>org.apache.camel.component.box.api.BoxSearchManager</proxyClass>
                                     <fromJavasource />
+                                    <producerOnly>true</producerOnly>
                                     <aliases>
                                         <alias>
                                             <methodPattern>searchFolder</methodPattern>
@@ -442,8 +448,8 @@
                                 <api>
                                     <apiName>tasks</apiName>
                                     <proxyClass>org.apache.camel.component.box.api.BoxTasksManager</proxyClass>
-                                    <fromJavasource>
-                                    </fromJavasource>
+                                    <fromJavasource />
+                                    <producerOnly>true</producerOnly>
                                     <aliases>
                                         <alias>
                                             <methodPattern>addFileTask</methodPattern>
@@ -490,6 +496,7 @@
                                     <apiName>users</apiName>
                                     <proxyClass>org.apache.camel.component.box.api.BoxUsersManager</proxyClass>
                                     <fromJavasource />
+                                    <producerOnly>true</producerOnly>
                                     <aliases>
                                         <alias>
                                             <methodPattern>getCurrentUser</methodPattern>
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 6964444..a90473e 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.box.api.BoxCollaborationsManager}.
  */
-@ApiParams(apiName = "collaborations", description = "Provides operations to manage Box collaborations",
+@ApiParams(apiName = "collaborations", producerOnly = true,
+           description = "Provides operations to manage Box collaborations",
            apiMethods = {@ApiMethod(methodName = "addFolderCollaboration", description="Add a collaboration to this folder", signatures={"com.box.sdk.BoxCollaboration addFolderCollaboration(String folderId, com.box.sdk.BoxCollaborator collaborator, com.box.sdk.BoxCollaboration$Role role)"}), @ApiMethod(methodName = "addFolderCollaborationByEmail", description="Add a collaboration to this folder", signatures={"com.box.sdk.BoxCollaboration addFolderCollaborationByEmail(String folderId, Str [...]
 @UriParams
 @Configurer
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 4a6553f..3f02955 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.box.api.BoxCommentsManager}.
  */
-@ApiParams(apiName = "comments", description = "Provides operations to manage Box comments",
+@ApiParams(apiName = "comments", producerOnly = true,
+           description = "Provides operations to manage Box comments",
            apiMethods = {@ApiMethod(methodName = "addFileComment", description="Add comment to file", signatures={"com.box.sdk.BoxFile addFileComment(String fileId, String message)"}), @ApiMethod(methodName = "changeCommentMessage", description="Change comment message", signatures={"com.box.sdk.BoxComment changeCommentMessage(String commentId, String message)"}), @ApiMethod(methodName = "deleteComment", description="Delete comment", signatures={"void deleteComment(String commentId)"}), @ [...]
 @UriParams
 @Configurer
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 f8da3fb..6192af8 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.box.api.BoxEventLogsManager}.
  */
-@ApiParams(apiName = "event-logs", description = "Provides operations to read Box enterprise (admin) event logs",
+@ApiParams(apiName = "event-logs", producerOnly = true,
+           description = "Provides operations to read Box enterprise (admin) event logs",
            apiMethods = {@ApiMethod(methodName = "getEnterpriseEvents", description="Create an event stream with optional starting initial position and add listener that will be notified when an event is received", signatures={"java.util.List<com.box.sdk.BoxEvent> getEnterpriseEvents(String position, java.util.Date after, java.util.Date before, com.box.sdk.BoxEvent$Type[] types)"})}, aliases = {"getEnterpriseEvents=events"})
 @UriParams
 @Configurer
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 de2c2b5..0092044 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.box.api.BoxEventsManager}.
  */
-@ApiParams(apiName = "events", description = "Provides operations to manage Box events",
+@ApiParams(apiName = "events", consumerOnly = true,
+           description = "Provides operations to manage Box events",
            apiMethods = {@ApiMethod(methodName = "listen", description="Create an event stream with optional starting initial position and add listener that will be notified when an event is received", signatures={"void listen(com.box.sdk.EventListener listener, Long startingPosition)"})}, aliases = {})
 @UriParams
 @Configurer
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 0f088a5..2979dc2 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.box.api.BoxFilesManager}.
  */
-@ApiParams(apiName = "files", description = "Provides operations to manage Box files",
+@ApiParams(apiName = "files", producerOnly = true,
+           description = "Provides operations to manage Box files",
            apiMethods = {@ApiMethod(methodName = "checkUpload", description="Does a pre-verification before upload, to check if the filename already exists or if there is permission to upload", signatures={"void checkUpload(String fileName, String parentFolderId, Long size)"}), @ApiMethod(methodName = "copyFile", description="Copy file to destination folder while optionally giving it a new name", signatures={"com.box.sdk.BoxFile copyFile(String fileId, String destinationFolderId, String  [...]
 @UriParams
 @Configurer
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 d6f29a2..94ceef5 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.box.api.BoxFoldersManager}.
  */
-@ApiParams(apiName = "folders", description = "Provides operations to manage Box folders",
+@ApiParams(apiName = "folders", producerOnly = true,
+           description = "Provides operations to manage Box folders",
            apiMethods = {@ApiMethod(methodName = "copyFolder", description="Copy folder to destination folder while optionally giving it a new name", signatures={"com.box.sdk.BoxFolder copyFolder(String folderId, String destinationFolderId, String newName)"}), @ApiMethod(methodName = "createFolder", description="Create a folder specified by path from parent folder with given parentFolderId, creating intermediate directories as required", signatures={"com.box.sdk.BoxFolder createFolder(St [...]
 @UriParams
 @Configurer
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 ada5426..5fbf2b9 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.box.api.BoxGroupsManager}.
  */
-@ApiParams(apiName = "groups", description = "Provides operations to manage Box groups",
+@ApiParams(apiName = "groups", producerOnly = true,
+           description = "Provides operations to manage Box groups",
            apiMethods = {@ApiMethod(methodName = "addGroupMembership", description="Add a member to group with the specified role", signatures={"com.box.sdk.BoxGroupMembership addGroupMembership(String groupId, String userId, com.box.sdk.BoxGroupMembership$Role role)"}), @ApiMethod(methodName = "createGroup", description="Create a new group with a specified name and optional additional parameters", signatures={"com.box.sdk.BoxGroup createGroup(String name, String provenance, String exter [...]
 @UriParams
 @Configurer
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 3abd1fc..6052a76 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.box.api.BoxSearchManager}.
  */
-@ApiParams(apiName = "search", description = "Provides operations to manage Box searches",
+@ApiParams(apiName = "search", producerOnly = true,
+           description = "Provides operations to manage Box searches",
            apiMethods = {@ApiMethod(methodName = "searchFolder", description="Search folder and all descendant folders using the given query", signatures={"java.util.Collection<com.box.sdk.BoxItem> searchFolder(String folderId, String query)"})}, aliases = {"searchFolder=search"})
 @UriParams
 @Configurer
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 7e116cf..361d545 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.box.api.BoxTasksManager}.
  */
-@ApiParams(apiName = "tasks", description = "Provides operations to manage Box tasks",
+@ApiParams(apiName = "tasks", producerOnly = true,
+           description = "Provides operations to manage Box tasks",
            apiMethods = {@ApiMethod(methodName = "addAssignmentToTask", description="Add assignment for task", signatures={"com.box.sdk.BoxTask addAssignmentToTask(String taskId, com.box.sdk.BoxUser assignTo)"}), @ApiMethod(methodName = "addFileTask", description="Add task to file", signatures={"com.box.sdk.BoxTask addFileTask(String fileId, com.box.sdk.BoxTask$Action action, java.util.Date dueAt, String message)"}), @ApiMethod(methodName = "deleteTask", description="Delete task", signat [...]
 @UriParams
 @Configurer
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 da28b14..0dc53b3 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
@@ -14,7 +14,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link org.apache.camel.component.box.api.BoxUsersManager}.
  */
-@ApiParams(apiName = "users", description = "Provides operations to manage Box users",
+@ApiParams(apiName = "users", producerOnly = true,
+           description = "Provides operations to manage Box users",
            apiMethods = {@ApiMethod(methodName = "addUserEmailAlias", description="Add a new email alias to user's account", signatures={"com.box.sdk.EmailAlias addUserEmailAlias(String userId, String email)"}), @ApiMethod(methodName = "createAppUser", description="Provision a new app user in an enterprise with additional user information using Box Developer Edition", signatures={"com.box.sdk.BoxUser createAppUser(String name, com.box.sdk.CreateUserParams params)"}), @ApiMethod(methodNam [...]
 @UriParams
 @Configurer
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 b5c0153..a243e65 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
@@ -70,27 +70,27 @@
     "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" }
   },
   "apis": {
-    "collaborations": { "description": "Provides operations to manage Box collaborations", "aliases": [ "addFolderCollaboration=add", "addFolderCollaborationByEmail=addByEmail", "deleteCollaboration=delete", "getFolderCollaborations=collaborations", "getPendingCollaborations=pendingCollaborations", "getCollaborationInfo=info", "updateCollaborationInfo=updateInfo" ], "methods": { "addFolderCollaboration": { "description": "Add a collaboration to this folder", "signatures": [ "com.box.sdk. [...]
-    "comments": { "description": "Provides operations to manage Box comments", "aliases": [ "addFileComment=add", "changeCommentMessage=updateMessage", "deleteComment=delete", "getCommentInfo=info", "getFileComments=comments", "replyToComment=reply" ], "methods": { "addFileComment": { "description": "Add comment to file", "signatures": [ "com.box.sdk.BoxFile addFileComment(String fileId, String message)" ] }, "changeCommentMessage": { "description": "Change comment message", "signatures" [...]
-    "event-logs": { "description": "Provides operations to read Box enterprise (admin) event logs", "aliases": [ "getEnterpriseEvents=events" ], "methods": { "getEnterpriseEvents": { "description": "Create an event stream with optional starting initial position and add listener that will be notified when an event is received", "signatures": [ "java.util.List<com.box.sdk.BoxEvent> getEnterpriseEvents(String position, java.util.Date after, java.util.Date before, com.box.sdk.BoxEvent$Type[] [...]
-    "events": { "description": "Provides operations to manage Box events", "methods": { "listen": { "description": "Create an event stream with optional starting initial position and add listener that will be notified when an event is received", "signatures": [ "void listen(com.box.sdk.EventListener listener, Long startingPosition)" ] } } },
-    "files": { "description": "Provides operations to manage Box files", "aliases": [ "uploadFile=upload", "downloadFile=download", "copyFile=copy", "moveFile=move", "renameFile=rename", "createFileSharedLink=link", "deleteFile=delete", "uploadNewFileVersion=uploadVersion", "promoteFileVersion=promoteVersion", "getFileVersions=versions", "downloadPreviousFileVersion=downloadVersion", "deleteFileVersion=deleteVersion", "getFileInfo=info", "updateFileInfo=updateInfo", "createFileMetadata=c [...]
-    "folders": { "description": "Provides operations to manage Box folders", "aliases": [ "getRootFolder=root", "createFolder=create", "copyFolder=copy", "moveFolder=move", "renameFolder=rename", "createFolderSharedLink=link", "deleteFolder=delete", "getFolder=folder", "getFolderInfo=info", "getFolderItems=items", "updateFolderInfo=updateInfo" ], "methods": { "copyFolder": { "description": "Copy folder to destination folder while optionally giving it a new name", "signatures": [ "com.box [...]
-    "groups": { "description": "Provides operations to manage Box groups", "aliases": [ "createGroup=create", "deleteGroup=delete", "getAllGroups=groups", "getGroupInfo=info", "addGroupMembership=addMembership", "deleteGroupMembership=deleteMembership", "getGroupMemberships=memberships", "getGroupMembershipInfo=membershipInfo", "updateGroupMembershipInfo=updateMembershipInfo" ], "methods": { "addGroupMembership": { "description": "Add a member to group with the specified role", "signatur [...]
-    "search": { "description": "Provides operations to manage Box searches", "aliases": [ "searchFolder=search" ], "methods": { "searchFolder": { "description": "Search folder and all descendant folders using the given query", "signatures": [ "java.util.Collection<com.box.sdk.BoxItem> searchFolder(String folderId, String query)" ] } } },
-    "tasks": { "description": "Provides operations to manage Box tasks", "aliases": [ "addFileTask=add", "deleteTask=delete", "getFileTasks=tasks", "getTaskInfo=info", "updateTaskInfo=updateInfo", "addAssignmentToTask=addAssignment", "deleteTaskAssignment=deleteAssignment", "getTaskAssignments=assignments", "getTaskAssignmentInfo=assignmentInfo" ], "methods": { "addAssignmentToTask": { "description": "Add assignment for task", "signatures": [ "com.box.sdk.BoxTask addAssignmentToTask(Stri [...]
-    "users": { "description": "Provides operations to manage Box users", "aliases": [ "getCurrentUser=currentUser", "getAllEnterpriseOrExternalUsers=users", "createAppUser=create", "createEnterpriseUser=create", "deleteUser=delete", "addUserEmailAlias=addEmailAlias", "getUserEmailAlias=emailAlias", "deleteUserEmailAlias=deleteEmailAlias", "getUserInfo=info", "updateUserInfo=updateInfo" ], "methods": { "addUserEmailAlias": { "description": "Add a new email alias to user's account", "signa [...]
+    "collaborations": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box collaborations", "aliases": [ "addFolderCollaboration=add", "addFolderCollaborationByEmail=addByEmail", "deleteCollaboration=delete", "getFolderCollaborations=collaborations", "getPendingCollaborations=pendingCollaborations", "getCollaborationInfo=info", "updateCollaborationInfo=updateInfo" ], "methods": { "addFolderCollaboration": { "description": "Add a collaboration t [...]
+    "comments": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box comments", "aliases": [ "addFileComment=add", "changeCommentMessage=updateMessage", "deleteComment=delete", "getCommentInfo=info", "getFileComments=comments", "replyToComment=reply" ], "methods": { "addFileComment": { "description": "Add comment to file", "signatures": [ "com.box.sdk.BoxFile addFileComment(String fileId, String message)" ] }, "changeCommentMessage": { "descrip [...]
+    "event-logs": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to read Box enterprise (admin) event logs", "aliases": [ "getEnterpriseEvents=events" ], "methods": { "getEnterpriseEvents": { "description": "Create an event stream with optional starting initial position and add listener that will be notified when an event is received", "signatures": [ "java.util.List<com.box.sdk.BoxEvent> getEnterpriseEvents(String position, java.util.Date after, java. [...]
+    "events": { "consumerOnly": true, "producerOnly": false, "description": "Provides operations to manage Box events", "methods": { "listen": { "description": "Create an event stream with optional starting initial position and add listener that will be notified when an event is received", "signatures": [ "void listen(com.box.sdk.EventListener listener, Long startingPosition)" ] } } },
+    "files": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box files", "aliases": [ "uploadFile=upload", "downloadFile=download", "copyFile=copy", "moveFile=move", "renameFile=rename", "createFileSharedLink=link", "deleteFile=delete", "uploadNewFileVersion=uploadVersion", "promoteFileVersion=promoteVersion", "getFileVersions=versions", "downloadPreviousFileVersion=downloadVersion", "deleteFileVersion=deleteVersion", "getFileInfo=info", "upda [...]
+    "folders": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box folders", "aliases": [ "getRootFolder=root", "createFolder=create", "copyFolder=copy", "moveFolder=move", "renameFolder=rename", "createFolderSharedLink=link", "deleteFolder=delete", "getFolder=folder", "getFolderInfo=info", "getFolderItems=items", "updateFolderInfo=updateInfo" ], "methods": { "copyFolder": { "description": "Copy folder to destination folder while optionally gi [...]
+    "groups": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box groups", "aliases": [ "createGroup=create", "deleteGroup=delete", "getAllGroups=groups", "getGroupInfo=info", "addGroupMembership=addMembership", "deleteGroupMembership=deleteMembership", "getGroupMemberships=memberships", "getGroupMembershipInfo=membershipInfo", "updateGroupMembershipInfo=updateMembershipInfo" ], "methods": { "addGroupMembership": { "description": "Add a member [...]
+    "search": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box searches", "aliases": [ "searchFolder=search" ], "methods": { "searchFolder": { "description": "Search folder and all descendant folders using the given query", "signatures": [ "java.util.Collection<com.box.sdk.BoxItem> searchFolder(String folderId, String query)" ] } } },
+    "tasks": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box tasks", "aliases": [ "addFileTask=add", "deleteTask=delete", "getFileTasks=tasks", "getTaskInfo=info", "updateTaskInfo=updateInfo", "addAssignmentToTask=addAssignment", "deleteTaskAssignment=deleteAssignment", "getTaskAssignments=assignments", "getTaskAssignmentInfo=assignmentInfo" ], "methods": { "addAssignmentToTask": { "description": "Add assignment for task", "signatures": [  [...]
+    "users": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box users", "aliases": [ "getCurrentUser=currentUser", "getAllEnterpriseOrExternalUsers=users", "createAppUser=create", "createEnterpriseUser=create", "deleteUser=delete", "addUserEmailAlias=addEmailAlias", "getUserEmailAlias=emailAlias", "deleteUserEmailAlias=deleteEmailAlias", "getUserInfo=info", "updateUserInfo=updateInfo" ], "methods": { "addUserEmailAlias": { "description": "Add [...]
   },
   "apiProperties": {
-    "collaborations": { "methods": { "addFolderCollaboration": { "properties": { "collaborator": { "kind": "parameter", "displayName": "Collaborator", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxCollaborator", "deprecated": false, "secret": false, "description": "The collaborator to add", "optional": false }, "folderId": { "kind": "parameter", "displayName": "Folder Id", "group": "common", "label": "", "required": false, "type": "strin [...]
-    "comments": { "methods": { "addFileComment": { "properties": { "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 file", "optional": false }, "message": { "kind": "parameter", "displayName": "Message", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated" [...]
-    "event-logs": { "methods": { "getEnterpriseEvents": { "properties": { "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", "optional": false }, "before": { "kind": "parameter", "displayName": "Before", "group": "common", "label": "", "required": false, "type": "string", "ja [...]
-    "events": { "methods": { "listen": { "properties": { "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", "optional": true } } } } },
-    "files": { "methods": { "checkUpload": { "properties": { "fileName": { "kind": "parameter", "displayName": "File Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The name to give the uploaded file", "optional": false }, "parentFolderId": { "kind": "parameter", "displayName": "Parent Folder Id", "group": "common", "label": "", "required": false, "type": "string", "javaType" [...]
-    "folders": { "methods": { "copyFolder": { "properties": { "destinationFolderId": { "kind": "parameter", "displayName": "Destination Folder Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the destination folder", "optional": false }, "folderId": { "kind": "parameter", "displayName": "Folder Id", "group": "common", "label": "", "required": false, "type": "string", " [...]
-    "groups": { "methods": { "addGroupMembership": { "properties": { "groupId": { "kind": "parameter", "displayName": "Group Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of group", "optional": false }, "role": { "kind": "parameter", "displayName": "Role", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxGroupMembership.R [...]
-    "search": { "methods": { "searchFolder": { "properties": { "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", "optional": false }, "query": { "kind": "parameter", "displayName": "Query", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "depr [...]
-    "tasks": { "methods": { "addAssignmentToTask": { "properties": { "assignTo": { "kind": "parameter", "displayName": "Assign To", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxUser", "deprecated": false, "secret": false, "description": "The user to assign to task", "optional": false }, "taskId": { "kind": "parameter", "displayName": "Task Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.S [...]
-    "users": { "methods": { "addUserEmailAlias": { "properties": { "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", "optional": false }, "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.Str [...]
+    "collaborations": { "methods": { "addFolderCollaboration": { "properties": { "collaborator": { "kind": "parameter", "displayName": "Collaborator", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxCollaborator", "deprecated": false, "secret": false, "description": "The collaborator to add", "optional": false }, "folderId": { "kind": "parameter", "displayName": "Folder Id", "group": "producer", "label": "", "required": false, "type": "s [...]
+    "comments": { "methods": { "addFileComment": { "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of file", "optional": false }, "message": { "kind": "parameter", "displayName": "Message", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "depreca [...]
+    "event-logs": { "methods": { "getEnterpriseEvents": { "properties": { "after": { "kind": "parameter", "displayName": "After", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.util.Date", "deprecated": false, "secret": false, "description": "The lower bound on the timestamp of the events returned", "optional": false }, "before": { "kind": "parameter", "displayName": "Before", "group": "producer", "label": "", "required": false, "type": "string", [...]
+    "events": { "methods": { "listen": { "properties": { "startingPosition": { "kind": "parameter", "displayName": "Starting Position", "group": "consumer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "secret": false, "description": "The starting position of the event stream", "optional": true } } } } },
+    "files": { "methods": { "checkUpload": { "properties": { "fileName": { "kind": "parameter", "displayName": "File Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The name to give the uploaded file", "optional": false }, "parentFolderId": { "kind": "parameter", "displayName": "Parent Folder Id", "group": "producer", "label": "", "required": false, "type": "string", "javaT [...]
+    "folders": { "methods": { "copyFolder": { "properties": { "destinationFolderId": { "kind": "parameter", "displayName": "Destination Folder Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the destination folder", "optional": false }, "folderId": { "kind": "parameter", "displayName": "Folder Id", "group": "producer", "label": "", "required": false, "type": "string [...]
+    "groups": { "methods": { "addGroupMembership": { "properties": { "groupId": { "kind": "parameter", "displayName": "Group Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of group", "optional": false }, "role": { "kind": "parameter", "displayName": "Role", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxGroupMembersh [...]
+    "search": { "methods": { "searchFolder": { "properties": { "folderId": { "kind": "parameter", "displayName": "Folder Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of folder searched", "optional": false }, "query": { "kind": "parameter", "displayName": "Query", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", " [...]
+    "tasks": { "methods": { "addAssignmentToTask": { "properties": { "assignTo": { "kind": "parameter", "displayName": "Assign To", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxUser", "deprecated": false, "secret": false, "description": "The user to assign to task", "optional": false }, "taskId": { "kind": "parameter", "displayName": "Task Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.la [...]
+    "users": { "methods": { "addUserEmailAlias": { "properties": { "email": { "kind": "parameter", "displayName": "Email", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The email address to add as an alias", "optional": false }, "userId": { "kind": "parameter", "displayName": "User Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang [...]
   }
 }
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 4958561..fd30ada 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
@@ -148,19 +148,19 @@ box:apiName/methodName
 
 There are 10 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *collaborations* | Provides operations to manage Box collaborations
-| *comments* | Provides operations to manage Box comments
-| *event-logs* | Provides operations to read Box enterprise (admin) event logs
-| *events* | Provides operations to manage Box events
-| *files* | Provides operations to manage Box files
-| *folders* | Provides operations to manage Box folders
-| *groups* | Provides operations to manage Box groups
-| *search* | Provides operations to manage Box searches
-| *tasks* | Provides operations to manage Box tasks
-| *users* | Provides operations to manage Box users
+| API Name | Type | Description
+| *collaborations* | Producer | Provides operations to manage Box collaborations
+| *comments* | Producer | Provides operations to manage Box comments
+| *event-logs* | Producer | Provides operations to read Box enterprise (admin) event logs
+| *events* | Consumer | Provides operations to manage Box events
+| *files* | Producer | Provides operations to manage Box files
+| *folders* | Producer | Provides operations to manage Box folders
+| *groups* | Producer | Provides operations to manage Box groups
+| *search* | Producer | Provides operations to manage Box searches
+| *tasks* | Producer | Provides operations to manage Box tasks
+| *users* | Producer | Provides operations to manage Box users
 |===
 
 Each API is documented in the following sections to come.
@@ -168,6 +168,10 @@ Each API is documented in the following sections to come.
 
 ==== API: collaborations
 
+*Only producer is supported*
+
+
+
 
 The collaborations API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -238,6 +242,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: comments
 
+*Only producer is supported*
+
+
+
 
 The comments API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -306,6 +314,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: event-logs
 
+*Only producer is supported*
+
+
+
 
 The event-logs API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -354,6 +366,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: events
 
+*Only consumer is supported*
+
+
+
 
 The events API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -399,6 +415,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: files
 
+*Only producer is supported*
+
+
+
 
 The files API has 22 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -569,6 +589,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: folders
 
+*Only producer is supported*
+
+
+
 
 The folders API has 10 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -667,6 +691,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: groups
 
+*Only producer is supported*
+
+
+
 
 The groups API has 9 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -753,6 +781,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: search
 
+*Only producer is supported*
+
+
+
 
 The search API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -799,6 +831,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: tasks
 
+*Only producer is supported*
+
+
+
 
 The tasks API has 9 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -881,6 +917,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: users
 
+*Only producer is supported*
+
+
+
 
 The users API has 10 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxEndpoint.java b/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
index 5f7ee62..334453f 100644
--- a/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
+++ b/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
@@ -59,9 +59,7 @@ public class BoxEndpoint extends AbstractApiEndpoint<BoxApiName, BoxConfiguratio
 
     // cached connection
     private BoxAPIConnection boxConnection;
-
     private Object apiProxy;
-
     private boolean boxConnectionShared;
 
     public BoxEndpoint(String uri, BoxComponent component, BoxApiName apiName, String methodName,
@@ -111,8 +109,6 @@ public class BoxEndpoint extends AbstractApiEndpoint<BoxApiName, BoxConfiguratio
 
     @Override
     protected void afterConfigureProperties() {
-        // create connection eagerly, a good way to validate configuration
-        createBoxConnection();
     }
 
     @Override
@@ -124,6 +120,12 @@ public class BoxEndpoint extends AbstractApiEndpoint<BoxApiName, BoxConfiguratio
         return apiProxy;
     }
 
+    @Override
+    protected void doStart() throws Exception {
+        super.doStart();
+        createBoxConnection();
+    }
+
     private void createBoxConnection() {
         final BoxComponent component = getComponent();
         this.boxConnectionShared = configuration.equals(getComponent().getConfiguration());
diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/ApiParams.java b/core/camel-api/src/generated/java/org/apache/camel/spi/ApiParams.java
index 037970d..525e0f2 100644
--- a/core/camel-api/src/generated/java/org/apache/camel/spi/ApiParams.java
+++ b/core/camel-api/src/generated/java/org/apache/camel/spi/ApiParams.java
@@ -47,6 +47,20 @@ public @interface ApiParams {
     String description() default "";
 
     /**
+     * Whether this API can only be used as a producer.
+     * <p/>
+     * By default its assumed the API can be used as both consumer and producer.
+     */
+    boolean producerOnly() default false;
+
+    /**
+     * Whether this API can only be used as a consumer.
+     * <p/>
+     * By default its assumed the API can be used as both consumer and producer.
+     */
+    boolean consumerOnly() default false;
+
+    /**
      * The API methods that the API provides of this configuration class.
      */
     ApiMethod[] apiMethods();
diff --git a/docs/components/modules/ROOT/pages/box-component.adoc b/docs/components/modules/ROOT/pages/box-component.adoc
index d366225..f78ed34 100644
--- a/docs/components/modules/ROOT/pages/box-component.adoc
+++ b/docs/components/modules/ROOT/pages/box-component.adoc
@@ -150,19 +150,19 @@ box:apiName/methodName
 
 There are 10 API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===
-| API Name | Description
-| *collaborations* | Provides operations to manage Box collaborations
-| *comments* | Provides operations to manage Box comments
-| *event-logs* | Provides operations to read Box enterprise (admin) event logs
-| *events* | Provides operations to manage Box events
-| *files* | Provides operations to manage Box files
-| *folders* | Provides operations to manage Box folders
-| *groups* | Provides operations to manage Box groups
-| *search* | Provides operations to manage Box searches
-| *tasks* | Provides operations to manage Box tasks
-| *users* | Provides operations to manage Box users
+| API Name | Type | Description
+| *collaborations* | Producer | Provides operations to manage Box collaborations
+| *comments* | Producer | Provides operations to manage Box comments
+| *event-logs* | Producer | Provides operations to read Box enterprise (admin) event logs
+| *events* | Consumer | Provides operations to manage Box events
+| *files* | Producer | Provides operations to manage Box files
+| *folders* | Producer | Provides operations to manage Box folders
+| *groups* | Producer | Provides operations to manage Box groups
+| *search* | Producer | Provides operations to manage Box searches
+| *tasks* | Producer | Provides operations to manage Box tasks
+| *users* | Producer | Provides operations to manage Box users
 |===
 
 Each API is documented in the following sections to come.
@@ -170,6 +170,10 @@ Each API is documented in the following sections to come.
 
 ==== API: collaborations
 
+*Only producer is supported*
+
+
+
 
 The collaborations API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -240,6 +244,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: comments
 
+*Only producer is supported*
+
+
+
 
 The comments API has 6 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -308,6 +316,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: event-logs
 
+*Only producer is supported*
+
+
+
 
 The event-logs API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -356,6 +368,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: events
 
+*Only consumer is supported*
+
+
+
 
 The events API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -401,6 +417,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: files
 
+*Only producer is supported*
+
+
+
 
 The files API has 22 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -571,6 +591,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: folders
 
+*Only producer is supported*
+
+
+
 
 The folders API has 10 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -669,6 +693,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: groups
 
+*Only producer is supported*
+
+
+
 
 The groups API has 9 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -755,6 +783,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: search
 
+*Only producer is supported*
+
+
+
 
 The search API has 1 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -801,6 +833,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: tasks
 
+*Only producer is supported*
+
+
+
 
 The tasks API has 9 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
@@ -883,6 +919,10 @@ would override a `CamelBox.myParameterNameHere` header.
 
 ==== API: users
 
+*Only producer is supported*
+
+
+
 
 The users API has 10 method(s) which is represented by the following method signatures
 (an API method may have multiple signatures due to overloading):
diff --git a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/ApiModel.java b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/ApiModel.java
index cf76a6a..205b655 100644
--- a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/ApiModel.java
+++ b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/ApiModel.java
@@ -25,6 +25,8 @@ public final class ApiModel {
 
     private String name;
     private String description;
+    private boolean consumerOnly;
+    private boolean producerOnly;
     private final List<String> aliases = new ArrayList<>();
     // lets sort api methods A..Z so they are always in the same order
     private final Collection<ApiMethodModel> methods = new TreeSet<>(Comparators.apiMethodModelModelComparator());
@@ -45,6 +47,22 @@ public final class ApiModel {
         this.description = description;
     }
 
+    public boolean isConsumerOnly() {
+        return consumerOnly;
+    }
+
+    public void setConsumerOnly(boolean consumerOnly) {
+        this.consumerOnly = consumerOnly;
+    }
+
+    public boolean isProducerOnly() {
+        return producerOnly;
+    }
+
+    public void setProducerOnly(boolean producerOnly) {
+        this.producerOnly = producerOnly;
+    }
+
     public List<String> getAliases() {
         return aliases;
     }
diff --git a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
index d24deb6..9590245 100644
--- a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
+++ b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
@@ -107,6 +107,8 @@ public final class JsonMapper {
                 ApiModel am = new ApiModel();
                 am.setName(name);
                 am.setDescription(mp.getStringOrDefault("description", ""));
+                am.setConsumerOnly(mp.getBooleanOrDefault("consumerOnly", false));
+                am.setProducerOnly(mp.getBooleanOrDefault("producerOnly", false));
                 model.getApiOptions().add(am);
                 Collection<String> aliases = mp.getCollection("aliases");
                 if (aliases != null && !aliases.isEmpty()) {
@@ -448,21 +450,29 @@ public final class JsonMapper {
         model.forEach(a -> {
             JsonObject json = new JsonObject();
             root.put(a.getName(), json);
-            if (!options && a.getDescription() != null) {
-                json.put("description", a.getDescription());
-            }
-            if (!options && !a.getAliases().isEmpty()) {
-                json.put("aliases", new JsonArray(a.getAliases()));
+            if (!options) {
+                // lets be less verbose and only output these details for the api summary and not when we have all options included
+                json.put("consumerOnly", a.isConsumerOnly());
+                json.put("producerOnly", a.isProducerOnly());
+                if (a.getDescription() != null) {
+                    json.put("description", a.getDescription());
+                }
+                if (!a.getAliases().isEmpty()) {
+                    json.put("aliases", new JsonArray(a.getAliases()));
+                }
             }
             Map<String, JsonObject> methods = new TreeMap<>();
             json.put("methods", methods);
             a.getMethods().forEach(m -> {
                 JsonObject mJson = new JsonObject();
-                if (!options && m.getDescription() != null) {
-                    mJson.put("description", m.getDescription());
-                }
-                if (!options && !m.getSignatures().isEmpty()) {
-                    mJson.put("signatures", new JsonArray(m.getSignatures()));
+                if (!options) {
+                    // lets be less verbose and only output these details for the api summary and not when we have all options included
+                    if (m.getDescription() != null) {
+                        mJson.put("description", m.getDescription());
+                    }
+                    if (!m.getSignatures().isEmpty()) {
+                        mJson.put("signatures", new JsonArray(m.getSignatures()));
+                    }
                 }
                 if (options) {
                     mJson.put("properties", asJsonObject(m.getOptions()));
diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java
index e5bbf24..3d99806 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java
+++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java
@@ -58,6 +58,12 @@ public abstract class AbstractApiMethodGeneratorMojo extends AbstractApiMethodBa
     @Parameter
     protected String apiDescription;
 
+    @Parameter
+    protected boolean consumerOnly;
+
+    @Parameter
+    protected boolean producerOnly;
+
     /**
      * Method alias patterns for all APIs.
      */
@@ -202,6 +208,8 @@ public abstract class AbstractApiMethodGeneratorMojo extends AbstractApiMethodBa
         VelocityContext context = getCommonContext(models);
         context.put("apiName", apiName);
         context.put("apiDescription", apiDescription);
+        context.put("consumerOnly", consumerOnly);
+        context.put("producerOnly", producerOnly);
         context.put("configName", getConfigName());
         context.put("componentName", componentName);
         context.put("componentPackage", componentPackage);
diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java
index 50b611c..cd1cf41 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java
+++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java
@@ -157,6 +157,8 @@ public class ApiComponentGeneratorMojo extends AbstractApiMethodBaseMojo {
         mojo.classPrefix = apiProxy.getClassPrefix();
         mojo.apiName = apiProxy.getApiName();
         mojo.apiDescription = apiProxy.getApiDescription();
+        mojo.consumerOnly = apiProxy.isConsumerOnly();
+        mojo.producerOnly = apiProxy.isProducerOnly();
     }
 
     private AbstractApiMethodGeneratorMojo getApiMethodGenerator(ApiProxy api) {
diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiProxy.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiProxy.java
index fa88d3f..53fe7f7 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiProxy.java
+++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiProxy.java
@@ -27,25 +27,17 @@ import org.apache.maven.plugin.MojoExecutionException;
 public class ApiProxy {
 
     private String apiName;
-
     private String apiDescription;
-
+    private boolean consumerOnly;
+    private boolean producerOnly;
     private String proxyClass;
-
     private FromJavasource fromJavasource;
-
     private Substitution[] substitutions = new Substitution[0];
-
     private String excludeConfigNames;
-
     private String excludeConfigTypes;
-
     private ExtraOption[] extraOptions;
-
     private String[] nullableOptions;
-
     private String classPrefix;
-
     private List<ApiMethodAlias> aliases = Collections.emptyList();
 
     public String getApiName() {
@@ -64,6 +56,22 @@ public class ApiProxy {
         this.apiDescription = apiDescription;
     }
 
+    public boolean isConsumerOnly() {
+        return consumerOnly;
+    }
+
+    public void setConsumerOnly(boolean consumerOnly) {
+        this.consumerOnly = consumerOnly;
+    }
+
+    public boolean isProducerOnly() {
+        return producerOnly;
+    }
+
+    public void setProducerOnly(boolean producerOnly) {
+        this.producerOnly = producerOnly;
+    }
+
     public String getProxyClass() {
         return proxyClass;
     }
diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/resources/api-endpoint-config.vm b/tooling/maven/camel-api-component-maven-plugin/src/main/resources/api-endpoint-config.vm
index dabc896..ffcfdfb 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/main/resources/api-endpoint-config.vm
+++ b/tooling/maven/camel-api-component-maven-plugin/src/main/resources/api-endpoint-config.vm
@@ -46,7 +46,8 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel endpoint configuration for {@link $proxyType.Name}.
  */
-@ApiParams(apiName = "$helper.getApiName($apiName)", description = "$helper.getApiDescription($apiDescription)",
+@ApiParams(apiName = "$helper.getApiName($apiName)", #if($producerOnly)producerOnly = true,#elseif($consumerOnly)consumerOnly = true,#end
+           description = "$helper.getApiDescription($apiDescription)",
            apiMethods = $helper.getApiMethods($models), aliases = $helper.getAliases())
 @UriParams
 @Configurer
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
index e719455..82b3af1 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
@@ -1116,6 +1116,8 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo {
                                 }
                                 if (apiParams != null) {
                                     api.setDescription(apiParams.description());
+                                    api.setConsumerOnly(apiParams.consumerOnly());
+                                    api.setProducerOnly(apiParams.producerOnly());
                                 }
                             } else {
                                 api = op.get();
@@ -1148,6 +1150,10 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo {
                                 apiMethod.addApiOptionModel(copy);
                                 // the option description is stored on @ApiMethod
                                 copy.setDescription(method.description());
+                                // whether we are consumer or producer only
+                                group = EndpointHelper.labelAsGroupName(copy.getLabel(), api.isConsumerOnly(),
+                                        api.isProducerOnly());
+                                copy.setGroup(group);
                                 copy.setOptional(apiParam.optional());
                             }
                         } else {
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java
index ac2e149..9db78f0 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java
@@ -69,4 +69,14 @@ public final class MvelHelper {
         // empty if no alias
         return "";
     }
+
+    public static String producerOrConsumer(ApiModel api) {
+        if (api.isConsumerOnly()) {
+            return "Consumer";
+        } else if (api.isProducerOnly()) {
+            return "Producer";
+        }
+        return "Both";
+    }
+
 }
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
index 904a7e7..97fef79 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
@@ -43,16 +43,24 @@ The API name and API method is located in the endpoint URI as the @{apiSyntax} p
 
 There are @{apiOptions.size} API names as listed in the table below:
 
-[width="100%",cols="2,8",options="header"]
+[width="100%",cols="2,1,7",options="header"]
 |===@comment{ Render table cells. If description contains newline, prefix cell with `a`, so the content is rendered with formatting. }
-| API Name | Description
-@foreach{api : apiOptions}| *@{api.name}* | @{api.description}
+| API Name | Type | Description
+@foreach{api : apiOptions}| *@{api.name}* | @{util.producerOrConsumer(api)} | @{api.description}
 @end{}|===
 
 Each API is documented in the following sections to come.
 
 @foreach{api : apiOptions}
 ==== API: @{api.name}
+@if{api.consumerOnly}
+*Only consumer is supported*
+@elseif{api.producerOnly}
+*Only producer is supported*
+@else{}
+*Both producer and consumer are supported*
+@end{}
+
 @if{api.methods.isEmpty()}
 The @{api.name} has no API methods.
 @else{}
diff --git a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/ApiParams.java b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/ApiParams.java
index 037970d..525e0f2 100644
--- a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/ApiParams.java
+++ b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/ApiParams.java
@@ -47,6 +47,20 @@ public @interface ApiParams {
     String description() default "";
 
     /**
+     * Whether this API can only be used as a producer.
+     * <p/>
+     * By default its assumed the API can be used as both consumer and producer.
+     */
+    boolean producerOnly() default false;
+
+    /**
+     * Whether this API can only be used as a consumer.
+     * <p/>
+     * By default its assumed the API can be used as both consumer and producer.
+     */
+    boolean consumerOnly() default false;
+
+    /**
      * The API methods that the API provides of this configuration class.
      */
     ApiMethod[] apiMethods();


[camel] 03/05: CAMEL-15549: Api consumer to expose splitResults options and some more work needed

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 9e0f2971037adaf262e51b1119bf7c7de2ff92a8
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Sep 20 12:10:25 2020 +0200

    CAMEL-15549: Api consumer to expose splitResults options and some more work needed
---
 .../apache/camel/catalog/docs/box-component.adoc   |  39 +-
 .../camel/component/box/BoxEndpointConfigurer.java |  79 ----
 .../org/apache/camel/component/box/box.json        |  18 +-
 .../src/main/docs/box-component.adoc               |  39 +-
 .../apache/camel/component/box/BoxConsumer.java    |  29 +-
 .../apache/camel/component/box/BoxEndpoint.java    |   4 +-
 .../src/generated/resources/metadata.json          |   1 +
 .../endpoint/dsl/BoxEndpointBuilderFactory.java    | 484 ---------------------
 .../modules/ROOT/pages/box-component.adoc          |  39 +-
 9 files changed, 51 insertions(+), 681 deletions(-)

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 916fcd0..4958561 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
@@ -105,7 +105,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (38 parameters):
+=== Query Parameters (21 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -115,30 +115,13 @@ with the following path and query parameters:
 | *enterpriseId* (common) | The enterprise ID to use for an App Enterprise. |  | String
 | *inBody* (common) | Sets the name of a parameter to be passed in the exchange In Body |  | String
 | *userId* (common) | The user ID to use for an App User. |  | String
-| *bridgeErrorHandler* (consumer) | 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. | false | boolean
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
 | *lazyStartProducer* (producer) | 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 [...]
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *httpParams* (advanced) | Custom HTTP params for settings like proxy host |  | Map
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
 | *authenticationType* (authentication) | The type of authentication for connection. Types of Authentication: STANDARD_AUTHENTICATION - OAuth 2.0 (3-legged) SERVER_AUTHENTICATION - OAuth 2.0 with JSON Web Tokens | APP_USER_AUTHENTICATION | String
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | 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. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
-| *repeatCount* (scheduler) | 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. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *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
 | *accessTokenCache* (security) | Custom Access Token Cache for storing and retrieving access tokens. |  | IAccessTokenCache
 | *clientSecret* (security) | Box application client secret |  | String
 | *encryptionAlgorithm* (security) | The type of encryption algorithm for JWT. Supported Algorithms: RSA_SHA_256 RSA_SHA_384 RSA_SHA_512. There are 3 enums and the value can be one of: RSA_SHA_256, RSA_SHA_384, RSA_SHA_512 | RSA_SHA_256 | EncryptionAlgorithm
@@ -243,7 +226,7 @@ The collaborations API method(s) has the following set of parameters listed in t
 | updateCollaborationInfo | *info* |   | Info
 |===
 
-In addition to the parameters above, the collaborations API can also use from the 38 endpoint query option
+In addition to the parameters above, the collaborations API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -311,7 +294,7 @@ The comments API method(s) has the following set of parameters listed in the tab
 | replyToComment | *message* |  The message for the reply | String
 |===
 
-In addition to the parameters above, the comments API can also use from the 38 endpoint query option
+In addition to the parameters above, the comments API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -359,7 +342,7 @@ The event-logs API method(s) has the following set of parameters listed in the t
 | getEnterpriseEvents | *types* | *Optional*  An optional list of event types to filter by | Type[]
 |===
 
-In addition to the parameters above, the event-logs API can also use from the 38 endpoint query option
+In addition to the parameters above, the event-logs API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -404,7 +387,7 @@ The events API method(s) has the following set of parameters listed in the table
 | listen | *startingPosition* | *Optional*  The starting position of the event stream | Long
 |===
 
-In addition to the parameters above, the events API can also use from the 38 endpoint query option
+In addition to the parameters above, the events API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -574,7 +557,7 @@ The files API method(s) has the following set of parameters listed in the table
 | uploadNewFileVersion | *modified* | *Optional*  The content modified date that will be given to the uploaded file | Date
 |===
 
-In addition to the parameters above, the files API can also use from the 38 endpoint query option
+In addition to the parameters above, the files API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -672,7 +655,7 @@ The folders API method(s) has the following set of parameters listed in the tabl
 | updateFolderInfo | *info* |  The updated information | Info
 |===
 
-In addition to the parameters above, the folders API can also use from the 38 endpoint query option
+In addition to the parameters above, the folders API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -758,7 +741,7 @@ The groups API method(s) has the following set of parameters listed in the table
 | updateGroupMembershipInfo | *info* |  The updated information | Info
 |===
 
-In addition to the parameters above, the groups API can also use from the 38 endpoint query option
+In addition to the parameters above, the groups API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -804,7 +787,7 @@ The search API method(s) has the following set of parameters listed in the table
 | searchFolder | *query* |  The search query | String
 |===
 
-In addition to the parameters above, the search API can also use from the 38 endpoint query option
+In addition to the parameters above, the search API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -886,7 +869,7 @@ The tasks API method(s) has the following set of parameters listed in the table
 | updateTaskInfo | *taskId* |  The id of task | String
 |===
 
-In addition to the parameters above, the tasks API can also use from the 38 endpoint query option
+In addition to the parameters above, the tasks API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -977,7 +960,7 @@ The users API method(s) has the following set of parameters listed in the table
 | updateUserInfo | *userId* |  The id of user to update | String
 |===
 
-In addition to the parameters above, the users API can also use from the 38 endpoint query option
+In addition to the parameters above, the users API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEndpointConfigurer.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEndpointConfigurer.java
index d543f14..7e3b8e0b 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEndpointConfigurer.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEndpointConfigurer.java
@@ -23,21 +23,12 @@ public class BoxEndpointConfigurer extends PropertyConfigurerSupport implements
         case "accessTokenCache": target.getConfiguration().setAccessTokenCache(property(camelContext, com.box.sdk.IAccessTokenCache.class, value)); return true;
         case "authenticationtype":
         case "authenticationType": target.getConfiguration().setAuthenticationType(property(camelContext, java.lang.String.class, value)); return true;
-        case "backofferrorthreshold":
-        case "backoffErrorThreshold": target.setBackoffErrorThreshold(property(camelContext, int.class, value)); return true;
-        case "backoffidlethreshold":
-        case "backoffIdleThreshold": target.setBackoffIdleThreshold(property(camelContext, int.class, value)); return true;
-        case "backoffmultiplier":
-        case "backoffMultiplier": target.setBackoffMultiplier(property(camelContext, int.class, value)); return true;
         case "basicpropertybinding":
         case "basicPropertyBinding": target.setBasicPropertyBinding(property(camelContext, boolean.class, value)); return true;
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
         case "clientid":
         case "clientId": target.getConfiguration().setClientId(property(camelContext, java.lang.String.class, value)); return true;
         case "clientsecret":
         case "clientSecret": target.getConfiguration().setClientSecret(property(camelContext, java.lang.String.class, value)); return true;
-        case "delay": target.setDelay(property(camelContext, long.class, value)); return true;
         case "encryptionalgorithm":
         case "encryptionAlgorithm": target.getConfiguration().setEncryptionAlgorithm(property(camelContext, com.box.sdk.EncryptionAlgorithm.class, value)); return true;
         case "enterpriseid":
@@ -46,45 +37,23 @@ public class BoxEndpointConfigurer extends PropertyConfigurerSupport implements
         case "exceptionHandler": target.setExceptionHandler(property(camelContext, org.apache.camel.spi.ExceptionHandler.class, value)); return true;
         case "exchangepattern":
         case "exchangePattern": target.setExchangePattern(property(camelContext, org.apache.camel.ExchangePattern.class, value)); return true;
-        case "greedy": target.setGreedy(property(camelContext, boolean.class, value)); return true;
         case "httpparams":
         case "httpParams": target.getConfiguration().setHttpParams(property(camelContext, java.util.Map.class, value)); return true;
         case "inbody":
         case "inBody": target.setInBody(property(camelContext, java.lang.String.class, value)); return true;
-        case "initialdelay":
-        case "initialDelay": target.setInitialDelay(property(camelContext, long.class, value)); return true;
         case "lazystartproducer":
         case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
         case "maxcacheentries":
         case "maxCacheEntries": target.getConfiguration().setMaxCacheEntries(property(camelContext, int.class, value)); return true;
-        case "pollstrategy":
-        case "pollStrategy": target.setPollStrategy(property(camelContext, org.apache.camel.spi.PollingConsumerPollStrategy.class, value)); return true;
         case "privatekeyfile":
         case "privateKeyFile": target.getConfiguration().setPrivateKeyFile(property(camelContext, java.lang.String.class, value)); return true;
         case "privatekeypassword":
         case "privateKeyPassword": target.getConfiguration().setPrivateKeyPassword(property(camelContext, java.lang.String.class, value)); return true;
         case "publickeyid":
         case "publicKeyId": target.getConfiguration().setPublicKeyId(property(camelContext, java.lang.String.class, value)); return true;
-        case "repeatcount":
-        case "repeatCount": target.setRepeatCount(property(camelContext, long.class, value)); return true;
-        case "runlogginglevel":
-        case "runLoggingLevel": target.setRunLoggingLevel(property(camelContext, org.apache.camel.LoggingLevel.class, value)); return true;
-        case "scheduledexecutorservice":
-        case "scheduledExecutorService": target.setScheduledExecutorService(property(camelContext, java.util.concurrent.ScheduledExecutorService.class, value)); return true;
-        case "scheduler": target.setScheduler(property(camelContext, java.lang.Object.class, value)); return true;
-        case "schedulerproperties":
-        case "schedulerProperties": target.setSchedulerProperties(property(camelContext, java.util.Map.class, value)); return true;
-        case "sendemptymessagewhenidle":
-        case "sendEmptyMessageWhenIdle": target.setSendEmptyMessageWhenIdle(property(camelContext, boolean.class, value)); return true;
         case "sslcontextparameters":
         case "sslContextParameters": target.getConfiguration().setSslContextParameters(property(camelContext, org.apache.camel.support.jsse.SSLContextParameters.class, value)); return true;
-        case "startscheduler":
-        case "startScheduler": target.setStartScheduler(property(camelContext, boolean.class, value)); return true;
         case "synchronous": target.setSynchronous(property(camelContext, boolean.class, value)); return true;
-        case "timeunit":
-        case "timeUnit": target.setTimeUnit(property(camelContext, java.util.concurrent.TimeUnit.class, value)); return true;
-        case "usefixeddelay":
-        case "useFixedDelay": target.setUseFixedDelay(property(camelContext, boolean.class, value)); return true;
         case "userid":
         case "userId": target.getConfiguration().setUserId(property(camelContext, java.lang.String.class, value)); return true;
         case "username":
@@ -100,39 +69,22 @@ public class BoxEndpointConfigurer extends PropertyConfigurerSupport implements
         Map<String, Object> answer = new CaseInsensitiveMap();
         answer.put("accessTokenCache", com.box.sdk.IAccessTokenCache.class);
         answer.put("authenticationType", java.lang.String.class);
-        answer.put("backoffErrorThreshold", int.class);
-        answer.put("backoffIdleThreshold", int.class);
-        answer.put("backoffMultiplier", int.class);
         answer.put("basicPropertyBinding", boolean.class);
-        answer.put("bridgeErrorHandler", boolean.class);
         answer.put("clientId", java.lang.String.class);
         answer.put("clientSecret", java.lang.String.class);
-        answer.put("delay", long.class);
         answer.put("encryptionAlgorithm", com.box.sdk.EncryptionAlgorithm.class);
         answer.put("enterpriseId", java.lang.String.class);
         answer.put("exceptionHandler", org.apache.camel.spi.ExceptionHandler.class);
         answer.put("exchangePattern", org.apache.camel.ExchangePattern.class);
-        answer.put("greedy", boolean.class);
         answer.put("httpParams", java.util.Map.class);
         answer.put("inBody", java.lang.String.class);
-        answer.put("initialDelay", long.class);
         answer.put("lazyStartProducer", boolean.class);
         answer.put("maxCacheEntries", int.class);
-        answer.put("pollStrategy", org.apache.camel.spi.PollingConsumerPollStrategy.class);
         answer.put("privateKeyFile", java.lang.String.class);
         answer.put("privateKeyPassword", java.lang.String.class);
         answer.put("publicKeyId", java.lang.String.class);
-        answer.put("repeatCount", long.class);
-        answer.put("runLoggingLevel", org.apache.camel.LoggingLevel.class);
-        answer.put("scheduledExecutorService", java.util.concurrent.ScheduledExecutorService.class);
-        answer.put("scheduler", java.lang.Object.class);
-        answer.put("schedulerProperties", java.util.Map.class);
-        answer.put("sendEmptyMessageWhenIdle", boolean.class);
         answer.put("sslContextParameters", org.apache.camel.support.jsse.SSLContextParameters.class);
-        answer.put("startScheduler", boolean.class);
         answer.put("synchronous", boolean.class);
-        answer.put("timeUnit", java.util.concurrent.TimeUnit.class);
-        answer.put("useFixedDelay", boolean.class);
         answer.put("userId", java.lang.String.class);
         answer.put("userName", java.lang.String.class);
         answer.put("userPassword", java.lang.String.class);
@@ -147,21 +99,12 @@ public class BoxEndpointConfigurer extends PropertyConfigurerSupport implements
         case "accessTokenCache": return target.getConfiguration().getAccessTokenCache();
         case "authenticationtype":
         case "authenticationType": return target.getConfiguration().getAuthenticationType();
-        case "backofferrorthreshold":
-        case "backoffErrorThreshold": return target.getBackoffErrorThreshold();
-        case "backoffidlethreshold":
-        case "backoffIdleThreshold": return target.getBackoffIdleThreshold();
-        case "backoffmultiplier":
-        case "backoffMultiplier": return target.getBackoffMultiplier();
         case "basicpropertybinding":
         case "basicPropertyBinding": return target.isBasicPropertyBinding();
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return target.isBridgeErrorHandler();
         case "clientid":
         case "clientId": return target.getConfiguration().getClientId();
         case "clientsecret":
         case "clientSecret": return target.getConfiguration().getClientSecret();
-        case "delay": return target.getDelay();
         case "encryptionalgorithm":
         case "encryptionAlgorithm": return target.getConfiguration().getEncryptionAlgorithm();
         case "enterpriseid":
@@ -170,45 +113,23 @@ public class BoxEndpointConfigurer extends PropertyConfigurerSupport implements
         case "exceptionHandler": return target.getExceptionHandler();
         case "exchangepattern":
         case "exchangePattern": return target.getExchangePattern();
-        case "greedy": return target.isGreedy();
         case "httpparams":
         case "httpParams": return target.getConfiguration().getHttpParams();
         case "inbody":
         case "inBody": return target.getInBody();
-        case "initialdelay":
-        case "initialDelay": return target.getInitialDelay();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
         case "maxcacheentries":
         case "maxCacheEntries": return target.getConfiguration().getMaxCacheEntries();
-        case "pollstrategy":
-        case "pollStrategy": return target.getPollStrategy();
         case "privatekeyfile":
         case "privateKeyFile": return target.getConfiguration().getPrivateKeyFile();
         case "privatekeypassword":
         case "privateKeyPassword": return target.getConfiguration().getPrivateKeyPassword();
         case "publickeyid":
         case "publicKeyId": return target.getConfiguration().getPublicKeyId();
-        case "repeatcount":
-        case "repeatCount": return target.getRepeatCount();
-        case "runlogginglevel":
-        case "runLoggingLevel": return target.getRunLoggingLevel();
-        case "scheduledexecutorservice":
-        case "scheduledExecutorService": return target.getScheduledExecutorService();
-        case "scheduler": return target.getScheduler();
-        case "schedulerproperties":
-        case "schedulerProperties": return target.getSchedulerProperties();
-        case "sendemptymessagewhenidle":
-        case "sendEmptyMessageWhenIdle": return target.isSendEmptyMessageWhenIdle();
         case "sslcontextparameters":
         case "sslContextParameters": return target.getConfiguration().getSslContextParameters();
-        case "startscheduler":
-        case "startScheduler": return target.isStartScheduler();
         case "synchronous": return target.isSynchronous();
-        case "timeunit":
-        case "timeUnit": return target.getTimeUnit();
-        case "usefixeddelay":
-        case "useFixedDelay": return target.isUseFixedDelay();
         case "userid":
         case "userId": return target.getConfiguration().getUserId();
         case "username":
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 226f998..b5c0153 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
@@ -5,6 +5,7 @@
     "title": "Box",
     "description": "Upload, download and manage files, folders, groups, collaborations, etc. on box.com.",
     "deprecated": false,
+    "deprecationNote": "",
     "firstVersion": "2.14.0",
     "label": "cloud,file,api",
     "javaType": "org.apache.camel.component.box.BoxComponent",
@@ -50,30 +51,13 @@
     "enterpriseId": { "kind": "parameter", "displayName": "Enterprise Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.box.BoxConfiguration", "configurationField": "configuration", "description": "The enterprise ID to use for an App Enterprise." },
     "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" },
     "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.box.BoxConfiguration", "configurationField": "configuration", "description": "The user ID to use for an App User." },
-    "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" },
     "httpParams": { "kind": "parameter", "displayName": "Http Params", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.box.BoxConfiguration", "configurationField": "configuration", "description": "Custom HTTP params for settings like proxy host" },
     "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)." },
     "authenticationType": { "kind": "parameter", "displayName": "Authentication Type", "group": "authentication", "label": "authentication", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "APP_USER_AUTHENTICATION", "configurationClass": "org.apache.camel.component.box.BoxConfiguration", "configurationField": "configuration", "description": "The type of authentication for connection. Types of Authentication: STAND [...]
-    "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." },
     "accessTokenCache": { "kind": "parameter", "displayName": "Access Token Cache", "group": "security", "label": "advanced,security", "required": false, "type": "object", "javaType": "com.box.sdk.IAccessTokenCache", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.box.BoxConfiguration", "configurationField": "configuration", "description": "Custom Access Token Cache for storing and retrieving access tokens." },
     "clientSecret": { "kind": "parameter", "displayName": "Client Secret", "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 application client secret" },
     "encryptionAlgorithm": { "kind": "parameter", "displayName": "Encryption Algorithm", "group": "security", "label": "advanced,security", "required": false, "type": "object", "javaType": "com.box.sdk.EncryptionAlgorithm", "enum": [ "RSA_SHA_256", "RSA_SHA_384", "RSA_SHA_512" ], "deprecated": false, "secret": false, "defaultValue": "RSA_SHA_256", "configurationClass": "org.apache.camel.component.box.BoxConfiguration", "configurationField": "configuration", "description": "The type of en [...]
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 916fcd0..4958561 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
@@ -105,7 +105,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (38 parameters):
+=== Query Parameters (21 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -115,30 +115,13 @@ with the following path and query parameters:
 | *enterpriseId* (common) | The enterprise ID to use for an App Enterprise. |  | String
 | *inBody* (common) | Sets the name of a parameter to be passed in the exchange In Body |  | String
 | *userId* (common) | The user ID to use for an App User. |  | String
-| *bridgeErrorHandler* (consumer) | 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. | false | boolean
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
 | *lazyStartProducer* (producer) | 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 [...]
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *httpParams* (advanced) | Custom HTTP params for settings like proxy host |  | Map
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
 | *authenticationType* (authentication) | The type of authentication for connection. Types of Authentication: STANDARD_AUTHENTICATION - OAuth 2.0 (3-legged) SERVER_AUTHENTICATION - OAuth 2.0 with JSON Web Tokens | APP_USER_AUTHENTICATION | String
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | 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. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
-| *repeatCount* (scheduler) | 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. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *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
 | *accessTokenCache* (security) | Custom Access Token Cache for storing and retrieving access tokens. |  | IAccessTokenCache
 | *clientSecret* (security) | Box application client secret |  | String
 | *encryptionAlgorithm* (security) | The type of encryption algorithm for JWT. Supported Algorithms: RSA_SHA_256 RSA_SHA_384 RSA_SHA_512. There are 3 enums and the value can be one of: RSA_SHA_256, RSA_SHA_384, RSA_SHA_512 | RSA_SHA_256 | EncryptionAlgorithm
@@ -243,7 +226,7 @@ The collaborations API method(s) has the following set of parameters listed in t
 | updateCollaborationInfo | *info* |   | Info
 |===
 
-In addition to the parameters above, the collaborations API can also use from the 38 endpoint query option
+In addition to the parameters above, the collaborations API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -311,7 +294,7 @@ The comments API method(s) has the following set of parameters listed in the tab
 | replyToComment | *message* |  The message for the reply | String
 |===
 
-In addition to the parameters above, the comments API can also use from the 38 endpoint query option
+In addition to the parameters above, the comments API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -359,7 +342,7 @@ The event-logs API method(s) has the following set of parameters listed in the t
 | getEnterpriseEvents | *types* | *Optional*  An optional list of event types to filter by | Type[]
 |===
 
-In addition to the parameters above, the event-logs API can also use from the 38 endpoint query option
+In addition to the parameters above, the event-logs API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -404,7 +387,7 @@ The events API method(s) has the following set of parameters listed in the table
 | listen | *startingPosition* | *Optional*  The starting position of the event stream | Long
 |===
 
-In addition to the parameters above, the events API can also use from the 38 endpoint query option
+In addition to the parameters above, the events API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -574,7 +557,7 @@ The files API method(s) has the following set of parameters listed in the table
 | uploadNewFileVersion | *modified* | *Optional*  The content modified date that will be given to the uploaded file | Date
 |===
 
-In addition to the parameters above, the files API can also use from the 38 endpoint query option
+In addition to the parameters above, the files API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -672,7 +655,7 @@ The folders API method(s) has the following set of parameters listed in the tabl
 | updateFolderInfo | *info* |  The updated information | Info
 |===
 
-In addition to the parameters above, the folders API can also use from the 38 endpoint query option
+In addition to the parameters above, the folders API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -758,7 +741,7 @@ The groups API method(s) has the following set of parameters listed in the table
 | updateGroupMembershipInfo | *info* |  The updated information | Info
 |===
 
-In addition to the parameters above, the groups API can also use from the 38 endpoint query option
+In addition to the parameters above, the groups API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -804,7 +787,7 @@ The search API method(s) has the following set of parameters listed in the table
 | searchFolder | *query* |  The search query | String
 |===
 
-In addition to the parameters above, the search API can also use from the 38 endpoint query option
+In addition to the parameters above, the search API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -886,7 +869,7 @@ The tasks API method(s) has the following set of parameters listed in the table
 | updateTaskInfo | *taskId* |  The id of task | String
 |===
 
-In addition to the parameters above, the tasks API can also use from the 38 endpoint query option
+In addition to the parameters above, the tasks API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -977,7 +960,7 @@ The users API method(s) has the following set of parameters listed in the table
 | updateUserInfo | *userId* |  The id of user to update | String
 |===
 
-In addition to the parameters above, the users API can also use from the 38 endpoint query option
+In addition to the parameters above, the users API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
diff --git a/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxConsumer.java b/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxConsumer.java
index 0080209..31c4a50 100644
--- a/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxConsumer.java
+++ b/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxConsumer.java
@@ -44,11 +44,8 @@ public class BoxConsumer extends AbstractApiConsumer<BoxApiName, BoxConfiguratio
     private static final String LISTENER_PROPERTY = "listener";
 
     private BoxAPIConnection boxConnection;
-
     private BoxEventsManager apiProxy;
-
     private final ApiMethod apiMethod;
-
     private final Map<String, Object> properties;
 
     public BoxConsumer(BoxEndpoint endpoint, Processor processor) {
@@ -56,15 +53,10 @@ public class BoxConsumer extends AbstractApiConsumer<BoxApiName, BoxConfiguratio
 
         apiMethod = ApiConsumerHelper.findMethod(endpoint, this);
 
-        // Add listener property to register this consumer as listener for
-        // events.
+        // Add listener property to register this consumer as listener for events.
         properties = new HashMap<>();
         properties.putAll(endpoint.getEndpointProperties());
         properties.put(LISTENER_PROPERTY, this);
-
-        boxConnection = endpoint.getBoxConnection();
-
-        apiProxy = new BoxEventsManager(boxConnection);
     }
 
     @Override
@@ -75,16 +67,15 @@ public class BoxConsumer extends AbstractApiConsumer<BoxApiName, BoxConfiguratio
     @Override
     public void onEvent(BoxEvent event) {
         try {
-            // Convert Events to exchange and process
-            LOG.debug("Processed {} event for {}", ApiConsumerHelper.getResultsProcessed(this, event, false),
-                    boxConnection);
+            ApiConsumerHelper.getResultsProcessed(this, event, false);
         } catch (Exception e) {
-            LOG.info("Received exception consuming event: ", e);
+            LOG.warn("Received exception consuming event: ", e);
         }
     }
 
     @Override
     public void onNextPosition(long position) {
+        // noop
     }
 
     @Override
@@ -94,17 +85,25 @@ public class BoxConsumer extends AbstractApiConsumer<BoxApiName, BoxConfiguratio
     }
 
     @Override
+    public BoxEndpoint getEndpoint() {
+        return (BoxEndpoint) super.getEndpoint();
+    }
+
+    @Override
     protected void doStart() throws Exception {
         super.doStart();
 
+        boxConnection = getEndpoint().getBoxConnection();
+        apiProxy = new BoxEventsManager(boxConnection);
         // invoke the API method to start listening
         ApiMethodHelper.invokeMethod(apiProxy, apiMethod, properties);
     }
 
     @Override
     protected void doStop() throws Exception {
-        apiProxy.stopListening();
-
+        if (apiProxy != null) {
+            apiProxy.stopListening();
+        }
         super.doStop();
     }
 
diff --git a/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxEndpoint.java b/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
index 2e1ef05..5f7ee62 100644
--- a/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
+++ b/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
@@ -38,6 +38,7 @@ import org.apache.camel.component.box.internal.BoxApiName;
 import org.apache.camel.component.box.internal.BoxConnectionHelper;
 import org.apache.camel.component.box.internal.BoxConstants;
 import org.apache.camel.component.box.internal.BoxPropertiesHelper;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.support.component.AbstractApiEndpoint;
@@ -50,6 +51,7 @@ import org.apache.camel.support.component.ApiMethodPropertiesHelper;
 @UriEndpoint(firstVersion = "2.14.0", scheme = "box", title = "Box", syntax = "box:apiName/methodName",
              apiSyntax = "apiName/methodName",
              consumerPrefix = "consumer", category = { Category.CLOUD, Category.FILE, Category.API }, lenientProperties = true)
+@Metadata(excludeProperties = "startScheduler,initialDelay,delay,timeUnit,useFixedDelay,pollStrategy,runLoggingLevel,sendEmptyMessageWhenIdle,greedy,scheduler,schedulerProperties,scheduledExecutorService,backoffMultiplier,backoffIdleThreshold,backoffErrorThreshold,repeatCount,bridgeErrorHandler")
 public class BoxEndpoint extends AbstractApiEndpoint<BoxApiName, BoxConfiguration> {
 
     @UriParam
@@ -93,7 +95,6 @@ public class BoxEndpoint extends AbstractApiEndpoint<BoxApiName, BoxConfiguratio
             throw new IllegalArgumentException("Option inBody is not supported for consumer endpoint");
         }
         final BoxConsumer consumer = new BoxConsumer(this, processor);
-        // also set consumer.* properties
         configureConsumer(consumer);
         return consumer;
     }
@@ -112,7 +113,6 @@ public class BoxEndpoint extends AbstractApiEndpoint<BoxApiName, BoxConfiguratio
     protected void afterConfigureProperties() {
         // create connection eagerly, a good way to validate configuration
         createBoxConnection();
-
     }
 
     @Override
diff --git a/core/camel-componentdsl/src/generated/resources/metadata.json b/core/camel-componentdsl/src/generated/resources/metadata.json
index b5899cf..708be35 100644
--- a/core/camel-componentdsl/src/generated/resources/metadata.json
+++ b/core/camel-componentdsl/src/generated/resources/metadata.json
@@ -1506,6 +1506,7 @@
     "title": "Box",
     "description": "Upload, download and manage files, folders, groups, collaborations, etc. on box.com.",
     "deprecated": false,
+    "deprecationNote": "",
     "firstVersion": "2.14.0",
     "label": "cloud,file,api",
     "javaType": "org.apache.camel.component.box.BoxComponent",
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BoxEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BoxEndpointBuilderFactory.java
index f5fa11d..71230db 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BoxEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BoxEndpointBuilderFactory.java
@@ -17,16 +17,12 @@
 package org.apache.camel.builder.endpoint.dsl;
 
 import java.util.Map;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
 import javax.annotation.Generated;
 import org.apache.camel.ExchangePattern;
-import org.apache.camel.LoggingLevel;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
 import org.apache.camel.spi.ExceptionHandler;
-import org.apache.camel.spi.PollingConsumerPollStrategy;
 
 /**
  * Upload, download and manage files, folders, groups, collaborations, etc. on
@@ -92,72 +88,6 @@ public interface BoxEndpointBuilderFactory {
             return this;
         }
         /**
-         * 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.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: consumer
-         */
-        default BoxEndpointConsumerBuilder bridgeErrorHandler(
-                boolean bridgeErrorHandler) {
-            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
-            return this;
-        }
-        /**
-         * 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.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: consumer
-         */
-        default BoxEndpointConsumerBuilder bridgeErrorHandler(
-                String bridgeErrorHandler) {
-            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
-            return this;
-        }
-        /**
-         * If the polling consumer did not poll any files, you can enable this
-         * option to send an empty message (no body) instead.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: consumer
-         */
-        default BoxEndpointConsumerBuilder sendEmptyMessageWhenIdle(
-                boolean sendEmptyMessageWhenIdle) {
-            doSetProperty("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
-            return this;
-        }
-        /**
-         * If the polling consumer did not poll any files, you can enable this
-         * option to send an empty message (no body) instead.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: consumer
-         */
-        default BoxEndpointConsumerBuilder sendEmptyMessageWhenIdle(
-                String sendEmptyMessageWhenIdle) {
-            doSetProperty("sendEmptyMessageWhenIdle", sendEmptyMessageWhenIdle);
-            return this;
-        }
-        /**
          * The type of authentication for connection. Types of Authentication:
          * STANDARD_AUTHENTICATION - OAuth 2.0 (3-legged) SERVER_AUTHENTICATION
          * - OAuth 2.0 with JSON Web Tokens.
@@ -173,388 +103,6 @@ public interface BoxEndpointBuilderFactory {
             return this;
         }
         /**
-         * The number of subsequent error polls (failed due some error) that
-         * should happen before the backoffMultipler should kick-in.
-         * 
-         * The option is a: <code>int</code> type.
-         * 
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder backoffErrorThreshold(
-                int backoffErrorThreshold) {
-            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
-            return this;
-        }
-        /**
-         * The number of subsequent error polls (failed due some error) that
-         * should happen before the backoffMultipler should kick-in.
-         * 
-         * The option will be converted to a <code>int</code> type.
-         * 
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder backoffErrorThreshold(
-                String backoffErrorThreshold) {
-            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
-            return this;
-        }
-        /**
-         * The number of subsequent idle polls that should happen before the
-         * backoffMultipler should kick-in.
-         * 
-         * The option is a: <code>int</code> type.
-         * 
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder backoffIdleThreshold(
-                int backoffIdleThreshold) {
-            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
-            return this;
-        }
-        /**
-         * The number of subsequent idle polls that should happen before the
-         * backoffMultipler should kick-in.
-         * 
-         * The option will be converted to a <code>int</code> type.
-         * 
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder backoffIdleThreshold(
-                String backoffIdleThreshold) {
-            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
-            return this;
-        }
-        /**
-         * 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.
-         * 
-         * The option is a: <code>int</code> type.
-         * 
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder backoffMultiplier(
-                int backoffMultiplier) {
-            doSetProperty("backoffMultiplier", backoffMultiplier);
-            return this;
-        }
-        /**
-         * 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.
-         * 
-         * The option will be converted to a <code>int</code> type.
-         * 
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder backoffMultiplier(
-                String backoffMultiplier) {
-            doSetProperty("backoffMultiplier", backoffMultiplier);
-            return this;
-        }
-        /**
-         * Milliseconds before the next poll.
-         * 
-         * The option is a: <code>long</code> type.
-         * 
-         * Default: 500
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder delay(long delay) {
-            doSetProperty("delay", delay);
-            return this;
-        }
-        /**
-         * Milliseconds before the next poll.
-         * 
-         * The option will be converted to a <code>long</code> type.
-         * 
-         * Default: 500
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder delay(String delay) {
-            doSetProperty("delay", delay);
-            return this;
-        }
-        /**
-         * If greedy is enabled, then the ScheduledPollConsumer will run
-         * immediately again, if the previous run polled 1 or more messages.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder greedy(boolean greedy) {
-            doSetProperty("greedy", greedy);
-            return this;
-        }
-        /**
-         * If greedy is enabled, then the ScheduledPollConsumer will run
-         * immediately again, if the previous run polled 1 or more messages.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder greedy(String greedy) {
-            doSetProperty("greedy", greedy);
-            return this;
-        }
-        /**
-         * Milliseconds before the first poll starts.
-         * 
-         * The option is a: <code>long</code> type.
-         * 
-         * Default: 1000
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder initialDelay(long initialDelay) {
-            doSetProperty("initialDelay", initialDelay);
-            return this;
-        }
-        /**
-         * Milliseconds before the first poll starts.
-         * 
-         * The option will be converted to a <code>long</code> type.
-         * 
-         * Default: 1000
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder initialDelay(String initialDelay) {
-            doSetProperty("initialDelay", initialDelay);
-            return this;
-        }
-        /**
-         * 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.
-         * 
-         * The option is a: <code>long</code> type.
-         * 
-         * Default: 0
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder repeatCount(long repeatCount) {
-            doSetProperty("repeatCount", repeatCount);
-            return this;
-        }
-        /**
-         * 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.
-         * 
-         * The option will be converted to a <code>long</code> type.
-         * 
-         * Default: 0
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder repeatCount(String repeatCount) {
-            doSetProperty("repeatCount", repeatCount);
-            return this;
-        }
-        /**
-         * The consumer logs a start/complete log line when it polls. This
-         * option allows you to configure the logging level for that.
-         * 
-         * The option is a: <code>org.apache.camel.LoggingLevel</code> type.
-         * 
-         * Default: TRACE
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder runLoggingLevel(
-                LoggingLevel runLoggingLevel) {
-            doSetProperty("runLoggingLevel", runLoggingLevel);
-            return this;
-        }
-        /**
-         * The consumer logs a start/complete log line when it polls. This
-         * option allows you to configure the logging level for that.
-         * 
-         * The option will be converted to a
-         * <code>org.apache.camel.LoggingLevel</code> type.
-         * 
-         * Default: TRACE
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder runLoggingLevel(
-                String runLoggingLevel) {
-            doSetProperty("runLoggingLevel", runLoggingLevel);
-            return this;
-        }
-        /**
-         * Allows for configuring a custom/shared thread pool to use for the
-         * consumer. By default each consumer has its own single threaded thread
-         * pool.
-         * 
-         * The option is a:
-         * <code>java.util.concurrent.ScheduledExecutorService</code> type.
-         * 
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder scheduledExecutorService(
-                ScheduledExecutorService scheduledExecutorService) {
-            doSetProperty("scheduledExecutorService", scheduledExecutorService);
-            return this;
-        }
-        /**
-         * Allows for configuring a custom/shared thread pool to use for the
-         * consumer. By default each consumer has its own single threaded thread
-         * pool.
-         * 
-         * The option will be converted to a
-         * <code>java.util.concurrent.ScheduledExecutorService</code> type.
-         * 
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder scheduledExecutorService(
-                String scheduledExecutorService) {
-            doSetProperty("scheduledExecutorService", scheduledExecutorService);
-            return this;
-        }
-        /**
-         * To use a cron scheduler from either camel-spring or camel-quartz
-         * component. Use value spring or quartz for built in scheduler.
-         * 
-         * The option is a: <code>java.lang.Object</code> type.
-         * 
-         * Default: none
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder scheduler(Object scheduler) {
-            doSetProperty("scheduler", scheduler);
-            return this;
-        }
-        /**
-         * To use a cron scheduler from either camel-spring or camel-quartz
-         * component. Use value spring or quartz for built in scheduler.
-         * 
-         * The option will be converted to a <code>java.lang.Object</code> type.
-         * 
-         * Default: none
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder scheduler(String scheduler) {
-            doSetProperty("scheduler", scheduler);
-            return this;
-        }
-        /**
-         * To configure additional properties when using a custom scheduler or
-         * any of the Quartz, Spring based scheduler.
-         * 
-         * The option is a: <code>java.util.Map&lt;java.lang.String,
-         * java.lang.Object&gt;</code> type.
-         * The option is multivalued, and you can use the
-         * schedulerProperties(String, Object) method to add a value (call the
-         * method multiple times to set more values).
-         * 
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder schedulerProperties(
-                String key,
-                Object value) {
-            doSetMultiValueProperty("schedulerProperties", "scheduler." + key, value);
-            return this;
-        }
-        /**
-         * To configure additional properties when using a custom scheduler or
-         * any of the Quartz, Spring based scheduler.
-         * 
-         * The option is a: <code>java.util.Map&lt;java.lang.String,
-         * java.lang.Object&gt;</code> type.
-         * The option is multivalued, and you can use the
-         * schedulerProperties(String, Object) method to add a value (call the
-         * method multiple times to set more values).
-         * 
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder schedulerProperties(Map values) {
-            doSetMultiValueProperties("schedulerProperties", "scheduler.", values);
-            return this;
-        }
-        /**
-         * Whether the scheduler should be auto started.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Default: true
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder startScheduler(boolean startScheduler) {
-            doSetProperty("startScheduler", startScheduler);
-            return this;
-        }
-        /**
-         * Whether the scheduler should be auto started.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Default: true
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder startScheduler(String startScheduler) {
-            doSetProperty("startScheduler", startScheduler);
-            return this;
-        }
-        /**
-         * Time unit for initialDelay and delay options.
-         * 
-         * The option is a: <code>java.util.concurrent.TimeUnit</code> type.
-         * 
-         * Default: MILLISECONDS
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder timeUnit(TimeUnit timeUnit) {
-            doSetProperty("timeUnit", timeUnit);
-            return this;
-        }
-        /**
-         * Time unit for initialDelay and delay options.
-         * 
-         * The option will be converted to a
-         * <code>java.util.concurrent.TimeUnit</code> type.
-         * 
-         * Default: MILLISECONDS
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder timeUnit(String timeUnit) {
-            doSetProperty("timeUnit", timeUnit);
-            return this;
-        }
-        /**
-         * Controls if fixed delay or fixed rate is used. See
-         * ScheduledExecutorService in JDK for details.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Default: true
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder useFixedDelay(boolean useFixedDelay) {
-            doSetProperty("useFixedDelay", useFixedDelay);
-            return this;
-        }
-        /**
-         * Controls if fixed delay or fixed rate is used. See
-         * ScheduledExecutorService in JDK for details.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Default: true
-         * Group: scheduler
-         */
-        default BoxEndpointConsumerBuilder useFixedDelay(String useFixedDelay) {
-            doSetProperty("useFixedDelay", useFixedDelay);
-            return this;
-        }
-        /**
          * Box application client secret.
          * 
          * The option is a: <code>java.lang.String</code> type.
@@ -717,38 +265,6 @@ public interface BoxEndpointBuilderFactory {
             return this;
         }
         /**
-         * 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.
-         * 
-         * The option is a:
-         * <code>org.apache.camel.spi.PollingConsumerPollStrategy</code> type.
-         * 
-         * Group: consumer (advanced)
-         */
-        default AdvancedBoxEndpointConsumerBuilder pollStrategy(
-                PollingConsumerPollStrategy pollStrategy) {
-            doSetProperty("pollStrategy", pollStrategy);
-            return this;
-        }
-        /**
-         * 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.
-         * 
-         * The option will be converted to a
-         * <code>org.apache.camel.spi.PollingConsumerPollStrategy</code> type.
-         * 
-         * Group: consumer (advanced)
-         */
-        default AdvancedBoxEndpointConsumerBuilder pollStrategy(
-                String pollStrategy) {
-            doSetProperty("pollStrategy", pollStrategy);
-            return this;
-        }
-        /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities.
          * 
diff --git a/docs/components/modules/ROOT/pages/box-component.adoc b/docs/components/modules/ROOT/pages/box-component.adoc
index 4a4349f..d366225 100644
--- a/docs/components/modules/ROOT/pages/box-component.adoc
+++ b/docs/components/modules/ROOT/pages/box-component.adoc
@@ -107,7 +107,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (38 parameters):
+=== Query Parameters (21 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -117,30 +117,13 @@ with the following path and query parameters:
 | *enterpriseId* (common) | The enterprise ID to use for an App Enterprise. |  | String
 | *inBody* (common) | Sets the name of a parameter to be passed in the exchange In Body |  | String
 | *userId* (common) | The user ID to use for an App User. |  | String
-| *bridgeErrorHandler* (consumer) | 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. | false | boolean
-| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
 | *exceptionHandler* (consumer) | 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. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
-| *pollStrategy* (consumer) | 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. |  | PollingConsumerPollStrategy
 | *lazyStartProducer* (producer) | 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 [...]
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *httpParams* (advanced) | Custom HTTP params for settings like proxy host |  | Map
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
 | *authenticationType* (authentication) | The type of authentication for connection. Types of Authentication: STANDARD_AUTHENTICATION - OAuth 2.0 (3-legged) SERVER_AUTHENTICATION - OAuth 2.0 with JSON Web Tokens | APP_USER_AUTHENTICATION | String
-| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
-| *backoffMultiplier* (scheduler) | 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. |  | int
-| *delay* (scheduler) | Milliseconds before the next poll. | 500 | long
-| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
-| *initialDelay* (scheduler) | Milliseconds before the first poll starts. | 1000 | long
-| *repeatCount* (scheduler) | 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. | 0 | long
-| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. There are 6 enums and the value can be one of: TRACE, DEBUG, INFO, WARN, ERROR, OFF | TRACE | LoggingLevel
-| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutorService
-| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler | none | Object
-| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler. |  | Map
-| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
-| *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
 | *accessTokenCache* (security) | Custom Access Token Cache for storing and retrieving access tokens. |  | IAccessTokenCache
 | *clientSecret* (security) | Box application client secret |  | String
 | *encryptionAlgorithm* (security) | The type of encryption algorithm for JWT. Supported Algorithms: RSA_SHA_256 RSA_SHA_384 RSA_SHA_512. There are 3 enums and the value can be one of: RSA_SHA_256, RSA_SHA_384, RSA_SHA_512 | RSA_SHA_256 | EncryptionAlgorithm
@@ -245,7 +228,7 @@ The collaborations API method(s) has the following set of parameters listed in t
 | updateCollaborationInfo | *info* |   | Info
 |===
 
-In addition to the parameters above, the collaborations API can also use from the 38 endpoint query option
+In addition to the parameters above, the collaborations API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -313,7 +296,7 @@ The comments API method(s) has the following set of parameters listed in the tab
 | replyToComment | *message* |  The message for the reply | String
 |===
 
-In addition to the parameters above, the comments API can also use from the 38 endpoint query option
+In addition to the parameters above, the comments API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -361,7 +344,7 @@ The event-logs API method(s) has the following set of parameters listed in the t
 | getEnterpriseEvents | *types* | *Optional*  An optional list of event types to filter by | Type[]
 |===
 
-In addition to the parameters above, the event-logs API can also use from the 38 endpoint query option
+In addition to the parameters above, the event-logs API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -406,7 +389,7 @@ The events API method(s) has the following set of parameters listed in the table
 | listen | *startingPosition* | *Optional*  The starting position of the event stream | Long
 |===
 
-In addition to the parameters above, the events API can also use from the 38 endpoint query option
+In addition to the parameters above, the events API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -576,7 +559,7 @@ The files API method(s) has the following set of parameters listed in the table
 | uploadNewFileVersion | *modified* | *Optional*  The content modified date that will be given to the uploaded file | Date
 |===
 
-In addition to the parameters above, the files API can also use from the 38 endpoint query option
+In addition to the parameters above, the files API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -674,7 +657,7 @@ The folders API method(s) has the following set of parameters listed in the tabl
 | updateFolderInfo | *info* |  The updated information | Info
 |===
 
-In addition to the parameters above, the folders API can also use from the 38 endpoint query option
+In addition to the parameters above, the folders API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -760,7 +743,7 @@ The groups API method(s) has the following set of parameters listed in the table
 | updateGroupMembershipInfo | *info* |  The updated information | Info
 |===
 
-In addition to the parameters above, the groups API can also use from the 38 endpoint query option
+In addition to the parameters above, the groups API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -806,7 +789,7 @@ The search API method(s) has the following set of parameters listed in the table
 | searchFolder | *query* |  The search query | String
 |===
 
-In addition to the parameters above, the search API can also use from the 38 endpoint query option
+In addition to the parameters above, the search API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -888,7 +871,7 @@ The tasks API method(s) has the following set of parameters listed in the table
 | updateTaskInfo | *taskId* |  The id of task | String
 |===
 
-In addition to the parameters above, the tasks API can also use from the 38 endpoint query option
+In addition to the parameters above, the tasks API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.
@@ -979,7 +962,7 @@ The users API method(s) has the following set of parameters listed in the table
 | updateUserInfo | *userId* |  The id of user to update | String
 |===
 
-In addition to the parameters above, the users API can also use from the 38 endpoint query option
+In addition to the parameters above, the users API can also use from the 21 endpoint query option
 which is listed in the _Query Parameters_ section.
 
 Any of the parameters can be provided in either the endpoint URI, or dynamically in a message header.