---
title: "Validate VMC or CMC logo format (SVG)"
source_url: https://dev.digicert.com/certcentral-apis/services-api/utilities/validate-vmc-or-cmc-logo-format-svg.html
api_method: PUT
api_endpoint: "/services/v2/util/validate-vmc-logo"
api_url: "https://www.digicert.com/services/v2/util/validate-vmc-logo"
---
**PUT** `https://www.digicert.com/services/v2/util/validate-vmc-logo`
Use this endpoint to check if the format of an SVG file is compatible with the requirements for Verified Mark Certificates (VMC) or a Common Mark Certificate (CMC).
> **Info**
>
> This endpoint accepts raw SVG data. To submit compressed logo data formatted as a base64-encoded string, use the [Validate VMC or CMC logo format (encoded)](https://dev.digicert.com/md/certcentral-apis/services-api/utilities/validate-vmc-or-cmc-logo-format-encoded.md) endpoint.
## Request format
To submit a request to the **Validate VMC or CMC logo format (SVG)** endpoint:
- Set the `Content-Type` header.
- If the image data includes an XML tag (for example, ``), use `image/svg+xml`.
- If the image data does not include an XML tag, use `image/svg`.
- Submit the raw SVG data for the image as the payload of the request.
- Omit the custom header `X-DC-DEVKEY`. This operation does not require authentication with an API key.
## Response format
If the logo format meets VMC or CMC 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:
- A brief description of the formatting issue.
- The line and column number where you can find the problem when you open the file in a text editor.
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:
1. Open the SVG file in a text editor.
2. Update the content at the locations displayed in the error messages.
3. Save the file.
4. Submit another request with your updated SVG data.
## Example requests and responses
**cURL**
```bash
curl --request PUT 'https://www.digicert.com/services/v2/util/validate-vmc-logo' \
--header 'Content-Type: image/svg+xml' \
--data-raw '
'
```
**Python**
```python
import requests
url = "https://www.digicert.com/services/v2/util/validate-vmc-logo"
payload = "\n"
headers = {
'Content-Type': 'image/svg+xml'
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)
```
**Go**
```go
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(`
`)
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))
}
```
**NodeJS**
```javascript
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: '\n'
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
```
**204 No Content**
```json
// empty
```
**400 Bad Request**
```json
{
"errors": [
{
"code": "invalid_vmc_logo",
"message": "attribute \"overflow\" not allowed here at line 4:65"
}
]
}
```