API ReferenceContracts
Get signing links for the signers (no email is sent)
Mints a fresh token for every external signer who has not signed or declined (older links stay valid). Internal signers get the dashboard link. 409 unless the contract is pending or in signing.
AuthorizationBearer <token>
API key cl_live_… or OAuth access token eco_at_… in Authorization: Bearer. Public operations (x-econtract-auth: public) need no credential.
In: header
Path Parameters
id*string
Header Parameters
Idempotency-Key?string
Up to 255 characters. Retries with the same key and body replay the first result (header Idempotent-Replayed: true) for 24 h.
Response Body
application/json
curl -X POST "https://api.econtract.online/api/v1/contracts/string/signing-links"{
"data": [
{
"signerId": "string",
"name": {},
"email": "string",
"signerType": "internal",
"status": "pending",
"signingUrl": {},
"expiresAt": {}
}
]
}Empty
Code Examples
curl -X POST "https://api.econtract.online/api/v1/contracts/abc123/signing-links" \
-H "Authorization: Bearer cl_live_your_key_here"const res = await fetch("https://api.econtract.online/api/v1/contracts/abc123/signing-links", {
headers: { "Authorization": "Bearer cl_live_your_key_here" },
}).then(r => r.json());
console.log(res);import requests
res = requests.get(
"https://api.econtract.online/api/v1/contracts/abc123/signing-links",
headers={"Authorization": "Bearer cl_live_your_key_here"},
).json()
print(res)package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("POST", "https://api.econtract.online/api/v1/contracts/abc123/signing-links", nil)
req.Header.Set("Authorization", "Bearer cl_live_your_key_here")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.econtract.online/api/v1/contracts/abc123/signing-links");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer cl_live_your_key_here",
"Content-Type: application/json",
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.econtract.online/api/v1/contracts/abc123/signing-links"))
.header("Authorization", "Bearer cl_live_your_key_here")
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer cl_live_your_key_here");
var response = await client.GetAsync("https://api.econtract.online/api/v1/contracts/abc123/signing-links");
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);