Upload VMC logo (encoded)


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 compressed logo data, formatted as a base64-encoded string. To upload raw SVG data, use the Upload VMC logo (SVG) 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 (encoded) endpoint:

  • Set the Content-Type header to application/json.
  • Format the data for your SVG logo as a compressed, base64-encoded string.
    For example, in a bash shell, run this command:
echo '<XML content for your SVG logo>' | gzip | base64
  • In the JSON payload, submit the string containing the encoded logo data as the value of the logo parameter.

Example requests and responses

curl --request POST 'https://www.digicert.com/services/v2/order/certificate/12345/vmc/logo' \
--header 'Content-Type: application/json' \
--header 'X-DC-DEVKEY: {{api_key}} \
--data-raw '{
  "logo" : {{compressed_base64_encoded_svg_logo}}
import requests
import json

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

payload = json.dumps({
  "logo": {{compressed_base64_encoded_svg_logo}}
headers = {
  'X-DC-DEVKEY': {{api_key}},
  'Content-Type': 'application/json'

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

package main

import (

func main() {

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

		payload := strings.NewReader(`{
  "logo": {{compressed_base64_encoded_svg_logo}}

		client := &http.Client {
		req, err := http.NewRequest(method, url, payload)

		if err != nil {
		req.Header.Add("X-DC-DEVKEY", {{api_key}})

		res, err := client.Do(req)
		if err != nil {
		defer res.Body.Close()

		body, err := ioutil.ReadAll(res.Body)
		if err != nil {
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://www.digicert.com/services/v2/order/certificate/144457106/vmc/encoded-logo',
  'headers': {
    'X-DC-DEVKEY': {{api_key}},
    'Content-Type': 'application/json'
  body: JSON.stringify({
    "logo": {{api_key}}

request(options, function (error, response) {
  if (error) throw new Error(error);
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
  • kr – South Korea
  • br – Brazil
  • in – India
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.