Sending domains
Verify BIMI
Triggers a DNS lookup to verify that the domain’s BIMI (Brand Indicators for Message Identification) record is correctly published. A valid BIMI record allows supported email clients to display the brand logo in the inbox.
Requirements
- Permission:
domains:write. - Project access: the path project must match the API key’s project.
- HTTP rate limit: 30 requests per 300 seconds per API key.
POST
/
v1
/
projects
/
{projectId}
/
domains
/
{domainId}
/
bimi
/
verify
TypeScript
import { createApolloSignalApiClient } from "@apollo-deploy/signal-sdk";
const signal = createApolloSignalApiClient({ apiKey: "ap_signal_..." });
const result = await signal.domains.verifyBIMI(/* params */);
console.log(result);from apollo_signal import SignalClient
signal = SignalClient(api_key="ap_signal_...")
result = signal.domains.verifyBIMI(# params)
print(result)import signal "github.com/apollo-deploy/signal-sdk-go"
client := signal.NewClient("ap_signal_...")
result, err := client.Domains.VerifyBIMI(context.Background() /* params */)
if err != nil {
log.Fatal(err)
}
fmt.Println(result)import com.apollodeploy.signal.SignalClient;
SignalClient signal = new SignalClient("ap_signal_...");
var result = signal.domains().verifyBIMI(/* params */);
System.out.println(result);import com.apollodeploy.signal.SignalClient
val signal = SignalClient("ap_signal_...")
val result = signal.domains.verifyBIMI(/* params */)
println(result)require "apollo_signal"
signal = ApolloSignal::Client.new(api_key: "ap_signal_...")
result = signal.domains.verifyBIMI(# params)
puts resultuse ApolloSignal\SignalClient;
$signal = new SignalClient("ap_signal_...");
$result = $signal->domains->verifyBIMI(/* params */);
var_dump($result);use apollo_signal::SignalClient;
let signal = SignalClient::new("ap_signal_...");
let result = signal.domains.verifyBIMI(/* params */).await?;
println!("{:?}", result);using ApolloSignal;
var signal = new SignalClient("ap_signal_...");
var result = await signal.Domains.VerifyBIMIAsync(/* params */);
Console.WriteLine(result);curl --request POST \
--url https://api.signal.apollodeploy.com/v1/projects/{projectId}/domains/{domainId}/bimi/verify \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.signal.apollodeploy.com/v1/projects/{projectId}/domains/{domainId}/bimi/verify', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"bimiStatus": "<string>",
"createdAt": "<string>",
"dkimStatus": "<string>",
"dmarcStatus": "<string>",
"domain": "<string>",
"id": "<string>",
"mailFromDomain": "<string>",
"mailFromStatus": "<string>",
"projectId": "<string>",
"region": "<string>",
"spfStatus": "<string>",
"status": "<string>",
"updatedAt": "<string>",
"verificationRecords": {
"dkim": [
{
"name": "<string>",
"type": "<string>",
"value": "<string>",
"status": "<string>"
}
],
"mailFromMx": {
"name": "<string>",
"type": "<string>",
"value": "<string>",
"optional": true,
"priority": 123,
"status": "<string>"
},
"mailFromSpf": {
"name": "<string>",
"type": "<string>",
"value": "<string>",
"optional": true,
"priority": 123,
"status": "<string>"
},
"bimi": {
"name": "<string>",
"type": "<string>",
"value": "<string>",
"optional": true,
"priority": 123,
"status": "<string>"
},
"dmarcRecommended": {
"name": "<string>",
"type": "<string>",
"value": "<string>",
"optional": true,
"priority": 123,
"status": "<string>"
},
"trackingCname": {
"name": "<string>",
"type": "<string>",
"value": "<string>",
"optional": true,
"priority": 123,
"status": "<string>"
}
},
"bimiLogoUrl": "<string>",
"verifiedAt": "<string>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}Authorizations
Project-bound Apollo Signal API key. Keys begin with ap_signal_ and must carry the permission shown on the operation.
Path Parameters
The project the domain belongs to.
The unique identifier of the domain.
Response
BIMI verification check completed. Returns updated domain record.
Show child attributes
Show child attributes
Was this page helpful?
⌘I
TypeScript
import { createApolloSignalApiClient } from "@apollo-deploy/signal-sdk";
const signal = createApolloSignalApiClient({ apiKey: "ap_signal_..." });
const result = await signal.domains.verifyBIMI(/* params */);
console.log(result);from apollo_signal import SignalClient
signal = SignalClient(api_key="ap_signal_...")
result = signal.domains.verifyBIMI(# params)
print(result)import signal "github.com/apollo-deploy/signal-sdk-go"
client := signal.NewClient("ap_signal_...")
result, err := client.Domains.VerifyBIMI(context.Background() /* params */)
if err != nil {
log.Fatal(err)
}
fmt.Println(result)import com.apollodeploy.signal.SignalClient;
SignalClient signal = new SignalClient("ap_signal_...");
var result = signal.domains().verifyBIMI(/* params */);
System.out.println(result);import com.apollodeploy.signal.SignalClient
val signal = SignalClient("ap_signal_...")
val result = signal.domains.verifyBIMI(/* params */)
println(result)require "apollo_signal"
signal = ApolloSignal::Client.new(api_key: "ap_signal_...")
result = signal.domains.verifyBIMI(# params)
puts resultuse ApolloSignal\SignalClient;
$signal = new SignalClient("ap_signal_...");
$result = $signal->domains->verifyBIMI(/* params */);
var_dump($result);use apollo_signal::SignalClient;
let signal = SignalClient::new("ap_signal_...");
let result = signal.domains.verifyBIMI(/* params */).await?;
println!("{:?}", result);using ApolloSignal;
var signal = new SignalClient("ap_signal_...");
var result = await signal.Domains.VerifyBIMIAsync(/* params */);
Console.WriteLine(result);curl --request POST \
--url https://api.signal.apollodeploy.com/v1/projects/{projectId}/domains/{domainId}/bimi/verify \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.signal.apollodeploy.com/v1/projects/{projectId}/domains/{domainId}/bimi/verify', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"bimiStatus": "<string>",
"createdAt": "<string>",
"dkimStatus": "<string>",
"dmarcStatus": "<string>",
"domain": "<string>",
"id": "<string>",
"mailFromDomain": "<string>",
"mailFromStatus": "<string>",
"projectId": "<string>",
"region": "<string>",
"spfStatus": "<string>",
"status": "<string>",
"updatedAt": "<string>",
"verificationRecords": {
"dkim": [
{
"name": "<string>",
"type": "<string>",
"value": "<string>",
"status": "<string>"
}
],
"mailFromMx": {
"name": "<string>",
"type": "<string>",
"value": "<string>",
"optional": true,
"priority": 123,
"status": "<string>"
},
"mailFromSpf": {
"name": "<string>",
"type": "<string>",
"value": "<string>",
"optional": true,
"priority": 123,
"status": "<string>"
},
"bimi": {
"name": "<string>",
"type": "<string>",
"value": "<string>",
"optional": true,
"priority": 123,
"status": "<string>"
},
"dmarcRecommended": {
"name": "<string>",
"type": "<string>",
"value": "<string>",
"optional": true,
"priority": 123,
"status": "<string>"
},
"trackingCname": {
"name": "<string>",
"type": "<string>",
"value": "<string>",
"optional": true,
"priority": 123,
"status": "<string>"
}
},
"bimiLogoUrl": "<string>",
"verifiedAt": "<string>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}