certificates
Creates, updates, deletes, gets or lists a certificates
resource.
Overview
Name | certificates |
Type | Resource |
Id | godaddy.certificates.certificates |
Fields
The following fields are returned by SELECT
queries:
- certificate_get
Certificate details retrieved
Name | Datatype | Description |
---|---|---|
certificateId | string | The unique identifier of the certificate request. Only present if no errors returned |
commonName | string | Common name of certificate |
contact | object | Requestor contact information |
createdAt | string (iso-datetime) | The date the certificate was ordered. |
deniedReason | string | Only present if certificate order has been denied |
organization | object | Organization Name in certificate |
period | integer | Validity period of order. Specified in years |
productType | string | Certificate product type |
progress | integer | Percentage of completion for certificate vetting |
revokedAt | string (iso-datetime) | The revocation date of certificate (if revoked). |
rootType | string | Root Type |
serialNumber | string | Serial number of certificate (if issued or revoked) |
serialNumberHex | string | Hexadecmial format for Serial number of certificate(if issued or revoked) |
slotSize | string | Number of subject alternative names(SAN) to be included in certificate |
status | string | Status of certificate |
subjectAlternativeNames | array | Contains subject alternative names set |
validEnd | string (iso-datetime) | The end date of the certificate's validity (if issued or revoked). |
validStart | string (iso-datetime) | The start date of the certificate's validity (if issued or revoked). |
Methods
The following methods are available for this resource:
Name | Accessible by | Required Params | Optional Params | Description |
---|---|---|---|---|
certificate_get | select | certificate_id | Once the certificate order has been created, this method can be used to check the status of the certificate. This method can also be used to retrieve details of the certificate. | |
certificate_create | insert | data__csr , data__productType , data__period , data__contact | X-Market-Id | Creating a certificate order can be a long running asynchronous operation in the PKI workflow. The PKI API supports 2 options for getting the completion stateful actions for this asynchronous operations: 1) by polling operations -- see /v1/certificates/{certificateId}/actions 2) via WebHook style callback -- see '/v1/certificates/{certificateId}/callback'. |
certificate_validate | exec | csr , productType , period , contact | X-Market-Id | Validate a pending order for certificate |
certificate_cancel | exec | certificate_id | Use the cancel call to cancel a pending certificate order. | |
certificate_download | exec | certificate_id | Download certificate | |
certificate_reissue | exec | certificate_id | Rekeying is the process by which the private and public key is changed for a certificate. It is a simplified reissue,where only the CSR is changed. Reissuing is the process by which domain names are added or removed from a certificate.Once a request is validated and approved, the certificate will be reissued with the new common name and sans specified. Unlimited reissues are available during the lifetime of the certificate.New names added to a certificate that do not share the base domain of the common name may take additional time to validate. If this API call is made before a previous pending reissue has been validated and issued, the previous reissue request is automatically rejected and replaced with the current request.' | |
certificate_renew | exec | certificate_id | Renewal is the process by which the validity of a certificate is extended. Renewal is only available 60 days prior to expiration of the previous certificate and 30 days after the expiration of the previous certificate. The renewal supports modifying a set of the original certificate order information. Once a request is validated and approved, the certificate will be issued with extended validity. Since subject alternative names can be removed during a renewal, we require that you provide the subject alternative names you expect in the renewed certificate. New names added to a certificate that do not share the base domain of the common name may take additional time to validate. | |
certificate_revoke | exec | certificate_id , reason | Use revoke call to revoke an active certificate, if the certificate has not been issued a 404 response will be returned. | |
certificate_verifydomaincontrol | exec | certificate_id | Domain control is a means for verifying the domain included in the certificate order. This resource is useful for resellers that control the domains for their customers, and can expedite the verification process. See https://www.godaddy.com/help/verifying-your-domain-ownership-for-ssl-certificate-requests-html-or-dns-7452 |
Parameters
Parameters can be passed in the WHERE
clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
Name | Datatype | Description |
---|---|---|
certificate_id | string | Certificate id to lookup |
X-Market-Id | string | Setting locale for communications such as emails and error messages |
SELECT
examples
- certificate_get
Once the certificate order has been created, this method can be used to check the status of the certificate. This method can also be used to retrieve details of the certificate.
SELECT
certificateId,
commonName,
contact,
createdAt,
deniedReason,
organization,
period,
productType,
progress,
revokedAt,
rootType,
serialNumber,
serialNumberHex,
slotSize,
status,
subjectAlternativeNames,
validEnd,
validStart
FROM godaddy.certificates.certificates
WHERE certificate_id = '{{ certificate_id }}' -- required
;
INSERT
examples
- certificate_create
- Manifest
Creating a certificate order can be a long running asynchronous operation in the PKI workflow. The PKI API supports 2 options for getting the completion stateful actions for this asynchronous operations: 1) by polling operations -- see /v1/certificates/{certificateId}/actions 2) via WebHook style callback -- see '/v1/certificates/{certificateId}/callback'.
INSERT INTO godaddy.certificates.certificates (
data__callbackUrl,
data__commonName,
data__contact,
data__csr,
data__intelVPro,
data__organization,
data__period,
data__productType,
data__rootType,
data__slotSize,
data__subjectAlternativeNames,
X-Market-Id
)
SELECT
'{{ callbackUrl }}',
'{{ commonName }}',
'{{ contact }}' /* required */,
'{{ csr }}' /* required */,
{{ intelVPro }},
'{{ organization }}',
{{ period }} /* required */,
'{{ productType }}' /* required */,
'{{ rootType }}',
'{{ slotSize }}',
'{{ subjectAlternativeNames }}',
'{{ X-Market-Id }}'
;
# Description fields are for documentation purposes
- name: certificates
props:
- name: callbackUrl
value: string
description: |
Required if client would like to receive stateful actions via callback during certificate lifecyle
- name: commonName
value: string
description: |
Name to be secured in certificate. If provided, CN field in CSR will be ignored.
- name: contact
value: object
description: |
Requestor contact information
- name: csr
value: string
description: |
Certificate Signing Request
- name: intelVPro
value: boolean
description: |
Only used for OV
default: false
- name: organization
value: object
description: |
Required for EVSSL, OVSSL, CS, and DS
- name: period
value: integer
description: |
Number of years for certificate validity period
- name: productType
value: string
description: |
Type of product requesting a certificate. Only required non-renewal
valid_values: ['DV_SSL', 'DV_WILDCARD_SSL', 'EV_SSL', 'OV_CS', 'OV_DS', 'OV_SSL', 'OV_WILDCARD_SSL', 'UCC_DV_SSL', 'UCC_EV_SSL', 'UCC_OV_SSL']
- name: rootType
value: string
description: |
Root Type. Depending on certificate expiration date, SHA_1 not be allowed. Will default to SHA_2 if expiration date exceeds sha1 allowed date
valid_values: ['GODADDY_SHA_1', 'GODADDY_SHA_2', 'STARFIELD_SHA_1', 'STARFIELD_SHA_2']
default: STARFIELD_SHA_2
- name: slotSize
value: string
description: |
Number of subject alternative names(SAN) to be included in certificate
valid_values: ['FIVE', 'TEN', 'FIFTEEN', 'TWENTY', 'THIRTY', 'FOURTY', 'FIFTY', 'ONE_HUNDRED']
- name: subjectAlternativeNames
value: array
description: |
Subject Alternative names. Collection of subjectAlternativeNames to be included in certificate.
- name: X-Market-Id
value: string
description: Setting locale for communications such as emails and error messages
Lifecycle Methods
- certificate_validate
- certificate_cancel
- certificate_download
- certificate_reissue
- certificate_renew
- certificate_revoke
- certificate_verifydomaincontrol
Validate a pending order for certificate
EXEC godaddy.certificates.certificates.certificate_validate
@X-Market-Id='{{ X-Market-Id }}'
@@json=
'{
"callbackUrl": "{{ callbackUrl }}",
"commonName": "{{ commonName }}",
"contact": "{{ contact }}",
"csr": "{{ csr }}",
"intelVPro": {{ intelVPro }},
"organization": "{{ organization }}",
"period": {{ period }},
"productType": "{{ productType }}",
"rootType": "{{ rootType }}",
"slotSize": "{{ slotSize }}",
"subjectAlternativeNames": "{{ subjectAlternativeNames }}"
}'
;
Use the cancel call to cancel a pending certificate order.
EXEC godaddy.certificates.certificates.certificate_cancel
@certificate_id='{{ certificate_id }}' --required
;
Download certificate
EXEC godaddy.certificates.certificates.certificate_download
@certificate_id='{{ certificate_id }}' --required
;
Rekeying is the process by which the private and public key is changed for a certificate. It is a simplified reissue,where only the CSR is changed. Reissuing is the process by which domain names are added or removed from a certificate.Once a request is validated and approved, the certificate will be reissued with the new common name and sans specified. Unlimited reissues are available during the lifetime of the certificate.New names added to a certificate that do not share the base domain of the common name may take additional time to validate. If this API call is made before a previous pending reissue has been validated and issued, the previous reissue request is automatically rejected and replaced with the current request.'
EXEC godaddy.certificates.certificates.certificate_reissue
@certificate_id='{{ certificate_id }}' --required
@@json=
'{
"callbackUrl": "{{ callbackUrl }}",
"commonName": "{{ commonName }}",
"csr": "{{ csr }}",
"delayExistingRevoke": {{ delayExistingRevoke }},
"rootType": "{{ rootType }}",
"subjectAlternativeNames": "{{ subjectAlternativeNames }}"
}'
;
Renewal is the process by which the validity of a certificate is extended. Renewal is only available 60 days prior to expiration of the previous certificate and 30 days after the expiration of the previous certificate. The renewal supports modifying a set of the original certificate order information. Once a request is validated and approved, the certificate will be issued with extended validity. Since subject alternative names can be removed during a renewal, we require that you provide the subject alternative names you expect in the renewed certificate. New names added to a certificate that do not share the base domain of the common name may take additional time to validate.
EXEC godaddy.certificates.certificates.certificate_renew
@certificate_id='{{ certificate_id }}' --required
@@json=
'{
"callbackUrl": "{{ callbackUrl }}",
"commonName": "{{ commonName }}",
"csr": "{{ csr }}",
"period": {{ period }},
"rootType": "{{ rootType }}",
"subjectAlternativeNames": "{{ subjectAlternativeNames }}"
}'
;
Use revoke call to revoke an active certificate, if the certificate has not been issued a 404 response will be returned.
EXEC godaddy.certificates.certificates.certificate_revoke
@certificate_id='{{ certificate_id }}' --required
@@json=
'{
"reason": "{{ reason }}"
}'
;
Domain control is a means for verifying the domain included in the certificate order. This resource is useful for resellers that control the domains for their customers, and can expedite the verification process. See https://www.godaddy.com/help/verifying-your-domain-ownership-for-ssl-certificate-requests-html-or-dns-7452
EXEC godaddy.certificates.certificates.certificate_verifydomaincontrol
@certificate_id='{{ certificate_id }}' --required
;