How to share CDRs
How to share CDRs with another organization, such as a lead buyer.
Moving a record into another account
There are two ways to create a share URL.
During the capture. Pass autoShare: true when you want the share URL to travel with the lead. The result includes shareUrl alongside cdrId.
const { cdrId, shareUrl } = await window.ExpressConsent.captureCDR({
autoShare: true,
custom: { phone },
});If you need it, from your server. POST /v1/cdrs/:cdrId/share returns a share URL for any record your organization holds. Use it when you need to generate the URL later.
curl -sS -X POST -H "X-API-Key: $EC_API_KEY" \
"https://api-next.expressconsent.com/v1/cdrs/cdr_abc123/share"You do not need to have paid for a record to share it. Full request and response shapes are on share endpoints.
Treat the token as a bearer credential
The token in the URL is the authority to take the record. Anyone holding it, with an API key for any billing-enabled organization other than yours, can receive it.
An expiresInMs longer than two years is clamped rather than refused, and a value that is not a positive number is replaced by the 30-day default, so read expiresAt off the response rather than assuming you got the window you asked for.
A token is not consumed by being used, either. The same token can hand the same record to several different organizations until it expires, and repeating a request from the same organization is safe and never charges twice.
Who pays
Sending a share URL costs nothing. The charge, if there is one, lands when the buyer takes the record, and there is no charge at all if you had already paid for it, because paid access travels one hop. Access and collection has the rules, including what happens in a resale chain.