End a partner link
Either company can end a link. Ending a link never takes anything away in the middle of a deal. This guide shows how to do it from each side, what happens to every kind of deal, and how to link again.
If you have not linked a partner yet, start with Link a partner workspace.
What happens to your deals
The rule is simple: work in progress carries on, and plans that have not started wait for a new link.
| Deals with the counterparty | What happens |
|---|---|
Active (any status except draft, completed and cancelled, such as awaiting_funding, funded, in_progress or disputed) | Stay shared until they close. The partner keeps every action it had: delivering evidence and opening a dispute. The fee split that was agreed stays as it is. The payer keeps funding, approving and releasing |
Closed (completed, cancelled) | Stay visible to both sides as a read-only record. Any write answers 409 DEAL_ARCHIVED |
| Draft | Stop being shared. The fee agreement is dropped and the split goes back to the payer's default. The draft cannot be activated until a new link is accepted and the split is agreed again. Whoever created each draft is notified |
On top of that:
- The payer cannot start a new deal with the counterparty, or move a draft to it, until the partner accepts a new link request (
409 COUNTERPARTY_UNLINKED). - Both workspaces are notified, and the unlink is written to both activity logs as
counterparty.unlinked. The entry on each side says who ended it. - Nothing about money changes. Funded milestones stay funded, approved ones can still be released, and queued payouts still settle.
- A link serves both modes, and Sandbox never changes Live. From Live an unlink covers the deals of both modes. From Sandbox it changes test deals only, and it is refused while the payer has live deals with the partner (
409 LINK_HAS_LIVE_DEALS): switch to Live to end the link. The emailed notice counts live deals only.
Unlink as the payer
You need the admin role. Unlinking is a dashboard action, and an API key is refused with 403 KEY_NOT_ALLOWED.
In the dashboard
- Open Counterparties.
- In the RekberPay workspace column, choose the partner's name.
- In the dialog, choose Unlink.
- The dialog Unlink CV Mitra Pangan Nusantara? lists exactly what changes, as in the table above. Read it, then choose Unlink workspace. To back out, choose Keep the link.
- A message tells you how many deals stay shared and how many drafts now wait for a new link.
If the request was never accepted, the same place shows Request sent. Choose Withdraw request to cancel it.
With the API
curl -X DELETE https://api.rekberpay.com/v1/enterprise/counterparties/$COUNTERPARTY_ID/link \
-b cookies.txt \
-H "X-CSRF-Token: $CSRF_TOKEN" \
-H "X-Enterprise-Account: $WORKSPACE_ID"200 OK
{
"success": true,
"data": {
"id": "1c2d3e4f-5a6b-4c7d-8e9f-0a1b2c3d4e5f",
"withdrew": false,
"unlinked": true,
"workspace": {
"id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"name": "Mitra Pangan Nusantara"
},
"kept_shared": { "active": 2, "archived": 5 },
"detached_drafts": { "count": 1, "references": ["DEAL-2026-0014"] }
}
}kept_shared.active counts the deals that carry on, kept_shared.archived the closed ones, and detached_drafts the drafts that now wait. The same call withdraws a pending request, answering withdrew: true and unlinked: false. With neither a link nor a request it answers 409 NOT_LINKED.
Unlink as the partner
The partner can end the link from its side too. The payer is notified and gets the same outcome.
In the dashboard
- Open Shared deals.
- In the Linked workspaces card, find the payer and choose End link.
- The dialog End the link with PT Maju Retail? spells out what changes from your side. Choose End link to confirm, or Keep the link.
With the API
curl -X POST https://api.rekberpay.com/v1/enterprise/counterparty-links/$LINK_ID/unlink \
-b cookies.txt \
-H "X-CSRF-Token: $CSRF_TOKEN" \
-H "X-Enterprise-Account: $WORKSPACE_ID"Find $LINK_ID with GET /v1/enterprise/counterparty-links?direction=incoming&status=accepted. A link that is not active answers 409 NOT_LINKED.
After an unlink from either side, the partner's Shared deals page keeps the active deals, now with the note "PT Maju Retail ended the link with your workspace. This deal stays shared until it finishes". Closed deals show "This deal is closed. It stays here as a read-only record". The payer's drafts with you disappear from your list.
Link again
Anyone can propose a new link after an unlink. The payer sends it. The partner accepts it.
In the dashboard
- As the payer, open Counterparties. The row now reads Unlinked, new deals wait, with Link again.
- Choose Link again, paste the partner's workspace ID and choose Send link request.
- The partner's admin sees the request in Link requests and chooses Accept.
With the API, send POST /v1/enterprise/counterparties/:id/link again with the partner's workspace_id, and accept it with POST /v1/enterprise/counterparty-links/:id/accept, exactly as in Link a partner workspace.
When the partner accepts:
- The hold on the counterparty lifts, so new deals can be created again.
- Draft deals that were detached become fee proposals again, so each draft's split must be agreed before it can be activated. See Agree who pays the fee.
- Deals that are already shared stay as they are.
- A deal that stayed shared with an earlier workspace keeps that workspace. A link to a different workspace never takes it over.
To link the counterparty to a different workspace than before, send the request with the new workspace's ID. The old link is already ended.
Or use it as a regular counterparty
After an unlink, new deals with the company wait for a new link. If you would rather not wait, you can stop waiting and deal with the company without a link.
In the dashboard
- As the payer, open Counterparties and choose Link again on the row (Unlinked, new deals wait).
- In the dialog, read the note and choose Use as a regular counterparty.
- A message says the company is a regular counterparty again, and that new deals with them are not shared.
With the API, call POST /v1/enterprise/counterparties/:id/use-as-regular from a dashboard session as an admin or owner. An API key is refused. The answer is { "id": "...", "unlinked_from": null }.
What changes:
- New deals with the company are plain deals. They are not shared with any workspace and need no fee agreement from the partner.
- Drafts that waited for the new link can be activated with your split.
- Nothing already shared changes. Active and closed deals keep their partner view.
- You can still link the company again later.
| Status | Code | Cause |
|---|---|---|
409 | NOT_ON_HOLD | The counterparty is not waiting for a new link. You can already start deals with it |
409 | ALREADY_LINKED | It is linked to a workspace. Unlink it first |
409 | LINK_HAS_LIVE_DEALS | Sent from Sandbox while you have live deals with this company. Switch to Live |
Quick answers
| Question | Answer |
|---|---|
| Does ending a link cancel a deal? | No. Active deals continue and closed ones stay as records |
| Can the partner still deliver milestones on an active deal? | Yes, until the deal closes |
| Can I still release a milestone that is already approved? | Yes |
| Who is told? | Both workspaces, plus the creator of each detached draft |
| Is it recorded? | Yes. Both activity logs carry counterparty.unlinked |
| Can I deal with them without waiting for a new link? | Yes. Choose Use as a regular counterparty |