Set subaccount products

PUT
https://www.digicert.com/services/v2/account/subaccount/{{subaccount_id}}/products

Use this endpoint to set product availability and pricing for a subaccount.

This endpoint is destructive to the products array. Any existing array is overwritten with the sent array.

cURL
curl -X PUT \
  'https://www.digicert.com/services/v2/account/subaccount/{{subaccount_id}}/products' \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}' \
  -d '{
    "products": [
        {
            "product_name_id": "ssl_plus"
        },
        {
            "product_name_id": "ssl_multi_domain",
            "product_name": "Multi-Domain SSL",
            "prices": [
                {
                    "lifetime": 1,
                    "cost": 412,
                    "additional_fqdn_cost": 1351
                },
                {
                    "lifetime": 2,
                    "cost": 782,
                    "additional_fqdn_cost": 257
                }
            ]
        },
        {
            "product_name_id": "ssl_wildcard",
            "product_name": "WildCard",
            "prices": [
                {
                    "lifetime": 1,
                    "cost": 688,
                    "additional_wildcard_cost": 658
                },
                {
                    "lifetime": 2,
                    "cost": 1307,
                    "additional_wildcard_cost": 1250
                }
            ]
        },
        {
            "product_name_id": "ssl_ev_plus",
            "product_name": "EV SSL",
            "prices": [
                {
                    "lifetime": 1,
                    "cost": 344
                },
                {
                    "lifetime": 2,
                    "cost": 654
                }
            ]
        },
        {
            "product_name_id": "ssl_ev_multi_domain",
            "product_name": "EV Multi-Domain",
            "prices": [
                {
                    "lifetime": 1,
                    "cost": 574,
                    "additional_fqdn_cost": 168
                },
                {
                    "lifetime": 2,
                    "cost": 1090,
                    "additional_fqdn_cost": 319
                }
            ]
        }
    ]
}'
Python
import requests

url = "https://www.digicert.com/services/v2/account/subaccount/{{subaccount_id}}/products"

payload = "{\n    \"products\": [\n        {\n            \"product_name_id\": \"ssl_plus\"\n        },\n        {\n            \"product_name_id\": \"ssl_multi_domain\",\n            \"product_name\": \"Multi-Domain SSL\",\n            \"prices\": [\n                {\n                    \"lifetime\": 1,\n                    \"cost\": 412,\n                    \"additional_fqdn_cost\": 1351\n                },\n                {\n                    \"lifetime\": 2,\n                    \"cost\": 782,\n                    \"additional_fqdn_cost\": 257\n                }\n            ]\n        },\n        {\n            \"product_name_id\": \"ssl_wildcard\",\n            \"product_name\": \"WildCard\",\n            \"prices\": [\n                {\n                    \"lifetime\": 1,\n                    \"cost\": 688,\n                    \"additional_wildcard_cost\": 658\n                },\n                {\n                    \"lifetime\": 2,\n                    \"cost\": 1307,\n                    \"additional_wildcard_cost\": 1250\n                }\n            ]\n        },\n        {\n            \"product_name_id\": \"ssl_ev_plus\",\n            \"product_name\": \"EV SSL\",\n            \"prices\": [\n                {\n                    \"lifetime\": 1,\n                    \"cost\": 344\n                },\n                {\n                    \"lifetime\": 2,\n                    \"cost\": 654\n                }\n            ]\n        },\n        {\n            \"product_name_id\": \"ssl_ev_multi_domain\",\n            \"product_name\": \"EV Multi-Domain\",\n            \"prices\": [\n                {\n                    \"lifetime\": 1,\n                    \"cost\": 574,\n                    \"additional_fqdn_cost\": 168\n                },\n                {\n                    \"lifetime\": 2,\n                    \"cost\": 1090,\n                    \"additional_fqdn_cost\": 319\n                }\n            ]\n        }\n    ]\n}"
headers = {
    'X-DC-DEVKEY': "{{api_key}}",
    'Content-Type': "application/json"
    }

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

print(response.text)
Go
package main

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

