DealHub Billing API
Number of APIs: 15
API Documentation Overview
Welcome to the API documentation for managing accounts, subscriptions, invoices, and taxation processes. This API empowers developers to integrate robust billing and subscription management workflows into their applications. With endpoints designed for flexibility and scalability, the API supports essential operations for handling recurring items, one-time charges, invoice management, and taxation.
Key Features
Account Management: Create, update, and manage customer accounts with detailed attributes like billing preferences, statuses, and external identifiers for seamless integration with CRMs and ERPs.
Recurring and One-Time Charges: Streamline subscription management with support for recurring billing cycles and one-off charges, including flexible proration, renewal, and cancellation options.
Invoice Management: Retrieve invoices, filter them by status, and handle updates or cancellations with precise control over invoice lifecycle states.
Taxation: Integrate with out-of-the-box tax providers like Avalara or implement custom tax workflows. Fetch invoices awaiting taxation, apply multiple tax lines per invoice, and ensure compliance with dynamic tax regulations.
Design Philosophy
This API is built with developers in mind, offering:
Dynamic Responses: Field-based access ensures future-proof integrations, even as API responses evolve.
Scalability: Designed to handle small-scale and enterprise-level billing systems alike.
Flexibility: Whether you’re using our default tax integrations or building custom billing solutions, this API adapts to your needs.
Transparency: Comprehensive response objects and error handling make debugging and workflow monitoring straightforward.
Getting Started
Authentication: Ensure your API credentials are ready. Each request requires proper authentication headers.
Explore Endpoints: Dive into specific sections like Accounts, Recurring Items, One-Time Charges, Invoices, or Taxation.
Best Practices: Reference fields by their names to ensure compatibility with future updates.
Examples: Utilize sample requests and responses provided in each section for seamless integration.
Sections Covered
Account Management
Details on managing customer accounts and their attributes.Recurring Items
Operations for handling subscription-based billing with flexible billing periods and renewals.One-Time Charges
Manage ad-hoc billing events, including one-off charges like setup fees or additional services.Invoice Management
Fetch, filter, and update invoices while ensuring precise control over statuses and lifecycle.Taxation
Implement taxation workflows, including fetching pending invoices and applying custom or integrated tax lines.
This documentation provides the tools and knowledge needed to integrate comprehensive billing and subscription management features into your application. For further support or custom requirements, feel free to contact our team!
Leveraging Product-Led Growth (PLG) for Sales Success in Subscription Management and Billing
Product-Led Growth (PLG) has transformed how companies in the subscription management and billing space approach sales. By putting the product experience at the forefront, PLG allows users to explore, experience, and derive value from the product before committing to a purchase. This motion has become a cornerstone for businesses seeking scalable, efficient growth while delivering a seamless customer experience.
What is PLG in Sales?
In a PLG framework, the product acts as the primary driver of customer acquisition and conversion, with the sales team playing a supporting role. For subscription-based businesses, this approach means letting potential customers interact with the product—such as self-service billing platforms or subscription management tools—and using in-product behavior to identify opportunities for upselling, cross-selling, renewals, or expanding subscriptions.
By focusing on users already engaged with the product, PLG aligns the sales process with the customer’s journey, creating personalized and context-driven sales opportunities.
Key Benefits of PLG for Subscription-Based Sales Teams
Data-Driven Personalization:
PLG equips sales teams with valuable data, such as usage patterns, billing preferences, and feature adoption. This allows sales representatives to craft tailored strategies to meet each customer's specific needs.Shorter Sales Cycles:
Customers who have already experienced the value of a subscription management or billing platform require less persuasion, resulting in faster sales conversions.Higher Retention and Expansion:
A seamless customer experience, combined with automated subscription management tools, fosters loyalty and opens doors for renewals, upselling, and cross-selling.Scalability Across Tenants:
PLG enables subscription management systems to scale efficiently by automating workflows and reducing dependency on manual intervention.
PLG and the Role of This API
This API is designed to support PLG strategies for businesses focused on subscription management, billing, and delivering seamless customer experiences. The endpoints enable developers to integrate robust workflows that empower sales teams to:
Upsell and Cross-Sell: Identify opportunities for feature upgrades, premium plan subscriptions, or related services based on account usage data.
Renewals: Use account and recurring item data to streamline the renewal process, reducing friction and improving retention rates.
Billing Management: Automate billing operations, update account preferences, and manage recurring charges without disrupting the customer experience.
Seamless Modifications: Quickly modify accounts, subscriptions, or billing details to align with evolving customer needs.
Why PLG Matters for Developers in Subscription Management
For developers, the intersection of PLG and subscription management presents an opportunity to enhance both the product and sales workflows. By integrating this API, developers can:
Automate subscription and billing processes, reducing manual effort for the sales team.
Provide real-time data synchronization to help sales identify high-potential leads or accounts with billing issues.
Improve customer satisfaction by enabling seamless account updates, upsells, and renewals directly within the platform.
Product-Led Growth redefines how businesses approach subscription management and billing. By delivering a seamless customer experience and empowering sales teams with actionable insights, PLG unlocks long-term customer value and accelerates growth. With this API, developers can build solutions that align perfectly with PLG principles, driving success for both customers and businesses.
Response Structure
Success Response
When the API operation is successful, the response includes the following fields:
Field | Type | Description | Example Value |
---|---|---|---|
API_STATUS | integer | Indicates the status of the API. A value of 1 means the API processed successfully. | 1 |
METHOD_STATUS | integer | Indicates the status of the specific method (e.g., CREATE, UPDATE). A value of 1 signifies success. | 1 |
ID | string | The internal identifier of the created or updated object. | "R0mL1lJ2j" |
ExtID | string | The external identifier sent in the request. | "CRMID2" |
METHOD_ERROR | string | This field is null when no error occurred. | null |
API_ERROR | string | This field is null when the API executed without error. | null |
METHOD_ERROR_DESCRIPTION | string | Detailed description of any method error. This is null for successful operations. | null |
Example:
jsonCopy code{
"API_STATUS": 1,
"METHOD_STATUS": 1,
"ID": "R0mL1lJ2j",
"ExtID": "CRMID2",
"METHOD_ERROR": null,
"API_ERROR": null,
"METHOD_ERROR_DESCRIPTION": null
}
Error Response
If an error occurs during the API operation, the response provides detailed information about the issue. Key fields include:
Field | Type | Description | Example Value |
---|---|---|---|
METHOD_STATUS | integer | A value of 0 indicates the method encountered an error. | 0 |
ID | string | This will be null in case of an error. | null |
ExtID | string | This will be null in case of an error. | null |
METHOD_ERROR | string | A code or identifier for the specific error encountered. | "0" |
API_ERROR | string | Indicates API-level errors, if any. Typically null for method-specific errors. | null |
METHOD_ERROR_DESCRIPTION | string | A detailed description of the error for debugging purposes. | "The request is missing API_CODE. This is a mandatory field" |
Example:
jsonCopy code{
"METHOD_STATUS": 0,
"ID": null,
"ExtID": null,
"METHOD_ERROR": "0",
"API_ERROR": null,
"METHOD_ERROR_DESCRIPTION": "API_CODE & ENTITY_CODE Must Get Value"
}
Usage Notes
Always check
METHOD_STATUS
to determine if the operation was successful (1
) or encountered an error (0
).Use
METHOD_ERROR_DESCRIPTION
to identify the root cause of the error and resolve it.The
ID
andExtID
fields in the response help verify the object created or updated, ensuring alignment with your external system identifiers.Always reference fields by their names (e.g.,
BillingInvoiceID
,InvoiceLineID
,TaxCode
) and not by their position in the response. The API responses may change to include additional fields or reorder existing ones, and relying on positions can lead to errors. Referencing fields by name ensures your integration remains stable, reliable, and future-proof.To perform certain actions, such as upsell, renew, or delete an item, the developer must use the internal ID (
ID
) returned in the successful response. This ensures accurate targeting of the specific item within the platform.
-
Account - LIST all Accounts GET {{base_url}}/api/dynamicapi?api_code=3&entity_code=69
-
Account - DELETE Account POST {{base_url}}/api/dynamicapi
-
Account > Plan - UPDATE Account Plan POST {{base_url}}/api/dynamicapi
-
Account > Plan - LIST all Plans GET {{base_url}}/api/dynamicapi?api_code=3&entity_code=71
-
Account > Plan - DELETE Account Plan POST https://{{base_url}}/api/dynamicapi
-
Account > Plan > Subscription Management-Account > Plan > Recurring Items - List all Recurring Items by Plan GET {{base_url}}/api/dynamicapi?api_code=3&entity_code=110&EXTID=SUB1
-
Account > Plan > Subscription Management-Account > Plan > Recurring Items - DELETE Recurring Item POST {{base_url}}/api/dynamicapi
-
Account > Plan > Subscription Management-Account > Plan > One-Time Items - UPDATE One-Time Item POST {{base_url}}/api/dynamicapi
-
Account > Plan > Subscription Management-Account > Plan > One-Time Items - List all One-Time Items by Plan GET {{base_url}}/api/dynamicapi?api_code=3&entity_code=75&EXTID=SUB1
-
Account > Plan > Subscription Management-Account > Plan > One-Time Items - DELETE One-Time Item POST https://{{base_url}}/api/dynamicapi