REST API for marketplaces
As a marketplace, you can initiate Dealform transactions on behalf of your users.
Overview
The Dealform API is a RESTful JSON API. That means it is designed to:
- follow standard RESTful conventions
- accept JSON-formatted requests
- return JSON-formatted responses
Contents
This guide covers the following topics:
Authentication
API authentication is key-based.
API keys can only be generated by marketplace users with a verified email.
As a verified marketplace user, you can create an API key by going to Account > API keys > Create an API key. Immediately save your key secret, because it will never be displayed again.
Your API key value must be provided in an "Authorization" header with a "Token" type, like this:
Authorization: Token 55555555-5555-5555-5555-555555555555
API key types
- Live: For actual production purposes, where real records will be created, real emails will be sent, etc. Do NOT use Live keys for development or testing.
- Test (default): For development and testing purposes, where no records will be created or emails sent, and dummy responses will be returned. These dummy responses are formatted exactly like live responses.
Every response includes a live
key with a boolean value
indicating if you are using a live API key.
Errors
If your request encounters an error, the API will return an error response with this structure:
{ "errors": [ "Your authentication key is invalid." ] }
Acquisitions
You can use the API to create Acquisitions on behalf of buyers and sellers, to start the Dealform transaction process. You can also use the API to check the status of any Acquisition you created previously.
Create Acquisition
Start a transaction on behalf of a buyer and seller. Dealform will contact both parties to confirm they wish to proceed, then will continue to lead them through the transaction process.
Endpoint
POST https://www.dealform.com/api/v1/acquisitions
Parameters
buy_side_lead_email
(String) - Required
The email of the buy-side lead. (Dealform will send an invite to this email.)external_id
(String) - Optional
Any outside ID you want to associate with this Acquisition.funding_deadline_at
(String) - Optional
A datetime string in ISO format like "2025-10-17T14:00:00Z" (meaning 2pm UTC). If this deadline is exceeded, Dealform will flag the acquisition.funding_maximum_amount_cents
(Integer) - Optional
If total incoming funds transfers exceed this amount, Dealform will flag any further incoming funds transfers.funding_minimum_amount_cents
(Integer) - Optional
For example, "150000000" represents $1.5m. Until total incoming funds transfers meet or exceed this amount, Dealform will flag the acquisition.name
(String) - Required
The buyer's email address. Provide this if you want Dealform to send an email to the buyer with theresponse_url
. Leave this empty if you do not know the buyer's email address or want to send theresponse_url
to the buyer your own way.sell_side_lead_email
(String) - Required
The email of the sell-side lead. (Dealform will send an invite to this email.)
Response
Expect response status 201 Created
.
After creating an Acquisition, you can ask both parties to check their email for an invitation from Dealform.
Example Request JSON
{ "buy_side_lead_email": "buyer@example.com", "name": "Central Texas HVAC LLC", "sell_side_lead_email": "seller@example.com" }
Example Response JSON
{ "created_at": "2025-09-17T13:16:58.533Z", "id": "edb7d6db-6be7-4a51-85ab-b181faa71906", "live": false, "name": "Central Texas HVAC LLC", "number": 5555, "object": "Acquisition", "state": "pending" }
Read Acquisition
Get the details of an existing Acquisition.
Endpoint
GET https://www.dealform.com/api/v1/acquisitions/:id
Response
Expect response status 200 Succeeded
.
Example Request JSON
{ }
Example Response JSON
{ "created_at": "2025-09-17T13:16:58.533Z", "id": "edb7d6db-6be7-4a51-85ab-b181faa71906", "live": false, "name": "Central Texas HVAC LLC", "number": 5555, "object": "Acquisition", "state": "pending" }
Collaborators
Add or remove collaborators on any of your acquisitions.
Create Collaborator
Add a collaborator to an acquisition.
Endpoint
POST https://www.dealform.com/api/v1/acquisitions/:acquisition_id/collaborators
Parameters
invited_email
(String) - Required
Dealform will send an invite to this email. (The user may not choose to accept the invite under this email.)lead
(Boolean) - Optional
Defaults tofalse
. Set totrue
if this person is a lead collaborator on this side.side
(String) - Required
The side of the acquisition this person belongs to. Options are:- buy
- sell
two_factor_authentication_required
(Boolean) - Optional
Defaults tofalse
. Set totrue
if this person should be forced to enable two-factor authentication.
Response
Expect response status 201 Created
.
Example Request JSON
{ "invited_email": "investor@example.com", "side": "buy" }
Example Response JSON
{ "created_at": "2025-09-17T13:16:58.536Z", "id": "e461eb7b-a3bc-49aa-a12e-3ec167ee9e40", "invited_email": "investor@example.com", "live": false, "side": "buy", "object": "Collaborator", "two_factor_authentication_required": false }
Delete Collaborator
Remove a collaborator from an acquisition.
Endpoint
DELETE https://www.dealform.com/api/v1/acquisitions/:acquisition_id/collaborators/:invited_email
Response
Expect response status 204 No Content
.
Example Request JSON
{ }
Example Response JSON
{ }
Questions or suggestions
If you have any questions or suggestions, please contact support.