Share a deal with your counterparty
A deal has two companies. Your workspace pays. The other company, the counterparty, delivers the work and gets paid. When the counterparty has no RekberPay workspace yet, you can still bring it into the deal: RekberPay emails it a read only preview, and it joins from its own workspace when it is ready. Both sides then work in one shared deal room.
This guide follows that path. The routes and every error code are in the Enterprise deal room reference.
Two names are used here: the payer is the workspace that created the deal and funds it, the counterparty is the company on the other side.
Before you start
- The counterparty is in your Counterparties list with a contact email. The preview link goes to that address.
- For an email to go out the deal must be live, the counterparty must not have a workspace yet, and your workspace must have Live unlocked.
- A deal in Sandbox never emails an outside address. Copy the link and share it yourself.
- The feature is rolled out by RekberPay. While it is switched off the room, preview and invitation routes answer
404 NOT_FOUND.
1. Create and activate the deal
Create the deal as usual (Run a deal in Sandbox, then in Live). When you activate a live deal for a counterparty without a workspace, RekberPay emails the contact the preview link by itself. That first email counts as one of the 5 you can send for the deal.
A deal made in the dashboard is paid upfront unless you choose Pay per milestone, and a deal made through the API with a workspace key is paid per milestone unless you send funding_mode. See Funding a deal upfront.
2. Manage the preview link
Open the deal. The Counterparty access card shows the state of the link and its buttons.
| State | Meaning |
|---|---|
| Not sent | A link exists, nothing was emailed |
| Sent | The link was emailed and not opened yet |
| Previewed | The contact opened it |
| Waiting for your confirmation | The other company asked to join and an admin has to confirm |
| Linked | The counterparty has a workspace. There is no link to manage and no Reset button |
| Link turned off | You turned it off, the deal was cancelled, or RekberPay turned it off. Reset appears only when a reset would work (you turned it off yourself) |
A draft deal cannot send or copy a preview link (409 DEAL_NOT_ACTIVE). Activate the deal first.
| Button | What it does | Who |
|---|---|---|
| Send link by email | Mails the contact a fresh link. 5 emails per deal, at least 1 hour apart | Operator and up |
| Copy link | Puts a fresh link on your clipboard. Never limited, works on a test deal | Operator and up |
| Reset link | Every earlier link stops working (use it if a link leaked), and the contact is emailed the new one on a live deal | Admin and up |
| Turn off link | Every link stops working until you reset | Admin and up |
With the API (dashboard session only, API keys get 403 KEY_NOT_ALLOWED):
curl -X POST https://api.rekberpay.com/v1/enterprise/deals/$DEAL_ID/preview/send \
-b cookies.txt \
-H "X-CSRF-Token: $CSRF_TOKEN" \
-H "X-Enterprise-Account: $WORKSPACE_ID"200 OK
{
"success": true,
"data": {
"state": "sent",
"sent_at": "2026-10-12T04:12:00.000Z",
"viewed_at": null,
"linked": false,
"sends_left": 4,
"next_send_at": "2026-10-12T05:12:00.000Z",
"email_skipped": null
}
}Past a limit you get 429 RESEND_TOO_SOON (with Retry-After) or 429 RESEND_LIMIT_REACHED. If RekberPay already sent that contact as many emails as it allows in a day, the answer is 429 MAIL_LIMIT_REACHED. In every case Copy link still works.
3. What the contact sees and does
The link opens a preview. It is read only and shows less than the room: the workspace name and verification state, the deal title, reference, status and total, the milestones with amount, status and due date, the progress, a short timeline, the titles of shared files and the contact email in masked form. It never shows ids, people, notes, file contents or payout details. It works for 30 days, and the page is in Indonesian when the counterparty's country is Indonesia.
To act, the person chooses Manage this deal in your RekberPay workspace, signs in with a verified email and picks a workspace where they are owner or admin, or creates one.
4. Instant link or your confirmation
The workspace is linked at once only when all of these hold:
- the verified email of the person equals the counterparty contact email, as typed, in lower case, with no dot or plus folding;
- the workspace legal name is the same company name as the counterparty, ignoring case, punctuation and words such as PT or CV;
- the deal is live;
- the person is not a member of your workspace.
Anything else becomes a link request that one of your admins confirms. On Counterparties the Link requests card shows the claim with the masked email of the person and Names match or Names differ. Choose Confirm only if you expect this company, or Decline. A person who belongs to your workspace cannot claim a deal sent by it (CLAIM_SELF).
Sending or copying a new link does not retire the older ones. Only a reset, turning the link off, a changed contact email, a cancelled deal, a workspace link and the 30 day expiry do. If a link leaked, use Reset link.
When the link is made, every preview link of that counterparty stops working and the deal is shared with the new workspace.
You can also send the contact a blind invitation to link workspaces, from the counterparty row (Invite to link workspaces). You are never told whether the address has a workspace, and a decline looks like silence. A counterparty gets at most 5 invitation emails, at least 1 hour apart. The invited admin accepts under Counterparties, Invitations.
5. The counterparty and its business verification
On a live deal the counterparty can read everything as soon as it is linked, but every action waits for its own business verification: delivering, answering a dispute, filing a file, choosing its payout account and answering a cancellation are refused with 403 KYB_REQUIRED until RekberPay approves its KYB. The room says so and shows its actions as disabled. A test deal has no such gate, and the verification of the counterparty does not change what you can do as the payer.
To help the counterparty get verified, send its verification link by email with Send a verification link, then Send by email (POST /v1/enterprise/counterparties/:id/kyb-invite with { "send_email": true }). The emailed link only opens for the contact's verified email. See Verify your business.
6. Work in the shared room
Both companies open the same room: the payer from Deals, the counterparty from Shared deals.
| Tab | What it holds |
|---|---|
| Next steps | What waits for your side and for theirs, who on your team can do it, and the due date |
| Milestones | Held, released and not funded yet per milestone, and the progress of the deal |
| Documents | Shared files, and the documents someone was asked to provide |
| Timeline | A short fixed line per event. It never carries text a person typed |
- Files. Either side can upload. The payer can keep a file to its own team; everything the counterparty uploads is shared. You can only delete a file your own workspace filed, and not while its milestone is under review, in dispute or approved.
- Required documents. The payer chooses Ask for a document: a title, the kind of document and who provides it. It shows as a next step until a matching shared file is uploaded.
- Where the counterparty is paid. The counterparty picks one of its verified payout accounts on the Where you get paid card. The payer never sees the account details and releases with no splits. See Approve, release and settle.
- Deal lead. Each side has a lead who gets the deal emails a creator would get. An admin can change it.
7. Fund the deal
An upfront deal is paid with one payment before work starts, due 7 days after the deal was accepted. See Fund a live deal. While it is unfunded, paying a single milestone answers 409 FUND_WHOLE_DEAL.
8. Cancel a funded deal
| Situation | What happens |
|---|---|
| Nothing funded | The deal is cancelled at once |
| Funded, the counterparty has not joined with a workspace | Finance cancels alone. The money held for unreleased milestones is refunded to the payer |
| Funded, the counterparty has joined | Finance proposes the cancellation. An owner, admin or finance member of the counterparty confirms or declines within 7 days. The payer can withdraw it |
A confirmed cancellation refunds each cancelled milestone's amount and fee share. Released milestones stay released and a disputed milestone stays with its dispute. If the counterparty declines, the deal goes on and either side can open a dispute.
# Payer: withdraw a proposal
curl -X DELETE https://api.rekberpay.com/v1/enterprise/deals/$DEAL_ID/cancel-request \
-H "Authorization: Bearer $REKBERPAY_WORKSPACE_KEY"
# Counterparty: confirm (or use /decline)
curl -X POST https://api.rekberpay.com/v1/enterprise/shared-deals/$DEAL_ID/cancel-request/confirm \
-H "Authorization: Bearer $REKBERPAY_WORKSPACE_KEY"Who gets which email
Emails go to the people who can act on the event, minus the person who did it, and each person's switches decide the rest (Settings, Notifications).
| Event | Who gets the email |
|---|---|
| Deal created or shared | Owners and the deal lead |
| Milestone funded | Finance and the deal lead |
| Delivered, waiting for approval | Admins, finance and the deal lead |
| Delivery approved, rejected or revision requested | The deal lead |
| Released, payout settled or failed, refund | Finance and the deal lead |
| Dispute opened, answered or resolved | Owners and the deal lead |
| Deal cancelled | Owners and the deal lead |
| Cancellation proposed | Owners, admins and finance of the counterparty |
| Cancellation confirmed or declined | Owners of the paying workspace |
| A claim waits for confirmation | Owners, admins and the deal lead |
A counterparty without a workspace gets a short email with a fresh preview link for live deals only, in Indonesian when its country is Indonesia.
Errors
| Status | Code | Cause |
|---|---|---|
403 | KYB_REQUIRED | The counterparty acted on a live deal before its business verification was approved |
409 | PREVIEW_NOT_ALLOWED | A test deal, Live not unlocked, a cancelled deal, a counterparty with a workspace, or no contact email |
409 | DEAL_NOT_ACTIVE | A draft deal cannot send or copy a preview link. Activate it first |
409 | PREVIEW_OFF | The link is turned off. Reset it only if you turned it off yourself. After a cancelled deal, a workspace link or an ops turn off, a reset is refused with the same code |
429 | RESEND_TOO_SOON, RESEND_LIMIT_REACHED, MAIL_LIMIT_REACHED | The email limits above |
409 | FUND_WHOLE_DEAL | Paying a milestone of an unfunded upfront deal |
409 | CANCEL_ALREADY_PROPOSED | A cancellation is already waiting for the counterparty |
409 | CANCEL_NOT_PROPOSED | There is no open cancellation proposal |
409 | PAYEE_CHOSE_PAYOUT | Release with splits after the counterparty chose its account |