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 '{
    "currency": "USD",
    "pricing_method": "custom",
    "balance_negative_limit": "222",
    "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 = "{\r\n    \"currency\": \"USD\"\r\n    \"pricing_method\": \"custom\"\r\n    \"balance_negative_limit\": \"222\"\r\n    \"products\": [\r\n        {\r\n            \"product_name_id\": \"ssl_plus\"\r\n        },\r\n        {\r\n            \"product_name_id\": \"ssl_multi_domain\",\r\n            \"product_name\": \"Multi-Domain SSL\",\r\n            \"prices\": [\r\n                {\r\n                    \"lifetime\": 1,\r\n                    \"cost\": 412,\r\n                    \"additional_fqdn_cost\": 1351\r\n                },\r\n                {\r\n                    \"lifetime\": 2,\r\n                    \"cost\": 782,\r\n                    \"additional_fqdn_cost\": 257\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"product_name_id\": \"ssl_wildcard\",\r\n            \"product_name\": \"WildCard\",\r\n            \"prices\": [\r\n                {\r\n                    \"lifetime\": 1,\r\n                    \"cost\": 688,\r\n                    \"additional_wildcard_cost\": 658\r\n                },\r\n                {\r\n                    \"lifetime\": 2,\r\n                    \"cost\": 1307,\r\n                    \"additional_wildcard_cost\": 1250\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"product_name_id\": \"ssl_ev_plus\",\r\n            \"product_name\": \"EV SSL\",\r\n            \"prices\": [\r\n                {\r\n                    \"lifetime\": 1,\r\n                    \"cost\": 344\r\n                },\r\n                {\r\n                    \"lifetime\": 2,\r\n                    \"cost\": 654\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"product_name_id\": \"ssl_ev_multi_domain\",\r\n            \"product_name\": \"EV Multi-Domain\",\r\n            \"prices\": [\r\n                {\r\n                    \"lifetime\": 1,\r\n                    \"cost\": 574,\r\n                    \"additional_fqdn_cost\": 168\r\n                },\r\n                {\r\n                    \"lifetime\": 2,\r\n                    \"cost\": 1090,\r\n                    \"additional_fqdn_cost\": 319\r\n                }\r\n            ]\r\n        }\r\n    ]\r\n}"
headers = {
  'X-DC-DEVKEY': '{{api_key}}',
  'Content-Type': 'application/json'
}

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

print(response.text.encode('utf8'))
Go
package main

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

func main() {

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

  payload := strings.NewReader("{
\n    \"currency\": \"USD\"
\n    \"pricing_method\": \"custom\"
\n    \"balance_negative_limit\": \"222\"
\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}")

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

  if err != nil {
    fmt.Println(err)
  }
  req.Header.Add("X-DC-DEVKEY", "{{api_key}}")
  req.Header.Add("Content-Type", "application/json")

  res, err := client.Do(req)
  defer res.Body.Close()
  body, err := ioutil.ReadAll(res.Body)

  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': {
    'X-DC-DEVKEY': '{{api_key}}',
    'Content-Type': 'application/json'
  },
  body: "{\r\n    \"currency\": \"USD\"\r\n    \"pricing_method\": \"custom\"\r\n    \"balance_negative_limit\": \"222\"\r\n    \"products\": [\r\n        {\r\n            \"product_name_id\": \"ssl_plus\"\r\n        },\r\n        {\r\n            \"product_name_id\": \"ssl_multi_domain\",\r\n            \"product_name\": \"Multi-Domain SSL\",\r\n            \"prices\": [\r\n                {\r\n                    \"lifetime\": 1,\r\n                    \"cost\": 412,\r\n                    \"additional_fqdn_cost\": 1351\r\n                },\r\n                {\r\n                    \"lifetime\": 2,\r\n                    \"cost\": 782,\r\n                    \"additional_fqdn_cost\": 257\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"product_name_id\": \"ssl_wildcard\",\r\n            \"product_name\": \"WildCard\",\r\n            \"prices\": [\r\n                {\r\n                    \"lifetime\": 1,\r\n                    \"cost\": 688,\r\n                    \"additional_wildcard_cost\": 658\r\n                },\r\n                {\r\n                    \"lifetime\": 2,\r\n                    \"cost\": 1307,\r\n                    \"additional_wildcard_cost\": 1250\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"product_name_id\": \"ssl_ev_plus\",\r\n            \"product_name\": \"EV SSL\",\r\n            \"prices\": [\r\n                {\r\n                    \"lifetime\": 1,\r\n                    \"cost\": 344\r\n                },\r\n                {\r\n                    \"lifetime\": 2,\r\n                    \"cost\": 654\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"product_name_id\": \"ssl_ev_multi_domain\",\r\n            \"product_name\": \"EV Multi-Domain\",\r\n            \"prices\": [\r\n                {\r\n                    \"lifetime\": 1,\r\n                    \"cost\": 574,\r\n                    \"additional_fqdn_cost\": 168\r\n                },\r\n                {\r\n                    \"lifetime\": 2,\r\n                    \"cost\": 1090,\r\n                    \"additional_fqdn_cost\": 319\r\n                }\r\n            ]\r\n        }\r\n    ]\r\n}"

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
204 No Content
// empty

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

Request parameters

Name Req/Opt Type Description
currency optional string Sets the currency code for displaying product prices. When you change the display currency for a bill-to-parent subaccount, you must also update the price for each of the subaccount's enabled products.
Possible values: See Glossary - Subaccount display currencies.
Default: Previously assigned currency code, or USD if no code has been assigned.
Note: This parameter is ignored for self-billed subaccounts. Parent accounts and self-billed subaccounts always see prices and receive invoices in the currency associated with their account.
pricing_method optional string Pricing method used by the subaccount
Possible values:
Units
balance_negative_limit optional int Dollar amount that the account balance can go into the negative.
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 objects with information about the prices to set for each product.
Note: If DigiCert supports billing in the chosen currency, prices default to DigiCert's retail price in that currency. Otherwise, prices default to 0. This parameter is ignored for self-billed subaccounts.
.. .. 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 (additional_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
ssl_basic Yes Yes
ssl_ev_basic Yes
ssl_securesite_flex Yes Yes
ssl_ev_securesite_flex Yes
ssl_dv_thawte Yes Yes
ssl_dv_geotrust_flex Yes Yes
private_ssl_flex Yes Yes
ssl_dv_ee Yes Yes