func main() {

	url := "https://www.digicert.com/services/v2/account/subaccount/{{subaccount_id}}/products"

	payload := strings.NewReader("{\n    \"products\": [\n        {\n            \"product_name_id\": \"ssl_plus\"\n        },\n        {\n            \"product_name_id\": \"ssl_multi_domain\",\n            \"product_name\": \"Multi-Domain SSL\",\n            \"prices\": [\n                {\n                    \"lifetime\": 1,\n                    \"cost\": 412,\n                    \"additional_fqdn_cost\": 1351\n                },\n                {\n                    \"lifetime\": 2,\n                    \"cost\": 782,\n                    \"additional_fqdn_cost\": 257\n                }\n            ]\n        },\n        {\n            \"product_name_id\": \"ssl_wildcard\",\n            \"product_name\": \"WildCard\",\n            \"prices\": [\n                {\n                    \"lifetime\": 1,\n                    \"cost\": 688,\n                    \"additional_wildcard_cost\": 658\n                },\n                {\n                    \"lifetime\": 2,\n                    \"cost\": 1307,\n                    \"additional_wildcard_cost\": 1250\n                }\n            ]\n        },\n        {\n            \"product_name_id\": \"ssl_ev_plus\",\n            \"product_name\": \"EV SSL\",\n            \"prices\": [\n                {\n                    \"lifetime\": 1,\n                    \"cost\": 344\n                },\n                {\n                    \"lifetime\": 2,\n                    \"cost\": 654\n                }\n            ]\n        },\n        {\n            \"product_name_id\": \"ssl_ev_multi_domain\",\n            \"product_name\": \"EV Multi-Domain\",\n            \"prices\": [\n                {\n                    \"lifetime\": 1,\n                    \"cost\": 574,\n                    \"additional_fqdn_cost\": 168\n                },\n                {\n                    \"lifetime\": 2,\n                    \"cost\": 1090,\n                    \"additional_fqdn_cost\": 319\n                }\n            ]\n        }\n    ]\n}")

	req, _ := http.NewRequest("PUT", url, payload)

	req.Header.Add("X-DC-DEVKEY", "{{api_key}}")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
NodeJS
var request = require("request");

var options = { method: 'PUT',
  url: 'https://www.digicert.com/services/v2/account/subaccount/{{subaccount_id}}/products',
  headers: 
   { 'Content-Type': 'application/json',
     'X-DC-DEVKEY': '{{api_key}}' },
  body: 
   { products: 
      [ { product_name_id: 'ssl_plus' },
        { product_name_id: 'ssl_multi_domain',
          product_name: 'Multi-Domain SSL',
          prices: 
           [ { lifetime: 1, cost: 412, additional_fqdn_cost: 1351 },
             { lifetime: 2, cost: 782, additional_fqdn_cost: 257 } ] },
        { product_name_id: 'ssl_wildcard',
          product_name: 'WildCard',
          prices: 
           [ { lifetime: 1, cost: 688, additional_wildcard_cost: 658 },
             { lifetime: 2, cost: 1307, additional_wildcard_cost: 1250 } ] },
        { product_name_id: 'ssl_ev_plus',
          product_name: 'EV SSL',
          prices: [ { lifetime: 1, cost: 344 }, { lifetime: 2, cost: 654 } ] },
        { product_name_id: 'ssl_ev_multi_domain',
          product_name: 'EV Multi-Domain',
          prices: 
           [ { lifetime: 1, cost: 574, additional_fqdn_cost: 168 },
             { lifetime: 2, cost: 1090, additional_fqdn_cost: 319 } ] } ] },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
204 No Content
// empty

Sending an empty products array disables all products for the subaccount.

Request parameters

Name Req/Opt Type Description
products required array List of products to enable for the subaccount.
.. product_name_id optional string Name ID of the product to enable for the subaccount.
See Glossary – Product identifiers
.. prices optional array List of prices to be set for the specified product.
Note: If omitted, the prices for the specified product is set to the default prices of the parent account.
.. .. lifetime required int Validity term in years that the pricing applies to.
.. .. cost required int
float
Specify the base price of the product.
Max: 99999999.99
.. .. additional_fqdn_cost required* int
float
Specify the cost for each additional domain name (SAN) added to the order.
*Required only for products that support this parameter. See Product-specific parameter support.
Max: 99999999.99
.. .. additional_wildcard_cost required* int
float
Specify the cost for each additional wildcard domain (e.g., *.example.com) added to the order.
*Required only for products that support this parameter. See Product-specific parameter support.
Max: 99999999.99

Product-specific parameter support

If a product does not support additional cost parameters (additonal_fqdn_cost or additional_wildcard_cost), any value specified for that product is ignored.

Product name ID Supports additional_fqdn_cost? Supports additional_wildcard_cost?
ssl_cloud_wildcard Yes
ssl_plus
ssl_multi_domain Yes
ssl_wildcard Yes
ssl_ev_plus
ssl_ev_multi_domain Yes
private_ssl_multi_domain Yes
private_ssl_plus
private_ssl_wildcard Yes
client_digital_signature_plus
client_digital_signature_plus_ad
client_digital_signature_plus_sha2
client_email_security_plus
client_email_security_plus_ad
client_email_security_plus_sha2
client_authentication_plus
client_authentication_plus_ad
client_premium
client_premium_ad
client_premium_sha2
client_ltans_adobe_signing
client_timestamp_authority
private_client_premium
client_authentication_only
client_grid_premium
client_grid_robot_email
client_grid_robot_fqdn
client_grid_robot_name
grid_host_ssl
client_multi_name
grid_host_ssl_multi_domain Yes
code_signing
code_signing_ev
document_signing_org_1
document_signing_org_2
document_signing_individual_1
document_signing_individual_2
client_authentication_only_non_repudiation
class1_smime
ssl_dv_geotrust Yes
ssl_dv_rapidssl
ssl_ev_geotrust_truebizid Yes
ssl_ev_thawte_webserver Yes
ssl_geotrust_truebizid Yes Yes
client_premium_data_encipherment
client_premium_non_repudiation
ssl_thawte_webserver Yes Yes
wildcard_dv_geotrust Yes
wildcard_dv_rapidssl
cloud_dv_geotrust Yes
ssl_ev_securesite
ssl_ev_securesite_multi_domain Yes
ssl_ev_securesite_pro Yes
ssl_securesite
ssl_securesite_multi_domain Yes
ssl_securesite_pro Yes Yes
ssl_securesite_wildcard Yes