Get Signature Link
curl --request GET \
--url https://api.sandbox.wepayout.com.br/v2/register/companies/{uuid}/signature/link \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sandbox.wepayout.com.br/v2/register/companies/{uuid}/signature/link"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sandbox.wepayout.com.br/v2/register/companies/{uuid}/signature/link', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.wepayout.com.br/v2/register/companies/{uuid}/signature/link",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.wepayout.com.br/v2/register/companies/{uuid}/signature/link"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sandbox.wepayout.com.br/v2/register/companies/{uuid}/signature/link")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.wepayout.com.br/v2/register/companies/{uuid}/signature/link")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"status": "pending_signature",
"signers": [
{
"name": "João Silva",
"email": "joao.silva@companyx.com",
"status": "pending",
"sign_url": "https://app.zapsign.com.br/verificar/doc/xxxxxxxx"
}
]
}
{
"message": "Signature request not found"
}
{
"message": "Solicitation not found"
}
Signature
Get Signature Link
Retrieve the contract signing links for each legal representative of a solicitation. Applies to the national onboarding flow, when the solicitation is in waiting_signature.
GET
/
v2
/
register
/
companies
/
{uuid}
/
signature
/
link
Get Signature Link
curl --request GET \
--url https://api.sandbox.wepayout.com.br/v2/register/companies/{uuid}/signature/link \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sandbox.wepayout.com.br/v2/register/companies/{uuid}/signature/link"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sandbox.wepayout.com.br/v2/register/companies/{uuid}/signature/link', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.wepayout.com.br/v2/register/companies/{uuid}/signature/link",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.wepayout.com.br/v2/register/companies/{uuid}/signature/link"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sandbox.wepayout.com.br/v2/register/companies/{uuid}/signature/link")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.wepayout.com.br/v2/register/companies/{uuid}/signature/link")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"status": "pending_signature",
"signers": [
{
"name": "João Silva",
"email": "joao.silva@companyx.com",
"status": "pending",
"sign_url": "https://app.zapsign.com.br/verificar/doc/xxxxxxxx"
}
]
}
{
"message": "Signature request not found"
}
{
"message": "Solicitation not found"
}
Part of the Onboarding Documents flow. After compliance approves all documents in a national solicitation, its status becomes
waiting_signature and a contract is issued for signature (via ZapSign). Use this endpoint to get each signer’s sign_url and route the legal representatives to sign.Cross-border solicitations have no signature step — calling this endpoint for one returns 404.Path Parameters
string
required
UUID of the solicitation (the
id returned by Create Company).- Format: UUID
- Example:
339074a8-1834-49c5-af94-4a044248d88d
Response
string
Status of the signature request. One of
pending_signature, signed, expired.array
{
"status": "pending_signature",
"signers": [
{
"name": "João Silva",
"email": "joao.silva@companyx.com",
"status": "pending",
"sign_url": "https://app.zapsign.com.br/verificar/doc/xxxxxxxx"
}
]
}
{
"message": "Signature request not found"
}
{
"message": "Solicitation not found"
}
Errors
| Status | When |
|---|---|
404 | Solicitation not found / not accessible, or the solicitation has no signature request (e.g. a cross-border solicitation, or one that has not reached waiting_signature). |
Download the signed contract
To download the contract document (the original, or the signed version once available), call:GET /v2/register/companies/{uuid}/signature/file
| Status | When |
|---|---|
200 | File returned as a download. |
404 | Solicitation not found, or no signature document file available. |
cURL
curl -X GET "https://api.sandbox.wepayout.com.br/v2/register/companies/339074a8-1834-49c5-af94-4a044248d88d/signature/file" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o contract.pdf
Examples
curl -X GET "https://api.sandbox.wepayout.com.br/v2/register/companies/339074a8-1834-49c5-af94-4a044248d88d/signature/link" \
-H "Authorization: Bearer YOUR_API_KEY"
const response = await fetch(
"https://api.sandbox.wepayout.com.br/v2/register/companies/339074a8-1834-49c5-af94-4a044248d88d/signature/link",
{ headers: { Authorization: "Bearer YOUR_API_KEY" } }
);
const { signers } = await response.json();
signers.forEach((s) => console.log(`${s.name}: ${s.sign_url}`));
import requests
url = "https://api.sandbox.wepayout.com.br/v2/register/companies/339074a8-1834-49c5-af94-4a044248d88d/signature/link"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get(url, headers=headers)
for signer in response.json()["signers"]:
print(signer["name"], signer["sign_url"])
Related Resources
Onboarding Documents Integration
Understand the full flow
Onboarding Webhook
Statuses delivered to your URL
Was this page helpful?

