Public beta: New DealSplits API

We are excited to announce the release of the new DealSplits Public API for HubSpot customers. This API allows customers to list and create deal splits for batches of deals directly through HubSpot’s CRM.
The DealSplits Public API enhances revenue forecasting accuracy and sales team performance tracking by allowing for more granular deal attribution. This new API addresses a critical need for businesses to accurately attribute revenue and track sales performance across team members.

What’s new?

List Deal Splits for a Batch of Deals: This allows fetching a list of deal IDs to deal splits for all input IDs in the request object.

  • HTTP Method + Path: POST /crm/v3/objects/deals/splits/batch/read

Create Deal Splits for a Batch of Deals: This enables creating deal splits for a batch of deals with specified split percentages and owners.

  • HTTP Method + Path:
    POST /crm/v3/objects/deals/splits/batch/upsert

The API supports OAuth for authentication, ensuring secure access to the functionality. The required scope group for accessing the API is crm.dealsplits.read_write.

Note: For POST batch requests, all input items must pass the percentage validation, meaning this beta currently doesn’t support partial successes. The request will be rejected if any items in the batch request fail validation.

Validations:

  • The API performs validations to ensure the integrity of the deal splits, including verifying the validity of the deal objectId, ensuring the sum of deal split percentages equals 100%, and confirming the deal has an assigned owner included in the deal splits.
  • Portal self-service validations support up to 10 deal splits for admin privileges, with a default of 5 splits for all other users. There is no minimum split percentage.
  • Errors, such as batch sizes exceeding 100 or portals not enabling deal splits, are communicated through 400 and 403 response statuses, respectively.

When is it happening?

This new API is live and available to the public. Questions or comments? Please join us in the comments below.

Hi @hseligson :waving_hand:

Thanks for the update, looking forward to giving it a whirl :slightly_smiling_face:

I think the link to the API doc you’ve supplied is broken. I’m guessing you were trying to link here: Accounts Dashboard | HubSpot

Hi @zach_threadint, Oh my goodness, you’re right! Thank you so much for pointing this out, and I apologize for any inconvenience. This has now been updated.

Hi @hseligson!

We have a cool use case that I’m excited to share when we’re able to launch and implement this.
The roadblack we’re curretly facing is removing a user from the split.
We have framework agreement object in HubSpot, and we’ll attach a Deal to that object. We have three child companies (All within the same instance) that are competing for that Deal. The split will allow us to forecast the revenue. However, we want to be able to remove Rep 1 from the split through the API based on an event that we ourselves define. Is this possible? Or do we just re-initate the API call to put new data?

Hey @ZacharyMyr :waving_hand: great question! Let me reach out to the team and see if they have any advice/feedback regarding whether or not it’s possible to remove Rep 1 from the split via the API or if you need to re-initiate the API call to PUT new data.

Hi again!

We’ve run into another challenge. We want to remove the Deal Split Module that sits on the left side of the Deal record.
Is there any way we could remove this?

Hi there! You should be able to hover over it and click “Remove.”
Here are some helpful docs explaining how to edit and remove deal splits in the UI- please let me know if this helped!

Thanks for the reply. What I want to is to remove the module completely. By hovering I only remove the split, not the module.
Ideally this would be not be visible for specific teams/users so that we can avoid any misusage.

Hey @ZacharyMyr - I received feedback from our engineer who helped build this API. They informed me that re-initiating the API with the new data would be the way to go here. We currently don’t have an API to remove a user from the split. Please let me know if you have any further questions or concerns! Thank you!

Hi! Thanks for your response.
Look forward to share the results with you all.