Skip to main content
POST
/
company
/
domains
/
{id}
/
finalize
Finalize domain setup
curl --request POST \
  --url https://api.firma.dev/functions/v1/signing-request-api/company/domains/{id}/finalize \
  --header 'Authorization: <api-key>'
import requests

url = "https://api.firma.dev/functions/v1/signing-request-api/company/domains/{id}/finalize"

headers = {"Authorization": "<api-key>"}

response = requests.post(url, headers=headers)

print(response.text)
const options = {method: 'POST', headers: {Authorization: '<api-key>'}};

fetch('https://api.firma.dev/functions/v1/signing-request-api/company/domains/{id}/finalize', 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.firma.dev/functions/v1/signing-request-api/company/domains/{id}/finalize",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);

$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.firma.dev/functions/v1/signing-request-api/company/domains/{id}/finalize"

req, _ := http.NewRequest("POST", url, nil)

req.Header.Add("Authorization", "<api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.firma.dev/functions/v1/signing-request-api/company/domains/{id}/finalize")
.header("Authorization", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.firma.dev/functions/v1/signing-request-api/company/domains/{id}/finalize")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'

response = http.request(request)
puts response.read_body
{
  "message": "Domain finalized. Add the following DNS records to enable email sending.",
  "domain": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "domain": "acme.com",
    "verification_status": 2,
    "domain_status": 0
  },
  "dns_records": [
    {
      "type": "TXT",
      "name": "@",
      "value": "v=spf1 include:amazonses.com ~all",
      "ttl": "Auto",
      "status": "pending"
    },
    {
      "type": "CNAME",
      "name": "resend._domainkey",
      "value": "resend._domainkey.amazonses.com",
      "ttl": "Auto",
      "status": "pending"
    },
    {
      "type": "TXT",
      "name": "_dmarc",
      "value": "v=DMARC1; p=none;",
      "ttl": "Auto",
      "status": "pending"
    }
  ],
  "next_step": "Add these DNS records, then call POST /company/domains/{id}/verify-dns to complete verification"
}

Authorizations

Authorization
string
header
required

API key for authentication. Use your API key directly without any prefix (e.g., 'your-api-key'). Bearer prefix is optional but not required.

Path Parameters

id
string<uuid>
required

Domain ID

Response

Domain finalized successfully. Add the returned DNS records.

Domain finalization with DNS records

message
string
required
domain
object
required

Email domain configuration for sending signing request emails

dns_records
object[]
required

DNS records to add for email sending

next_step
string
required