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.
  • Sending an empty products array disables all products for the subaccount.

Example requests and responses

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
                }
            ]
        }
    ]
}'
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'))
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))
}
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

Request parameters

NameReq/OptTypeDescription
currencyoptionalstringSets 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. 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.
Possible values: See Glossary - Subaccount display currencies.
Default: Previously assigned currency code, or USD if no code has been assigned.
Important:
  • Changing the display currency resets the subaccount’s balance or division balances to 0. This cannot be undone.
  • If any orders placed in a different currency are rejected or revoked, refunds are issued only to the parent account.
  • For any orders placed in a different currency, additional domains cannot be added when reissuing the certificate.
pricing_methodoptionalstringPricing method used by the subaccount.
Possible values: Units
balance_negative_limitoptionalintDollar amount that the account balance can go into the negative.
productsrequiredarrayList of products to enable for the subaccount.
.. product_name_idoptionalstringName ID of the product to enable for the subaccount. See Glossary – Product identifiers.
.. pricesoptionalarrayList 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.
.. .. lifetimerequiredintValidity term in years that the pricing applies to.
.. .. costrequiredint floatSpecify the base price of the product.
Max: 99999999.99
.. .. additional_fqdn_costrequired*int floatSpecify the cost for each additional domain name (SAN) added to the order.
*Required only for products that support this parameter. For more information, see Product-specific parameter support .
Max: 99999999.99
.. .. additional_wildcard_costrequired*int floatSpecify the cost for each additional wildcard domain (e.g., *.example.com) added to the order.
*Required only for products that support this parameter. For more information, see Product-specific parameter support .
Max: 99999999.99
.. .. fqdn_package_costrequired*int floatSpecify the FQDN SAN package price for products that support bundled SAN package pricing.
*Required only for products that support FQDN SAN package price. For more information, see Product-specific parameter support .
Max: 99999999.99

Product-specific parameter support

If a product does not support additional cost parameters (additional_fqdn_cost, additional_wildcard_cost, or fqdn_package_cost) any value specified for that product is ignored.
Product name IDSupports additional_fqdn_costSupports additional_wildcard_costSupports fqdn_package_cost
ssl_cloud_wildcard–Yes–
ssl_plus–––
ssl_multi_domainYes––
ssl_wildcard–Yes–
ssl_ev_plus–––
ssl_ev_multi_domainYes––
private_ssl_multi_domainYes––
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_domainYes––
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_geotrustYes––
ssl_dv_rapidssl–––
ssl_ev_geotrust_truebizidYes––
ssl_ev_thawte_webserverYes––
ssl_geotrust_truebizidYesYes–
client_premium_data_encipherment–––
client_premium_non_repudiation–––
ssl_thawte_webserverYesYes–
wildcard_dv_geotrust–Yes–
wildcard_dv_rapidssl–––
cloud_dv_geotrust–Yes–
ssl_ev_securesite–––
ssl_ev_securesite_multi_domainYes––
ssl_ev_securesite_proYes––
ssl_securesite–––
ssl_securesite_multi_domainYes––
ssl_securesite_proYesYes–
ssl_securesite_wildcard–Yes–
ssl_basicYesYesYes
ssl_ev_basicYes–Yes
ssl_securesite_flexYesYes–
ssl_ev_securesite_flexYes––
ssl_dv_thawteYesYes–
ssl_dv_geotrust_flexYesYes–
private_ssl_flexYesYes–
ssl_dv_eeYesYes–