Upload VMC logo (SVG)

POST
https://www.digicert.com/services/v2/order/certificate/{{order_id}}/vmc/logo

Use this endpoint to upload an SVG logo to a pending order for a Verified Mark Certificate.

Uploading a logo replaces any existing logo for the order. If the logo already exists in your account, we assign the existing logo and any trademark details associated with it to the order instead of uploading a duplicate logo to your account.

This endpoint accepts raw SVG data. To upload compressed logo data formatted as a base64-encoded string, use the Upload VMC logo (encoded) endpoint.

Before uploading a logo, make sure it meets the requirements for Verified Mark Certificates:

Request format

To submit a request to the Upload VMC logo (SVG) endpoint:

  • Set the Content-Type header.
    • If the image data includes an XML tag (for example, <?xml version="1.0" encoding="UTF-8"?>), 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.

Example requests and responses

cURL
curl --request POST 'https://www.digicert.com/services/v2/order/certificate/144457106/vmc/logo' \
--header 'X-DC-DEVKEY: {{api_key}}' \
--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>'
Python
import requests

url = "https://www.digicert.com/services/v2/order/certificate/144457106/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 = {
  'X-DC-DEVKEY': {{api_key}},
  'Content-Type': 'image/svg+xml'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
Go
package main

import (
		"fmt"
		"strings"
		"net/http"
		"io/ioutil"
)

func main() {

		url := "https://www.digicert.com/services/v2/order/certificate/144457106/vmc/logo"
		method := "POST"

		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("X-DC-DEVKEY", {{api_key}})
		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
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://www.digicert.com/services/v2/order/certificate/144457106/vmc/logo',
  'headers': {
    'X-DC-DEVKEY': {{api_key}},
    '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);
});
200 (new logo)
{
  "id": 99,
  "organization_id": 1374401
}
200 (existing logo)
{
  "id": 101,
  "organization_id": 12345,
  "trademark_country_code": "au",
  "trademark_registration_number": "C1234-D1234"
}

Path parameters

Name Req/Opt Description
order_id required ID of a pending order for a Verified Mark Certificate.

Response parameters

Name Type Description
id integer Logo ID.
organization_id integer ID of the organization for the logo.
trademark_country_code string Two-letter code for the country or region where the logo is trademarked.
Possible values:
  • us – United States
  • ca – Canada
  • em – European Trademark Office
  • gb – Great Britain
  • de – Germany
  • jp – Japan
  • au – Australia
  • es – Spain
Note: Only returned when the uploaded logo matches an existing logo that is already assigned a trademark_country_code value.
trademark_registration_number string Trademark registration number of the logo.
Note: Only returned when the uploaded logo matches an existing logo that is already assigned a trademark_registration_number value.