Use this endpoint to check if the format of an SVG file is compatible with the requirements for Verified Mark Certificates (VMC).
This endpoint accepts raw SVG data. To submit compressed logo data formatted as a base64-encoded string, use the Validate VMC logo format (encoded) endpoint.
To submit a request to the Validate VMC logo format (SVG) endpoint:
Content-Type
header.<?xml
version
="1.0"
encoding
="UTF-8"?>
), use image/svg+xml
.image/svg
.X-DC-DEVKEY
. This operation does not require authentication with an API key.If the logo format meets VMC requirements, the endpoint returns a status of 204 No Content.
If there is a formatting issue with the logo, the endpoint returns an error message with a status of 400 Bad Request. The error message provides:
To learn more about formatting a logo for VMC, visit Getting Ready for BIMI: Prep Your Logo.
To resolve issues with the SVG format of your logo:
curl --request PUT 'https://www.digicert.com/services/v2/util/validate-vmc-logo' \
--header 'Content-Type: image/svg+xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 269.9 76.2" version="1.2" baseProfile="tiny-ps">
<title>Example Logo</title>
<!-- Logo Data -->
</svg>'
import requests
url = "https://www.digicert.com/services/v2/util/validate-vmc-logo"
payload = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 269.9 76.2\" version=\"1.2\" baseProfile=\"tiny-ps\">\n <title>Example Logo</title>\n <!-- Logo Data -->\n</svg>"
headers = {
'Content-Type': 'image/svg+xml'
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://www.digicert.com/services/v2/util/validate-vmc-logo"
method := "PUT"
payload := strings.NewReader(`<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 269.9 76.2" version="1.2" baseProfile="tiny-ps">
<title>Example Logo</title>
<!-- Logo Data -->
</svg>`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "image/svg+xml")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
var request = require('request');
var options = {
'method': 'PUT',
'url': 'https://www.digicert.com/services/v2/util/validate-vmc-logo',
'headers': {
'Content-Type': 'image/svg+xml'
},
body: '<?xml version="1.0" encoding="UTF-8"?>\n<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 269.9 76.2" version="1.2" baseProfile="tiny-ps">\n <title>Example Logo</title>\n <!-- Logo Data -->\n</svg>'
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
// empty
{
"errors": [
{
"code": "invalid_vmc_logo",
"message": "attribute \"overflow\" not allowed here at line 4:65"
}
]
}