--- 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 ' Example Logo ' ``` **Python** ```python import requests url = "https://www.digicert.com/services/v2/util/validate-vmc-logo" payload = "\n\n Example Logo\n \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(` Example Logo `) 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\n Example Logo\n \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" } ] } ```