Sending domains
Update BIMI
Updates the BIMI configuration for the domain, including the SVG logo URL and optional Verified Mark Certificate (VMC) URL. Changes take effect immediately but DNS propagation may take up to 48 hours.
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.
PATCH
/
v1
/
projects
/
{projectId}
/
domains
/
{domainId}
/
bimi
TypeScript
import { createApolloSignalApiClient } from "@apollo-deploy/signal-sdk";
const signal = createApolloSignalApiClient({ apiKey: "ap_signal_..." });
const result = await signal.domains.updateBIMI(/* params */);
console.log(result);from apollo_signal import SignalClient
signal = SignalClient(api_key="ap_signal_...")
result = signal.domains.updateBIMI(# params)
print(result)import signal "github.com/apollo-deploy/signal-sdk-go"
client := signal.NewClient("ap_signal_...")
result, err := client.Domains.UpdateBIMI(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().updateBIMI(/* params */);
System.out.println(result);import com.apollodeploy.signal.SignalClient
val signal = SignalClient("ap_signal_...")
val result = signal.domains.updateBIMI(/* params */)
println(result)require "apollo_signal"
signal = ApolloSignal::Client.new(api_key: "ap_signal_...")
result = signal.domains.updateBIMI(# params)
puts resultuse ApolloSignal\SignalClient;
$signal = new SignalClient("ap_signal_...");
$result = $signal->domains->updateBIMI(/* params */);
var_dump($result);use apollo_signal::SignalClient;
let signal = SignalClient::new("ap_signal_...");
let result = signal.domains.updateBIMI(/* params */).await?;
println!("{:?}", result);using ApolloSignal;
var signal = new SignalClient("ap_signal_...");
var result = await signal.Domains.UpdateBIMIAsync(/* params */);
Console.WriteLine(result);curl --request PATCH \
--url https://api.signal.apollodeploy.com/v1/projects/{projectId}/domains/{domainId}/bimi \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"logoUrl": "<string>"
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({logoUrl: '<string>'})
};
fetch('https://api.signal.apollodeploy.com/v1/projects/{projectId}/domains/{domainId}/bimi', 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>"
}{
"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 to update.
Body
application/json
BIMI logo URL and optional VMC URL.
BIMI logo configuration. Updating it returns the domain to pending verification.
URL of the BIMI-compatible SVG logo to associate with the domain.
Response
BIMI configuration updated.
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.updateBIMI(/* params */);
console.log(result);from apollo_signal import SignalClient
signal = SignalClient(api_key="ap_signal_...")
result = signal.domains.updateBIMI(# params)
print(result)import signal "github.com/apollo-deploy/signal-sdk-go"
client := signal.NewClient("ap_signal_...")
result, err := client.Domains.UpdateBIMI(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().updateBIMI(/* params */);
System.out.println(result);import com.apollodeploy.signal.SignalClient
val signal = SignalClient("ap_signal_...")
val result = signal.domains.updateBIMI(/* params */)
println(result)require "apollo_signal"
signal = ApolloSignal::Client.new(api_key: "ap_signal_...")
result = signal.domains.updateBIMI(# params)
puts resultuse ApolloSignal\SignalClient;
$signal = new SignalClient("ap_signal_...");
$result = $signal->domains->updateBIMI(/* params */);
var_dump($result);use apollo_signal::SignalClient;
let signal = SignalClient::new("ap_signal_...");
let result = signal.domains.updateBIMI(/* params */).await?;
println!("{:?}", result);using ApolloSignal;
var signal = new SignalClient("ap_signal_...");
var result = await signal.Domains.UpdateBIMIAsync(/* params */);
Console.WriteLine(result);curl --request PATCH \
--url https://api.signal.apollodeploy.com/v1/projects/{projectId}/domains/{domainId}/bimi \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"logoUrl": "<string>"
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({logoUrl: '<string>'})
};
fetch('https://api.signal.apollodeploy.com/v1/projects/{projectId}/domains/{domainId}/bimi', 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>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}