ChargeDesk is a billing and customer support platform that lets businesses manage charges, customers, subscriptions, and products across payment gateways such as Stripe, PayPal, Braintree, Recurly, and Authorize.Net. The Nexla connector uses the ChargeDesk REST API to read billing records into Nexla and to create, update, or remove charges, customers, subscriptions, products, agents, and webhooks.
Power end-to-end data operations for your Chargedesk API with Nexla. Our bi-directional Chargedesk connector is purpose-built for Chargedesk, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Chargedesk or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Chargedesk workflows fast, secure, and fully governed.
Features
Type: API
SourceDestination
Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
The ChargeDesk API uses HTTP Basic Authentication. Nexla authenticates by sending your ChargeDesk secret API key as the Basic Auth username, with the password left blank. Before creating a credential, obtain your secret API key from your ChargeDesk account.
ChargeDesk connects to your underlying payment gateway (such as Stripe, PayPal, Braintree, Recurly, or Authorize.Net) and exposes a unified API for billing operations. The secret API key authorizes Nexla to read and manage that billing data.
Open your account settings and navigate to the API or developer section, where ChargeDesk lists your API keys.
Locate your Secret API Key. This key authenticates server-to-server requests and should be treated as a sensitive credential—never share it publicly or embed it in client-side code.
Copy the secret API key for use when creating the Nexla credential.
ChargeDesk uses your payment gateway as the primary source of record rather than its own internal systems, so the data returned through the API reflects the records stored in your connected gateway. For complete details about authentication and key management, see the official ChargeDesk API documentation.
Keep your secret key secure
Your ChargeDesk secret API key grants full access to your billing data, including the ability to create charges and issue refunds. Store it securely and rotate it immediately if you suspect it has been exposed.
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
Enter your ChargeDesk secret API key in the Username Or API Key field. Nexla sends this value as the Basic Auth username on every API request.
Leave the Password field blank. ChargeDesk's HTTP Basic Authentication uses only the secret key as the username, and the password is not required.
Enter the ChargeDesk API base URL in the Base URL field. This value defaults to https://api.chargedesk.com/v1 and should only be changed if directed to use a different host by ChargeDesk.
The base URL is the root address that Nexla appends each endpoint path to (for example, /charges or /customers). For most accounts, the default value of https://api.chargedesk.com/v1 is correct.
Click the Save button at the bottom of the overlay to save the configured credential. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation and can be selected for use with a new data source or destination.
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the desired flow type from the list and click Create, then select the Chargedesk connector tile, select the credential that will be used to connect to the Chargedesk instance, and click Next; or, create a new Chargedesk credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Chargedesk endpoints. Each template is designed specifically for the corresponding Chargedesk endpoint. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below — click on an endpoint to see more information about it and how to configure your data source for this endpoint.
List Charges
Returns a list of all charges in the ChargeDesk account. Use this endpoint to ingest payment and transaction records for revenue reporting and reconciliation.
This endpoint requires no additional configuration beyond selecting the template. Nexla automatically paginates through the full list of charges using the ChargeDesk offset and count parameters.
Each charge record is returned from the data array in the response, so the path to data is preconfigured as $.data[*].
Charges in ChargeDesk reflect transactions stored in your connected payment gateway. For field-level details, see the official ChargeDesk API documentation.
Get Charge
Retrieves a single charge by its ID. Use this endpoint when you need the full detail of one specific transaction.
Enter the ID of the charge to retrieve in the Charge ID field. You can find charge IDs by first running the List Charges endpoint.
Preview Charge
Previews a charge before it is finalized, returning calculated amounts, fees, and line items. Use this endpoint to inspect what a charge will look like prior to it being committed.
Enter the ID of the charge to preview in the Charge ID field.
List Charge Refunds
Returns a list of refunds associated with a specific charge. Use this endpoint to analyze refund activity tied to individual transactions.
Enter the ID of the charge whose refunds should be listed in the Charge ID field.
Nexla automatically paginates through the refund records returned in the data array.
List Customers
Returns a list of all customers in the ChargeDesk account. Use this endpoint to ingest your customer base for analysis, segmentation, or syncing to a data warehouse.
This endpoint requires no additional configuration. Nexla automatically paginates through the full list of customers.
Get Customer
Retrieves a single customer by ID. Use this endpoint when you need the complete detail for one specific customer.
Enter the ID of the customer to retrieve in the Customer ID field. Customer IDs can be obtained from the List Customers endpoint.
List Customers Grouped
Returns customers grouped by a dimension such as plan, status, or gateway. Use this endpoint for aggregated views of your customer base.
This endpoint requires no additional configuration. Nexla automatically paginates through the grouped results returned in the data array.
List Subscriptions
Returns a list of all subscriptions in the ChargeDesk account. Use this endpoint to track recurring revenue and active subscription counts.
This endpoint requires no additional configuration. Nexla automatically paginates through the full list of subscriptions.
Get Subscription
Retrieves a single subscription by ID. Use this endpoint when you need the full detail of one specific subscription.
Enter the ID of the subscription to retrieve in the Subscription ID field. Subscription IDs can be obtained from the List Subscriptions endpoint.
List Products
Returns a list of all products (plans) in the ChargeDesk account. Use this endpoint to ingest your catalog of billable products and plans.
This endpoint requires no additional configuration. Nexla automatically paginates through the full list of products.
Get Product
Retrieves a single product (plan) by ID. Use this endpoint when you need the complete detail for one specific product.
Enter the ID of the product to retrieve in the Product ID field. Product IDs can be obtained from the List Products endpoint.
List Agents
Returns a list of all support agents in the ChargeDesk account. Use this endpoint to ingest the roster of agents who can act on billing records.
This endpoint requires no additional configuration. Nexla automatically paginates through the full list of agents.
Get Agent
Retrieves a single support agent by ID. Use this endpoint when you need the full detail for one specific agent.
Enter the ID of the agent to retrieve in the Agent ID field. Agent IDs can be obtained from the List Agents endpoint.
List Webhooks
Returns a list of all registered webhook endpoints. Use this endpoint to audit which webhook subscriptions are configured in your ChargeDesk account.
This endpoint requires no additional configuration. Nexla automatically paginates through the full list of webhooks.
List Webhook Notifications
Returns the notification delivery history for a specific webhook. Use this endpoint to monitor webhook delivery success and troubleshoot failed notifications.
Enter the ID of the webhook whose notification history should be retrieved in the Webhook ID field. Webhook IDs can be obtained from the List Webhooks endpoint.
List Agent Activity Logs
Returns audit logs of agent actions such as refunds, cancellations, and charge creations. Use this endpoint for compliance auditing and operational reporting.
This endpoint requires no additional configuration. Nexla automatically paginates through the activity log records.
List Subscription Cancellation Logs
Returns a log of subscription cancellation events. Use this endpoint to analyze churn and understand cancellation patterns.
This endpoint requires no additional configuration. Nexla automatically paginates through the cancellation log records.
List Information Logs
Returns general system and event information logs. Use this endpoint to capture broader account activity for monitoring and analysis.
This endpoint requires no additional configuration. Nexla automatically paginates through the information log records.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Chargedesk data sources can also be manually configured to ingest data from any valid ChargeDesk API endpoint not covered by the pre-built templates, including sources that use chained API calls or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
ChargeDesk read operations use GET, with endpoint URLs rooted at https://api.chargedesk.com/v1/ (for example, https://api.chargedesk.com/v1/charges). ChargeDesk list endpoints wrap records in a top-level data array alongside pagination metadata, so set the path to data to $.data[*] for list endpoints. You do not need to add a Basic Authentication header; Nexla handles it automatically from the credential.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Chargedesk data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Click the + icon on the Nexset that will be sent to the Chargedesk destination, and select the Send to Destination option from the menu. Select the Chargedesk connector from the list of available destination connectors, then select the credential that will be used to connect to the Chargedesk account, and click Next; or, create a new Chargedesk credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Chargedesk endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Create Charge
Creates a new charge against a customer. Use this endpoint to push new transactions to ChargeDesk from a Nexla flow.
Each Nexset record is sent as the JSON body of a POST request to the ChargeDesk charges endpoint. Map your Nexset fields to the charge attributes expected by ChargeDesk.
Updates an existing charge, such as its memo or metadata, by ID. Use this endpoint to enrich or annotate charges already stored in ChargeDesk.
Enter the ID of the charge to update in the Charge ID field.
Each Nexset record is sent as the JSON body of the update request.
Create Charge Refund
Issues a refund against a specific charge. Use this endpoint to automate refund processing from a Nexla flow.
Enter the ID of the charge to refund in the Charge ID field.
Each Nexset record is sent as the JSON body describing the refund.
Refunds are processed against the underlying payment gateway connected to ChargeDesk. Verify charge IDs carefully, as refunds move real funds.
Delete Charge
Deletes (voids or removes) a charge by ID. Use this endpoint to remove charges that should no longer appear in ChargeDesk.
Enter the ID of the charge to delete in the Charge ID field. This endpoint sends a DELETE request and does not require a request body.
Create Customer
Creates a new customer record. Use this endpoint to add customers to ChargeDesk from a Nexla flow.
Each Nexset record is sent as the JSON body of a POST request. Map your Nexset fields to the customer attributes expected by ChargeDesk.
Update Customer
Updates an existing customer record by ID. Use this endpoint to keep ChargeDesk customer details in sync with your other systems.
Enter the ID of the customer to update in the Customer ID field.
Each Nexset record is sent as the JSON body of the update request.
Delete Customer
Deletes a customer record by ID. Use this endpoint to remove customers that should no longer exist in ChargeDesk.
Enter the ID of the customer to delete in the Customer ID field. This endpoint sends a DELETE request and does not require a request body.
Create Subscription
Creates a new subscription. Use this endpoint to start recurring billing for a customer from a Nexla flow.
Each Nexset record is sent as the JSON body of a POST request. Map your Nexset fields to the subscription attributes expected by ChargeDesk.
Update Subscription
Updates an existing subscription by ID. Use this endpoint to change subscription details such as the plan or quantity.
Enter the ID of the subscription to update in the Subscription ID field.
Each Nexset record is sent as the JSON body of the update request.
Delete Subscription
Cancels (deletes) a subscription by ID. Use this endpoint to end recurring billing for a customer.
Enter the ID of the subscription to cancel in the Subscription ID field. This endpoint sends a DELETE request and does not require a request body.
Create Product
Creates a new product (plan). Use this endpoint to add billable products or plans to ChargeDesk.
Each Nexset record is sent as the JSON body of a POST request. Map your Nexset fields to the product attributes expected by ChargeDesk.
Update Product
Updates an existing product (plan) by ID. Use this endpoint to keep your ChargeDesk catalog in sync.
Enter the ID of the product to update in the Product ID field.
Each Nexset record is sent as the JSON body of the update request.
Delete Product
Deletes (archives) a product (plan) by ID. Use this endpoint to retire products that should no longer be available.
Enter the ID of the product to delete in the Product ID field. This endpoint sends a DELETE request and does not require a request body.
Create Webhook
Registers a webhook endpoint to receive real-time event notifications. Use this endpoint to programmatically configure where ChargeDesk sends event callbacks.
Each Nexset record is sent as the JSON body of a POST request describing the webhook endpoint and the events it should receive.
Chargedesk destinations can also be manually configured to send data to any valid ChargeDesk API endpoint not included in the pre-built templates. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
ChargeDesk endpoints are rooted at https://api.chargedesk.com/v1/ and expect application/json request bodies. ChargeDesk uses POST for create and update operations and DELETE for removal operations; for update or delete operations, include the ID of the object to be modified at the end of the URL (for example, https://api.chargedesk.com/v1/charges/CHARGE_ID). You do not need to add a Basic Authentication header; Nexla handles it automatically from the credential.
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to Chargedesk, open the destination resource menu, and select Activate.
The Nexset data will not be sent to Chargedesk until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.