### Start Paid Service - Example Request Body Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/startPaidService An example of a request body for the `startPaidService` method, demonstrating the use of `requestId`. ```json { "requestId": "a_unique_request_id" } ``` -------------------------------- ### HTTP Request Example Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.channelPartnerLinks/patch This is an example of the HTTP request to update a channel partner link. The URL includes the resource name, and the method is PATCH. ```http PATCH https://cloudchannel.googleapis.com/v1/{name=accounts/*/channelPartnerLinks/*} ``` -------------------------------- ### v1.accounts.customers.entitlements.startPaidService Source: https://docs.cloud.google.com/channel/docs/reference/rest Starts paid service for a trial entitlement. ```APIDOC ## POST /v1/{name=accounts/*/customers/*/entitlements/*}:startPaidService ### Description Starts paid service for a trial entitlement. ### Method POST ### Endpoint /v1/{name=accounts/*/customers/*/entitlements/*}:startPaidService ``` -------------------------------- ### Start Paid Service for Entitlement Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements Starts a paid service for a customer entitlement, typically transitioning from a trial period. ```APIDOC ## startPaidService Entitlement ### Description Starts a paid service for a customer entitlement. ### Method POST ### Endpoint /v1/{name=accounts/*/customers/*/entitlements/*}:startPaidService ### Parameters #### Path Parameters - **name** (string) - Required - The resource name of the entitlement to start the paid service for. ### Request Body (No request body is explicitly documented for this method in the source.) ### Response #### Success Response (200) (No specific response fields are documented for this method in the source.) ``` -------------------------------- ### startPaidService Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements Starts paid service for a trial entitlement. ```APIDOC ## startPaidService ### Description Starts paid service for a trial entitlement. ### Method POST ### Endpoint /v1/accounts.customers.entitlements:startPaidService ### Request Body (No specific request body documented) ``` -------------------------------- ### Start Paid Service HTTP Request Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/startPaidService This is the HTTP request structure for starting a paid service for an entitlement. It includes the endpoint and the method. ```http POST https://cloudchannel.googleapis.com/v1/{name=accounts/*/customers/*/entitlements/*}:startPaidService ``` -------------------------------- ### Example Filter for Run Report Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.reports/run This example demonstrates how to use the 'filter' field to specify conditions on dimension columns, including logical and conditional operators. ```string (customer:"accounts/C123abc/customers/S456def" OR customer:"accounts/C123abc/customers/S789ghi") AND invoiceStartDate.year >= 2022 ``` -------------------------------- ### Example Request Body for Provisioning Cloud Identity Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/provisionCloudIdentity An example of a request body for the provisionCloudIdentity method, demonstrating how to include Cloud Identity and Admin User information. This is a template and requires specific values. ```json { } ``` -------------------------------- ### accounts.customers.entitlements.startPaidService Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/startPaidService Starts paid service for a trial entitlement immediately. This method is only applicable if a plan is set up for a trial entitlement but has some trial days remaining. ```APIDOC ## POST accounts.customers.entitlements.startPaidService ### Description Starts paid service for a trial entitlement immediately. This method is only applicable if a plan is set up for a trial entitlement but has some trial days remaining. ### Method POST ### Endpoint https://cloudchannel.googleapis.com/v1/{name=accounts/*/customers/*/entitlements/*}:startPaidService ### Path Parameters * **name** (string) - Required. The name of the entitlement to start a paid service for. Name uses the format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id} ### Request Body JSON representation: ```json { "requestId": string } ``` #### Fields * **requestId** (string) - Optional. You can specify an optional unique request ID, and if you need to retry your request, the server will know to ignore the request if it's complete. The request ID must be a valid UUID with the exception that zero UUID is not supported (`00000000-0000-0000-0000-000000000000`). ### Response Body If successful, the response body contains an instance of `Operation`. ### Authorization Scopes Requires the following OAuth scope: * `https://www.googleapis.com/auth/apps.order` ``` -------------------------------- ### Example Request Body with Request ID Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/cancel An example of a request body with a unique request ID. This ID helps the server ignore duplicate requests if the initial one times out. ```json { "requestId": "a1b2c3d4-e5f6-7890-1234-567890abcdef" } ``` -------------------------------- ### Get Customer Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.channelPartnerLinks.customers Returns the requested Customer resource. ```APIDOC ## GET /accounts/{accountId}/customers/{customerId} ### Description Returns the requested `Customer` resource. ### Method GET ### Endpoint /accounts/{accountId}/customers/{customerId} ``` -------------------------------- ### Get Opportunity Source: https://docs.cloud.google.com/channel/docs/reference/rest Returns the requested Opportunity resource. ```APIDOC ## GET /v1alpha1/{name=opportunities/*} ### Description Returns the requested `Opportunity` resource. ### Method GET ### Endpoint /v1alpha1/{name=opportunities/*} ``` -------------------------------- ### Example Request Body with Renewal Settings Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/changeRenewalSettings An example of a request body for changing renewal settings. This includes the renewalSettings object and a requestId for idempotency. Note that the RenewalSettings object itself is not defined here but is a required part of the request. ```JSON { "renewalSettings": { }, "requestId": "a1b2c3d4-e5f6-7890-1234-567890abcdef" } ``` -------------------------------- ### Get Customer Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.channelPartnerLinks.customers/get Retrieves the specified `Customer` resource. This is useful for fetching customer details after they have been provisioned or linked. ```APIDOC ## Get Customer ### Description Returns the requested `Customer` resource. ### Method GET ### Endpoint `https://cloudchannel.googleapis.com/v1/{name=accounts/*/channelPartnerLinks/*/customers/*}` ### Parameters #### Path Parameters - **name** (string) - Required. The resource name of the customer to retrieve. Name uses the format: accounts/{account_id}/customers/{customer_id} ### Request Body The request body must be empty. ### Response Body If successful, the response body contains an instance of `Customer`. ### Authorization Scopes Requires the following OAuth scope: - `https://www.googleapis.com/auth/apps.order` ``` -------------------------------- ### PricePhase Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/Offer Specifies the price by the duration of months. For example, a 20% discount for the first six months, then a 10% discount starting on the seventh month. ```APIDOC ## PricePhase ### Description Specifies the price by the duration of months. For example, a 20% discount for the first six months, then a 10% discount starting on the seventh month. ### JSON Representation ```json { "periodType": enum (PeriodType), "firstPeriod": integer, "lastPeriod": integer, "price": { object (Price) }, "priceTiers": [ { object (PriceTier) } ] } ``` ### Fields * `periodType` (enum (PeriodType)) - Defines the phase period type. * `firstPeriod` (integer) - Defines the first period for the phase. * `lastPeriod` (integer) - Defines the first period for the phase. * `price` (object (Price)) - Price of the phase. Present if there are no price tiers. * `priceTiers[]` (object (PriceTier)) - Price by the resource tiers. ``` -------------------------------- ### get Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/operations Gets the latest state of a long-running operation. ```APIDOC ## GET /v1/operations/{name} ### Description Gets the latest state of a long-running operation. Clients should use this method to poll the status of an operation. ### Method GET ### Endpoint `/v1/operations/{name}` ### Parameters #### Path Parameters * `name` (string) - Required - The name of the operation resource. ``` -------------------------------- ### Get Operation Source: https://docs.cloud.google.com/channel/docs/reference/rest Gets the latest state of a long-running operation. ```APIDOC ## GET /v1/{name=operations/**} ### Description Gets the latest state of a long-running operation. ### Method GET ### Endpoint /v1/{name=operations/**} ``` -------------------------------- ### Get Customer Repricing Config Source: https://docs.cloud.google.com/channel/docs/reference/rest Gets information about how a Reseller modifies their bill before sending it to a Customer. ```APIDOC ## GET /v1alpha1/{name=accounts/*/customers/*/customerRepricingConfigs/*} ### Description Gets information about how a Reseller modifies their bill before sending it to a Customer. ### Method GET ### Endpoint /v1alpha1/{name=accounts/*/customers/*/customerRepricingConfigs/*} ``` -------------------------------- ### Get Channel Partner Repricing Config Source: https://docs.cloud.google.com/channel/docs/reference/rest Gets information about how a Distributor modifies their bill before sending it to a ChannelPartner. ```APIDOC ## GET /v1alpha1/{name=accounts/*/channelPartnerLinks/*/channelPartnerRepricingConfigs/*} ### Description Gets information about how a Distributor modifies their bill before sending it to a ChannelPartner. ### Method GET ### Endpoint /v1alpha1/{name=accounts/*/channelPartnerLinks/*/channelPartnerRepricingConfigs/*} ``` -------------------------------- ### v1.accounts.customers.customerRepricingConfigs.create Source: https://docs.cloud.google.com/channel/docs/reference/rest Creates a CustomerRepricingConfig. ```APIDOC ## POST /v1/{parent=accounts/*/customers/*}/customerRepricingConfigs ### Description Creates a CustomerRepricingConfig. ### Method POST ### Endpoint /v1/{parent=accounts/*/customers/*}/customerRepricingConfigs ``` -------------------------------- ### v1.accounts.customers.entitlements.lookupOffer Source: https://docs.cloud.google.com/channel/docs/reference/rest Returns the requested Offer resource. ```APIDOC ## GET /v1/{entitlement=accounts/*/customers/*/entitlements/*}:lookupOffer ### Description Returns the requested `Offer` resource. ### Method GET ### Endpoint /v1/{entitlement=accounts/*/customers/*/entitlements/*}:lookupOffer ``` -------------------------------- ### TrialSettings Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements Settings for trial offers. ```APIDOC ## TrialSettings Settings for trial offers. ### JSON Representation ```json { "trial": boolean, "endTime": string } ``` ### Fields * `trial` (boolean) - Determines if the entitlement is in a trial or not: * `true` - The entitlement is in trial. * `false` - The entitlement is not in trial. * `endTime` (string (`Timestamp` format)) - Date when the trial ends. The value is in milliseconds, using the UNIX Epoch format. See an example Epoch converter.Uses RFC 3339, where generated output is always Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. ``` -------------------------------- ### List Purchasable SKUs Request - Create Entitlement Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/listPurchasableSkus Use this to list SKUs for a new entitlement purchase. Requires the `product` field to specify the product. ```json { "createEntitlementPurchase": { "product": "products/productId" } } ``` -------------------------------- ### Unregister Subscriber Request Body Example Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/integrators/unregisterSubscriber An example of how to structure the request body for the `unregisterSubscriber` method, specifying the service account to unregister. ```json { "serviceAccount": "my-service-account@example.com" } ``` -------------------------------- ### v1.accounts.customers.create Source: https://docs.cloud.google.com/channel/docs/reference/rest Creates a new Customer resource under the reseller or distributor account. ```APIDOC ## POST /v1/{parent=accounts/*}/customers ### Description Creates a new `Customer` resource under the reseller or distributor account. ### Method POST ### Endpoint /v1/{parent=accounts/*}/customers ``` -------------------------------- ### accounts.channelPartnerLinks.create Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.channelPartnerLinks/create Initiates a channel partner link between a distributor and a reseller. The invited partner must accept the inviteLinkUri provided in the response to establish the link. This method can only be called by a distributor. ```APIDOC ## accounts.channelPartnerLinks.create ### Description Initiates a channel partner link between a distributor and a reseller, or between resellers in an n-tier reseller channel. Invited partners need to follow the inviteLinkUri provided in the response to accept. After accepting the invitation, a link is set up between the two parties. You must be a distributor to call this method. ### Method POST ### Endpoint https://cloudchannel.googleapis.com/v1/{parent=accounts/*}/channelPartnerLinks ### Path Parameters * **parent** (string) - Required. Create a channel partner link for the provided reseller account's resource name. Parent uses the format: accounts/{account_id} ### Request Body The request body should contain an instance of `ChannelPartnerLink`. ### Response Body If successful, the response body contains a newly created instance of `ChannelPartnerLink`. ### Authorization Scopes Requires the following OAuth scope: * https://www.googleapis.com/auth/apps.order ``` -------------------------------- ### get Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements Returns the requested Entitlement resource. ```APIDOC ## get ### Description Returns the requested `Entitlement` resource. ### Method GET ### Endpoint /v1/accounts.customers.entitlements/{name} ### Parameters #### Path Parameters - **name** (string) - Required - The name of the entitlement to retrieve. ### Response #### Success Response (200) - **Entitlement** (object) - The Entitlement resource. #### Response Example (No specific response example documented) ``` -------------------------------- ### v1.accounts.customers.entitlements.listEntitlementChanges Source: https://docs.cloud.google.com/channel/docs/reference/rest List entitlement history. ```APIDOC ## GET /v1/{parent=accounts/*/customers/*/entitlements/*}:listEntitlementChanges ### Description List entitlement history. ### Method GET ### Endpoint /v1/{parent=accounts/*/customers/*/entitlements/*}:listEntitlementChanges ``` -------------------------------- ### v1.accounts.customers.entitlements.create Source: https://docs.cloud.google.com/channel/docs/reference/rest Creates an entitlement for a customer. ```APIDOC ## POST /v1/{parent=accounts/*/customers/*}/entitlements ### Description Creates an entitlement for a customer. ### Method POST ### Endpoint /v1/{parent=accounts/*/customers/*}/entitlements ``` -------------------------------- ### create Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements Creates an entitlement for a customer. ```APIDOC ## create ### Description Creates an entitlement for a customer. ### Method POST ### Endpoint /v1/accounts.customers.entitlements:create ### Request Body (No specific request body documented) ``` -------------------------------- ### Create Customer Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.channelPartnerLinks.customers Creates a new Customer resource under the reseller or distributor account. ```APIDOC ## POST /accounts/{accountId}/customers ### Description Creates a new `Customer` resource under the reseller or distributor account. ### Method POST ### Endpoint /accounts/{accountId}/customers ``` -------------------------------- ### List Purchasable SKUs Source: https://docs.cloud.google.com/channel/docs/reference/rest Lists SKUs that you can purchase for a customer, and SKUs that you can upgrade or downgrade for an entitlement. ```APIDOC ## GET /v1alpha1/{customer=accounts/*/customers/*}:listPurchasableSkus ### Description Lists the following: * SKUs that you can purchase for a customer * SKUs that you can upgrade or downgrade for an entitlement. ### Method GET ### Endpoint /v1alpha1/{customer=accounts/*/customers/*}:listPurchasableSkus ``` -------------------------------- ### cancel Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/operations Starts asynchronous cancellation on a long-running operation. ```APIDOC ## POST /v1/operations/{name}:cancel ### Description Starts asynchronous cancellation on a long-running operation. ### Method POST ### Endpoint `/v1/operations/{name}:cancel` ### Parameters #### Path Parameters * `name` (string) - Required - The name of the operation resource to be cancelled. ``` -------------------------------- ### v1.accounts.offers.list Source: https://docs.cloud.google.com/channel/docs/reference/rest Lists the Offers the reseller can sell. ```APIDOC ## GET /v1/{parent=accounts/*}/offers ### Description Lists the Offers the reseller can sell. ### Method GET ### Endpoint /v1/{parent=accounts/*}/offers ``` -------------------------------- ### Get Entitlement Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements Retrieves details of a specific customer entitlement. ```APIDOC ## get Entitlement ### Description Gets a customer entitlement. ### Method GET ### Endpoint /v1/{name=accounts/*/customers/*/entitlements/*} ### Parameters #### Path Parameters - **name** (string) - Required - The resource name of the entitlement to retrieve. ### Response #### Success Response (200) - **name** (string) - The resource name of the entitlement. - **provisioningState** (string) - The provisioning state of the entitlement. - **provisionedService** (object) - The provisioned service associated with the entitlement. - **sku** (string) - The SKU of the provisioned service. - **commitmentSettings** (object) - Commitment settings for the entitlement. - **renewalSettings** (object) - Renewal settings for the commitment. - **renewalType** (string) - The renewal type. - **renewalEndTime** (string) - The time when the renewal is effective. - **renewalSettings** (object) - Renewal settings for the entitlement. - **renewalType** (string) - The renewal type. - **renewalEndTime** (string) - The time when the renewal is effective. - **paymentPlan** (string) - The payment plan for the entitlement. - **period** (object) - The period for which the entitlement is active. - **startTime** (string) - The start time of the period. - **endTime** (string) - The end time of the period. - **periodType** (string) - The type of the period. - **suspensionReason** (string) - The reason for suspension, if applicable. - **trialSettings** (object) - Trial settings for the entitlement. - **endTime** (string) - The end time of the trial. - **associationInfo** (object) - Information about the association of the entitlement. - **sku** (string) - The SKU associated with the entitlement. - **domain** (string) - The domain associated with the entitlement. #### Response Example (No specific response example is provided in the source.) ``` -------------------------------- ### Cancel Operation Source: https://docs.cloud.google.com/channel/docs/reference/rest Starts asynchronous cancellation on a long-running operation. ```APIDOC ## POST /v1/{name=operations/**}:cancel ### Description Starts asynchronous cancellation on a long-running operation. ### Method POST ### Endpoint /v1/{name=operations/**}:cancel ``` -------------------------------- ### v1.accounts.customers.listPurchasableSkus Source: https://docs.cloud.google.com/channel/docs/reference/rest Lists SKUs that you can purchase for a customer, and SKUs that you can upgrade or downgrade for an entitlement. ```APIDOC ## GET /v1/{customer=accounts/*/customers/*}:listPurchasableSkus ### Description Lists the following: * SKUs that you can purchase for a customer * SKUs that you can upgrade or downgrade for an entitlement. ### Method GET ### Endpoint /v1/{customer=accounts/*/customers/*}:listPurchasableSkus ``` -------------------------------- ### Create Channel Partner Repricing Config Source: https://docs.cloud.google.com/channel/docs/reference/rest Creates a ChannelPartnerRepricingConfig. ```APIDOC ## POST /v1alpha1/{parent=accounts/*/channelPartnerLinks/*}/channelPartnerRepricingConfigs ### Description Creates a `ChannelPartnerRepricingConfig`. ### Method POST ### Endpoint /v1alpha1/{parent=accounts/*/channelPartnerLinks/*}/channelPartnerRepricingConfigs ``` -------------------------------- ### v1.accounts.customers.customerRepricingConfigs.get Source: https://docs.cloud.google.com/channel/docs/reference/rest Gets information about how a Reseller modifies their bill before sending it to a Customer. ```APIDOC ## GET /v1/{name=accounts/*/customers/*/customerRepricingConfigs/*} ### Description Gets information about how a Reseller modifies their bill before sending it to a Customer. ### Method GET ### Endpoint /v1/{name=accounts/*/customers/*/customerRepricingConfigs/*} ``` -------------------------------- ### lookupOffer Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements Returns the requested Offer resource. ```APIDOC ## lookupOffer ### Description Returns the requested `Offer` resource. ### Method GET ### Endpoint /v1/accounts.offers:lookupOffer ### Query Parameters - **name** (string) - Required - The name of the offer to retrieve. ### Response #### Success Response (200) - **Offer** (object) - The Offer resource. #### Response Example (No specific response example documented) ``` -------------------------------- ### Get Channel Partner Link Source: https://docs.cloud.google.com/channel/docs/reference/rest Returns the requested ChannelPartnerLink resource. ```APIDOC ## GET /v1alpha1/{name=accounts/*/channelPartnerLinks/*} ### Description Returns the requested `ChannelPartnerLink` resource. ### Method GET ### Endpoint /v1alpha1/{name=accounts/*/channelPartnerLinks/*} ``` -------------------------------- ### products.list Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/products/list Lists the Products the reseller is authorized to sell. Stay organized with collections by saving and categorizing content based on your preferences. ```APIDOC ## GET https://cloudchannel.googleapis.com/v1/products ### Description Lists the Products the reseller is authorized to sell. ### Method GET ### Endpoint https://cloudchannel.googleapis.com/v1/products ### Query Parameters #### account (string) - Required - The resource name of the reseller account. Format: accounts/{account_id}. #### pageSize (integer) - Optional - Requested page size. Server might return fewer results than requested. If unspecified, returns at most 100 Products. The maximum value is 1000; the server will coerce values above 1000. #### pageToken (string) - Optional - A token for a page of results other than the first page. #### languageCode (string) - Optional - The BCP-47 language code. For example, "en-US". The response will localize in the corresponding language code, if specified. The default value is "en-US". ### Response Body Response message for products.list. If successful, the response body contains data with the following structure: ```json { "products": [ { object (Product) } ], "nextPageToken": string } ``` #### Success Response (200) - **products** (object (Product)) - List of Products requested. - **nextPageToken** (string) - A token to retrieve the next page of results. #### Possible error codes: - INVALID_ARGUMENT: Required request parameters are missing or invalid. ``` -------------------------------- ### v1.accounts.customers.list Source: https://docs.cloud.google.com/channel/docs/reference/rest Lists Customers. ```APIDOC ## GET /v1/{parent=accounts/*}/customers ### Description List `Customer`s. ### Method GET ### Endpoint /v1/{parent=accounts/*}/customers ``` -------------------------------- ### ListTransferableOffers Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts/listTransferableOffers Retrieves a list of transferable offers for a given customer. This is useful when a reseller needs to get entitlement information for a customer they do not own. ```APIDOC ## POST https://cloudchannel.googleapis.com/v1/{parent=accounts/*}:listTransferableOffers ### Description Lists `TransferableOffer`s of a customer based on Cloud Identity ID or Customer Name in the request. Use this method when a reseller gets the entitlement information of an unowned customer. The reseller should provide the customer's Cloud Identity ID or Customer Name. ### Method POST ### Endpoint `https://cloudchannel.googleapis.com/v1/{parent=accounts/*}:listTransferableOffers` ### Parameters #### Path Parameters - **parent** (string) - Required. The resource name of the reseller's account. #### Request Body - **pageSize** (integer) - Optional. Requested page size. Server might return fewer results than requested. If unspecified, returns at most 100 offers. The maximum value is 1000; the server will coerce values above 1000. - **pageToken** (string) - Optional. A token for a page of results other than the first page. Obtained using `ListTransferableOffersResponse.next_page_token` of the previous `CloudChannelService.ListTransferableOffers` call. - **sku** (string) - Required. The SKU to look up Offers for. - **languageCode** (string) - Optional. The BCP-47 language code. For example, "en-US". The response will localize in the corresponding language code, if specified. The default value is "en-US". - **billingAccount** (string) - Optional. The Billing Account to look up Offers for. Format: accounts/{account_id}/billingAccounts/{billing_account_id}. This field is only relevant for multi-currency accounts. It should be left empty for single currency accounts. - **cloudIdentityId** (string) - Customer's Cloud Identity ID. (Union field with `customerName`) - **customerName** (string) - A reseller should create a customer and use the resource name of that customer here. (Union field with `cloudIdentityId`) ### Request Example ```json { "pageSize": 100, "pageToken": "page_token_string", "sku": "sku_value", "languageCode": "en-US", "billingAccount": "accounts/account_id/billingAccounts/billing_account_id", "cloudIdentityId": "customer_cloud_identity_id" } ``` ### Response #### Success Response (200) - **transferableOffers** (array of objects) - Information about Offers for a customer that can be used for transfer. - **nextPageToken** (string) - A token to retrieve the next page of results. Pass to `ListTransferableOffersRequest.page_token` to obtain that page. #### Response Example ```json { "transferableOffers": [ { "name": "offers/offer_id", "offerId": "offer_id", "name": "offers/offer_id", "offer": { "name": "offers/offer_id", "offerId": "offer_id", "marketingInfo": { "displayName": "Offer Display Name", "description": "Offer Description", "videoSecurityMarks": { "url": "video_url" }, "logo": { "url": "logo_url" } }, "plan": { "name": "plans/plan_id", "displayName": "Plan Display Name", "paymentPlan": "PAYMENT_PLAN_ANNUAL", "trialPeriod": { "duration": "P7D" }, "paymentTerm": { "duration": "P1Y" } }, "priceModel": { "price": { "currencyCode": "USD", "units": "1000000", "nanos": 0 }, "discountStyle": "DISCOUNT_STYLE_PERCENTAGE", "priceTiers": [ { "firstTier": { "highTierValue": "10" }, "price": { "currencyCode": "USD", "units": "900000", "nanos": 0 } } ] }, "promotionalTerms": [ { "promotionalTermsId": "promotional_terms_id", "usageBasedPromotionalTerms": { "usageThreshold": { "usageThreshold": "1000" }, "usageCost": { "currencyCode": "USD", "units": "500000", "nanos": 0 } } } ] }, "createTime": "2023-01-01T10:00:00Z", "updateTime": "2023-01-01T10:00:00Z", "endTime": "2023-12-31T23:59:59Z" } ], "nextPageToken": "next_page_token_string" } ``` ``` -------------------------------- ### List Purchasable SKUs Request - Change Offer Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/listPurchasableSkus Use this to list SKUs for upgrading or downgrading an entitlement. Requires `entitlement` and `changeType`. ```json { "changeOfferPurchase": { "entitlement": "accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}", "changeType": "UPGRADE" } } ``` -------------------------------- ### Get ChannelPartnerRepricingConfig Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.channelPartnerLinks.channelPartnerRepricingConfigs/get Retrieves a specific ChannelPartnerRepricingConfig resource. This configuration defines how a distributor adjusts their billing before passing it to a channel partner. ```APIDOC ## GET accounts.channelPartnerLinks.channelPartnerRepricingConfigs.get ### Description Gets information about how a Distributor modifies their bill before sending it to a ChannelPartner. ### Method GET ### Endpoint `https://cloudchannel.googleapis.com/v1/{name=accounts/*/channelPartnerLinks/*/channelPartnerRepricingConfigs/*}` ### Parameters #### Path Parameters - **name** (string) - Required. The resource name of the ChannelPartnerRepricingConfig. Format: accounts/{account_id}/channelPartnerLinks/{channelPartnerId}/channelPartnerRepricingConfigs/{id}. ### Request Body The request body must be empty. ### Response Body If successful, the response body contains an instance of `ChannelPartnerRepricingConfig`. ### Authorization Scopes Requires the following OAuth scope: - `https://www.googleapis.com/auth/apps.order` ``` -------------------------------- ### products.skus.list Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/products.skus/list Lists the SKUs for a product the reseller is authorized to sell. Supports products/- to retrieve SKUs for all products. ```APIDOC ## GET products.skus.list ### Description Lists the SKUs for a product the reseller is authorized to sell. ### Method GET ### Endpoint `https://cloudchannel.googleapis.com/v1/{parent=products/*}/skus` ### Parameters #### Path Parameters - **parent** (string) - Required. The resource name of the Product to list SKUs for. Parent uses the format: products/{productId}. Supports products/- to retrieve SKUs for all products. #### Query Parameters - **account** (string) - Required. Resource name of the reseller. Format: accounts/{account_id}. - **pageSize** (integer) - Optional. Requested page size. Server might return fewer results than requested. If unspecified, returns at most 100 SKUs. The maximum value is 1000; the server will coerce values above 1000. - **pageToken** (string) - Optional. A token for a page of results other than the first page. Optional. - **languageCode** (string) - Optional. The BCP-47 language code. For example, "en-US". The response will localize in the corresponding language code, if specified. The default value is "en-US". ### Request Body The request body must be empty. ### Response #### Success Response (200) - **skus** (array of Sku) - The list of SKUs requested. - **nextPageToken** (string) - A token to retrieve the next page of results. #### Response Example ```json { "skus": [ { "name": "string", "productId": "string", "skuId": "string", "pricingInfo": { "pricingInfo": [ { "pricingInfo": { "price": { "units": "string", "nanos": 0 }, "currencyCode": "string", "effectiveDate": { "seconds": "string", "nanos": 0 }, "expirationDate": { "seconds": "string", "nanos": 0 } }, "resourceType": "string" } ], "resourceType": "string" }, "serviceInfo": { "serviceInfo": { "displayName": "string", "serviceName": "string" }, "resourceType": "string" }, "entitlementInfo": { "entitlementInfo": { "provisioningType": "string", "period": { "duration": "string" } }, "resourceType": "string" } } ], "nextPageToken": "string" } ``` ### Authorization scopes Requires the following OAuth scope: * `https://www.googleapis.com/auth/apps.order` ``` -------------------------------- ### Get Operation Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/operations/get Retrieves the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. ```APIDOC ## GET /v1/{name=operations/**} ### Description Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. ### Method GET ### Endpoint `https://cloudchannel.googleapis.com/v1/{name=operations/**}` ### Parameters #### Path Parameters - **name** (string) - Required - The name of the operation resource. ### Request Body The request body must be empty. ### Response #### Success Response (200) - **Operation** (object) - If successful, the response body contains an instance of `Operation`. ### Authorization Scopes - `https://www.googleapis.com/auth/apps.order` ``` -------------------------------- ### List Purchasable SKUs Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/listPurchasableSkus This method lists the SKUs that the given customer can purchase. This includes SKUs available for new purchases and SKUs that can be purchased through an upgrade or downgrade. ```APIDOC ## GET /v1/accounts.customers/{customer}:listPurchasableSkus ### Description Lists the SKUs that the given customer can purchase. This includes SKUs available for new purchases and SKUs that can be purchased through an upgrade or downgrade. ### Method GET ### Endpoint /v1/accounts.customers/{customer}:listPurchasableSkus ### Parameters #### Path Parameters - **customer** (string) - Required - The resource name of the customer to list purchasable SKUs for. Format: accounts.customers/{customer_id} #### Query Parameters - **changeOfferPurchase.changeType** (enum) - Optional - Specifies the type of change that triggers the purchase. Possible values: CHANGE_TYPE_UNSPECIFIED, UPGRADE, DOWNGRADE. - **changeOfferPurchase.entitlement** (string) - Optional - The entitlement to which the new SKU will be applied. This is required if changeType is UPGRADE or DOWNGRADE. - **createEntitlementPurchase.product** (string) - Optional - The product to purchase. This is required for new purchases. - **languageCode** (string) - Optional - The BCP-47 language code. For example, "en-US" or "sr-Latn-RS". If not specified, the default language is "en-US". - **pageSize** (integer) - Optional - The maximum number of results to return. - **pageToken** (string) - Optional - A page token, received from a previous `ListPurchasableSkus` call. ### Response #### Success Response (200) - **sku** (object) - The purchasable SKU details. ``` -------------------------------- ### accounts.register Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts/register Registers a service account with subscriber privileges on the Pub/Sub topic for this Channel Services account or integrator. After you create a subscriber, you get the events through `SubscriberEvent`. ```APIDOC ## POST accounts.register ### Description Registers a service account with subscriber privileges on the Pub/Sub topic for this Channel Services account or integrator. After you create a subscriber, you get the events through `SubscriberEvent`. ### Method POST ### Endpoint `https://cloudchannel.googleapis.com/v1/{account=accounts/*}:register` ### Parameters #### Path Parameters - **account** (string) - Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset. #### Request Body - **serviceAccount** (string) - Required. Service account that provides subscriber access to the registered topic. - **integrator** (string) - Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset. ### Request Example ```json { "serviceAccount": "string", "integrator": "string" } ``` ### Response #### Success Response (200) - **topic** (string) - The topic name with the registered service email address. ### Response Example ```json { "topic": "string" } ``` ### Possible Error Codes - PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. - INVALID_ARGUMENT: Required request parameters are missing or invalid. - INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. - UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. ### Authorization Scopes - `https://www.googleapis.com/auth/apps.order` ``` -------------------------------- ### v1.accounts.customers.get Source: https://docs.cloud.google.com/channel/docs/reference/rest Returns the requested Customer resource. ```APIDOC ## GET /v1/{name=accounts/*/customers/*} ### Description Returns the requested `Customer` resource. ### Method GET ### Endpoint /v1/{name=accounts/*/customers/*} ``` -------------------------------- ### accounts.channelPartnerLinks.customers.create Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.channelPartnerLinks.customers/create Creates a new Customer resource under the reseller or distributor account. ```APIDOC ## POST https://cloudchannel.googleapis.com/v1/{parent=accounts/*/channelPartnerLinks/*}/customers ### Description Creates a new `Customer` resource under the reseller or distributor account. ### Method POST ### Endpoint `https://cloudchannel.googleapis.com/v1/{parent=accounts/*/channelPartnerLinks/*}/customers` ### Parameters #### Path Parameters - **parent** (string) - Required. The resource name of reseller account in which to create the customer. Parent uses the format: accounts/{account_id} #### Request Body The request body contains an instance of `Customer`. ### Response #### Success Response (200) If successful, the response body contains a newly created instance of `Customer`. ### Authorization scopes Requires the following OAuth scope: - `https://www.googleapis.com/auth/apps.order` ``` -------------------------------- ### Register Subscriber Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/integrators/registerSubscriber Registers a service account with subscriber privileges on the Pub/Sub topic for this Channel Services account or integrator. After you create a subscriber, you get the events through `SubscriberEvent`. ```APIDOC ## POST https://cloudchannel.googleapis.com/v1/{integrator=integrators/*}:registerSubscriber ### Description Registers a service account with subscriber privileges on the Pub/Sub topic for this Channel Services account or integrator. After you create a subscriber, you get the events through `SubscriberEvent`. ### Method POST ### Endpoint `https://cloudchannel.googleapis.com/v1/{integrator=integrators/*}:registerSubscriber` ### Parameters #### Path Parameters - **integrator** (string) - Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset. #### Request Body - **account** (string) - Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset. - **serviceAccount** (string) - Required. Service account that provides subscriber access to the registered topic. ### Request Example ```json { "account": "string", "serviceAccount": "string" } ``` ### Response #### Success Response (200) Returns an instance of `RegisterSubscriberResponse`. ### Authorization scopes - `https://www.googleapis.com/auth/apps.order` ``` -------------------------------- ### CommitmentSettings Resource JSON Representation Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements This JSON structure defines the commitment settings for commitment-based offers. It includes the start and end times of the commitment and renewal settings. ```json { "startTime": string, "endTime": string, "renewalSettings": { object (RenewalSettings) } } ``` -------------------------------- ### Create Customer HTTP Request Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create This is the HTTP request structure for creating a customer. Ensure the parent path is correctly formatted as accounts/{account_id}. ```HTTP POST https://cloudchannel.googleapis.com/v1/{parent=accounts/*}/customers ``` -------------------------------- ### accounts.customers.list Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/list Lists Customer resources for a given reseller account. Possible error codes: PERMISSION_DENIED, INVALID_ARGUMENT. Returns a list of Customer resources or an empty list if no customers are found. ```APIDOC ## GET accounts.customers.list ### Description Lists Customer resources for a given reseller account. This operation helps in organizing and managing customer accounts associated with a reseller. ### Method GET ### Endpoint `https://cloudchannel.googleapis.com/v1/{parent=accounts/*}/customers` ### Parameters #### Path Parameters - **parent** (string) - Required. The resource name of the reseller account to list customers from. Parent uses the format: accounts/{account_id}. #### Query Parameters - **pageSize** (integer) - Optional. The maximum number of customers to return. The service may return fewer than this value. If unspecified, returns at most 10 customers. The maximum value is 50. - **pageToken** (string) - Optional. A token identifying a page of results other than the first page. Obtained through `ListCustomersResponse.next_page_token` of the previous `CloudChannelService.ListCustomers` call. - **filter** (string) - Optional. Filters applied to the `ListCustomers` results. See https://cloud.google.com/channel/docs/concepts/google-cloud/filter-customers for more information. ### Request Body The request body must be empty. ### Response #### Success Response (200) Returns an instance of `ListCustomersResponse` which contains a list of `Customer` resources. #### Response Example { "customers": [ { "name": "customers/C0123456789", "displayName": "Example Customer", "primaryContactInfo": { "displayName": "John Doe", "email": "john.doe@example.com", "phone": "+1-555-555-0100" } } ], "nextPageToken": "token123" } ### Authorization Scopes - `https://www.googleapis.com/auth/apps.order` ``` -------------------------------- ### Query Eligible Billing Accounts Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/queryEligibleBillingAccounts Retrieves a list of billing accounts for a given customer. This method is useful for understanding the billing setup for a customer and their associated accounts. ```APIDOC ## Query Eligible Billing Accounts ### Description Retrieves a list of billing accounts for a given customer. This method is useful for understanding the billing setup for a customer and their associated accounts. ### Method GET ### Endpoint /v1/accounts.customers/{customer.id}/eligibleBillingAccounts ### Parameters #### Path Parameters - **customer.id** (string) - Required - The customer ID for which to list billing accounts. #### Query Parameters - **pageSize** (integer) - Optional - The maximum number of billing accounts to return. Defaults to 100. - **pageToken** (string) - Optional - A page token, received from a previous `ListBillingAccounts` call. ### Response #### Success Response (200) - **billingAccounts** (array) - A list of `BillingAccount` resources. - **name** (string) - Output only. Resource name of the billing account. - **displayName** (string) - Display name of the billing account. - **createTime** (string) - Output only. The time when this billing account was created. - **currencyCode** (string) - Output only. The 3-letter currency code defined in ISO 4217. - **regionCode** (string) - Output only. The CLDR region code. - **nextPageToken** (string) - A token to retrieve the next page of results. #### Response Example ```json { "billingAccounts": [ { "name": "accounts/acc123/billingAccounts/ba456", "displayName": "Primary Billing Account", "createTime": "2023-01-01T10:00:00Z", "currencyCode": "USD", "regionCode": "US" } ], "nextPageToken": "" } ``` ``` -------------------------------- ### Sku Resource Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/Sku Represents a product's purchasable Stock Keeping Unit (SKU). SKUs represent the different variations of the product. For example, Google Workspace Business Standard and Google Workspace Business Plus are Google Workspace product SKUs. ```APIDOC ## Sku Resource ### Description Represents a product's purchasable Stock Keeping Unit (SKU). SKUs represent the different variations of the product. For example, Google Workspace Business Standard and Google Workspace Business Plus are Google Workspace product SKUs. ### JSON Representation ```json { "name": string, "marketingInfo": { object (MarketingInfo) }, "product": { object (Product) } } ``` ### Fields - **name** (string) - Resource Name of the SKU. Format: products/{productId}/skus/{skuId} - **marketingInfo** (object (MarketingInfo)) - Marketing information for the SKU. - **product** (object (Product)) - Product the SKU is associated with. ``` -------------------------------- ### accounts.customers.entitlements.lookupOffer Source: https://docs.cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/lookupOffer Retrieves the Offer resource for a given entitlement. ```APIDOC ## Method: accounts.customers.entitlements.lookupOffer ### Description Returns the requested `Offer` resource. ### Method GET ### Endpoint `https://cloudchannel.googleapis.com/v1/{entitlement=accounts/*/customers/*/entitlements/*}:lookupOffer` ### Parameters #### Path Parameters - **entitlement** (string) - Required - The resource name of the entitlement to retrieve the Offer. Entitlement uses the format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id} ### Response #### Success Response (200) - **Offer** (object) - The `Offer` resource. ### Authorization scopes - `https://www.googleapis.com/auth/apps.order` ```