Introduction
Networking4all offers its partners a REST (Representational State Transfer) API (Application Programming Interface) for real-time management of relations, products and Certificates.
This documentation contains all the necessary information to integrate the services of Networking4all into the partner's website.
Environments
The Networking4all API has two different environments that can be reached via different base URLs. The development environment can be used to test and implement the API in your system. When everything is set up correctly, you can switch to our production environment.
Development URL
To access our development environment use the following base URL: https://test-rest.networking4all.com
Production URL
To access our production environment use the following base URL: https://rest.networking4all.com
Authentication
To authorize, use this code:
# With shell, pass the x-api-key header with each request
curl -X <method> "https://test-rest.networking4all.com/api/<api_endpoint_here>"
-H "x-api-key: <apikey>"
<?php
# With php, pass the x-api-key header with each request
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/<api_endpoint_here>');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
?>
Networking4all uses API keys to allow access to the REST API. You will need a different key for each environment which you can request via our portal.
The REST API expects for the API key to be included in all API requests to the server in a header that looks like the following:
x-api-key: <apikey>
Development key
Production key
Workflow - Order Certificate
1. Setup
In the setup section we'll retreive all the neccesary data to order an Certificate. If you're already in possession of the data that we retreive in one of the steps, please proceed to the next step.
1.1 Get Product Code 1.2 Check CSR 1.3 Get Approver Email 1.4 Get Handle(s) 1.5 Get Tracenumber
1.1 Get Product Code
1.1.1 Get Products
Use the Get Products function and use the parameters below to filter.
1.1.1.1 brand
If you want to filter on ssl brands, choose between:
- “GeoTrust”
- “Networking4all”
- “thawte”
- “Symantec”
- “GlobalSign”
- “AlphaSSL”
- “RapidSSL”
- “IntermediateCertificate”
- “digicert”
1.1.1.2 ssl_type
If you want to filter on ssl validation types, choose between:
- Domain validation use: “DV”.
- Organization validation use: “OV”.
- Extended validation use: “EV”.
- Signing Certificate use: “CLIENT”.
What is the difference between: Domain validation, Organization validation and Extended validation?
1.1.2 Response
1.1.2.1 response
Look for the right product and get the product_code.
1.2 Check CSR
1.2.1 Check CSR
Use the Check CSR function and use the parameters below. If you need extra information about generating a CSR please check our helpdesk.
1.2.1.1 csr
Use the CSR token which you generated.
1.2.2 Response
1.2.2.1 response
If the response message is: “Command completed successfully” the CSR is valid.
1.3 Get Approver Email
In case you don't use email as approver method, skip this step and proceed to step "1.4 Get Handles".
1.3.1 Get Approver Email
Use the Get Approver List function and use the parameters below to filter.
1.3.1.1 product_code
Use the product code which was retrieved in the setup at step "1.1 Get Product Code".
1.3.1.2 domain
Fill in the domain for the Certificate. (e.g. “domain.com”)
1.3.2 Response
1.3.2.1 response
Check the given email addresses and choose one.
1.4 Get Handles
1.4.1 Handles for own order
If you're ordering for a customer/client, skip this step and proceed to step "1.4.2 Handles for customer/client order"
1.4.1.1 company_handle
Use your company handle.
1.4.1.2 admin_handle / tech_handle
Use the Get Relation Contacts function and pick the handles of the contacts that you want to use.
1.4.2 Handles for customer/client order
1.4.2.1 company_handle
Use the Get Relation Clients function and pick the handle of the company you want to use.
1.4.2.2 admin_handle / tech_handle
Use the Get Relation Contacts function and pick the handles of the contacts that you want to use.
1.4.3 Import handles
We recommend to import all results from Get Relation Clients and Get Relation Contacts into your database.
1.5 Get trace_number
If you're ordering a new Certificate, skip this step and proceed to step "2. Order"
1.5.1 Get trace_number
Use the Get Certificate List function and pick the trace_number of the Certificate you want to renew.
1.5.3 Import trace numbers
We recommend to import all results from Get Certificate List into your database.
2. Order
2.1 Order Certificate
Use the Order Certificate function and use the parameters below to filter.
2.1.1 company_handle / admin_handle / tech_handle
Use the handles which were retrieved in the setup at step "Get Handles".
2.1.2 kind
- In case of new certificate: leave blank and proceed to step 2.1.3.
- In case of certificate renewal: use “renewal” and proceed to step 2.1.2.1.
2.1.2.1 trace_number
Use the tracenumber of the certificate you want to renew
2.1.3 product_code
Use the product code which was retrieved in the setup at step "Get Product Code".
2.1.4 period
From September 2020 the period for Certificates can only be 1 year (more info). A period of 3 years is only valid for signing. Fill in the amount of years you want your certificate to be valid, choose between: 1, 2, 3.
2.1.5 csr
Use the CSR which was checked in the setup at step "1.1.2 Get and check CSR".
2.1.6 approver_method
- In case of method via email use: “EMAIL” and proceed to step "2.1.6.1 approver_email".
- In case of method via file use: “FILE” and proceed to step "2.1.7 san".
- In case of method via email use: “DNS” and proceed to step "2.1.7 san".
2.1.6.1 approver_email
Use the email addresses which was retrieved in the setup at step "1.1.3 Get Approver Email".
2.1.7 san
In case you want to add SAN name’s use the following format: “san.domain.com”.
2.1.7.1 common_name
The common name is required if you want to add SAN name’s right away. Use the following format: “domain.com”.
2.1.8 reference
If you want to add a P.O. number, fill it in at reference.
3. Get Certificate
3.1 Approve Certificate
Skip this step if your Certificate is already approved. Proceed to step "3.2 Get Certificate".
3.1.1 Approver Method : EMAIL
Skip this step if your approver method is not EMAIL. Check the mailbox of email address which was used at step "2.1.6.1 approver_email".
3.1.2 Approver Method : FILE
Skip this step if your approver method is not FILE. 1. Use the Get DCV Token function and get the approverContent. 2. Follow these instructions.
3.1.3 Approver Method : DNS
Skip this step if your approver method is not DNS. 1. Use the Get DCV Token function and get the approverContent. 2. Log in to your DNS provider's site. 3. Create a new DNS TXT record: TXT field Paste your approverContent code Host field - Base Domain (e.g. "example.com") -> leave blank - DNS Auth (e.g. "_dnsauth.example.com") -> enter "_dnsauth".
3.2 Get Certificate
Use the Get Certificate function to get your Certificate.
Relations
POST Create Relation
Request
curl -X POST "https://test-rest.networking4all.com/api/relations"
-H "x-api-key: <apikey>"
-H "Content-Type: application/json"
-d '{
"type": "company",
"email": "example@networking4all.com",
"phone": "0612345678",
"company_name": "Example BV",
"street": "Dorpstraat 1",
"zipcode": "1111AA",
"city": "Amsterdam",
"province": "Noord-Holland",
"country_iso": "NL"
}'
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/relations');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
$data_array = [
"type" => 'company',
"email" => 'example@networking4all.com',
"phone" => '0612345678',
"company_name" => 'Example BV',
"street" => 'Dorpstraat 1',
"zipcode" => '1111AA',
"city" => 'Amsterdam',
"province" => 'Noord-Holland',
"country_iso" => 'NL'
];
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data_array));
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": {
"handle": "<handle>"
}
}
422
{
"message": "Command contains errors",
"data": {
"company_name": [
"The company name field is required."
]
}
}
This endpoint creates a relation
HTTP Request
POST https://test-rest.networking4all.com/api/relations
General Request Parameters
Parameter | Required | Default | Description | Type | Options |
---|---|---|---|---|---|
type | required | none | Type of relation | String | - company - contact |
required | none | E-mail of relation | String | ||
phone | required | none | Phone number of relation | String | |
street | required | none | Street + Number | String | |
zipcode | required | none | Zipcode/Postal code | String | |
city | required | none | City | String | |
province | required | none | Province/State | String | |
country_iso | required | none | ISO Country Code | String | |
website | optional | none | Website address | String | |
iban | optional | none | IBAN number | String | |
bic | optional | none | BIC code | String |
Additional Parameters For Type: company
Parameter | Required | Default | Description | Type | Options |
---|---|---|---|---|---|
company_name | required | none | Company name | String | |
coc_number | optional | none | Chamber of Commerce number | String | |
vat_number | optional | none | VAT number | String |
Additional Parameters For Type: contact
Parameter | Required | Default | Description | Type | Options |
---|---|---|---|---|---|
handle | optional | none | Handle of company to add contact to | String | |
first_name | required | none | First name of contact | String | |
middle_name | optional | none | Middle name / insertion | String | |
last_name | required | none | Last name of contact | String |
PUT Update Relation
Request
curl -X PUT "https://test-rest.networking4all.com/api/relations/{handle}"
-H "x-api-key: <apikey>"
-H "Content-Type: application/json"
-d '{
"company_name": "New Name BV",
"zipcode": "1234AB",
}'
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/relations/{handle}');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
$data_array = [
"company_name" => 'New Name BV',
"zipcode" => '1234AB'
];
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data_array));
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": {
"handle": "<handle>"
}
}
422
{
"message": "Command contains errors",
"data": {
"zipcode": [
"The zipcode must be at least 2 characters."
]
}
}
This endpoint updates a relation
HTTP Request
PUT https://test-rest.networking4all.com/api/relations/{handle}
General Request Parameters
Parameter | Required | Default | Description | Type | Options |
---|---|---|---|---|---|
optional | none | E-mail of relation | String | ||
phone | optional | none | Phone number of relation | String | |
street | optional | none | Street + Number | String | |
zipcode | optional | none | Zipcode/Postal code | String | |
city | optional | none | City | String | |
province | optional | none | Province/State | String | |
country_iso | optional | none | ISO Country Code | String | |
website | optional | none | Website address | String | |
iban | optional | none | IBAN number | String | |
bic | optional | none | BIC code | String |
Extra Parameters For Type: company
Parameter | Required | Default | Description | Type | Options |
---|---|---|---|---|---|
company_name | optional | none | Company name | String | |
coc_number | optional | none | Chamber of Commerce number | String | |
vat_number | optional | none | VAT number | String |
Extra Parameters For Type: contact
Parameter | Required | Default | Description | Type | Options |
---|---|---|---|---|---|
first_name | optional | none | First name of contact | String | |
middle_name | optional | none | Middle name or insertion | String | |
last_name | optional | none | Last name of contact | String |
DEL Delete Relation
Request
curl -X DELETE "https://test-rest.networking4all.com/api/relations/{handle}"
-H "x-api-key: <apikey>"
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/relations/{handle}');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": {
"handle": "<handle>"
}
}
405
{
"message": ""
}
This endpoint deletes a relation
HTTP Request
DELETE https://test-rest.networking4all.com/api/relations/{handle}
GET Get Relation
Request
curl -X GET "https://test-rest.networking4all.com/api/relations/{handle}"
-H "x-api-key: <apikey>"
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/relations/{handle}');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": {
"handle": "<handle>",
"type": "company",
"company": {
"name": "Example BV"
},
"client_number": null,
"vat": "NL000000000B01",
"reseller_handle": "<handle>",
"address": [
{
"street": "Dorpstraat 1",
"postal_code": "1111AA",
"city": "Amsterdam",
"province": "Noord-Holland",
"country_code": "NL"
}
],
"phone_number": "0612345678",
"email": "example@networking4all.com",
"website": null,
}
}
422
{
"message": "Command contains errors",
"data": {
"handle": [
"The handle is invalid."
]
}
}
This endpoint gets a relation
HTTP Request
GET https://test-rest.networking4all.com/api/relations/{handle}
GET Get Relation Contacts
Request
curl -X GET "https://test-rest.networking4all.com/api/relations/{handle}/contacts"
-H "x-api-key: <apikey>"
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/relations/{handle}/contacts');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": [
{
"handle": "<handle>",
"type": "contact",
"contact": {
"title": "",
"initials": "",
"first_name": "John",
"last_name": "Doe"
},
"company_handle": "<handle>",
"reseller_handle": "<handle>",
"address": [
{
"street": "Dorpstraat 1",
"postal_code": "1234AB",
"city": "Amsterdam",
"province": "Noord-Holland",
"country_code": "NL"
}
],
"phone_number": "0612345678",
"email": "example@networking4all.com",
"website": null,
}
]
}
422
{
"message": "Command contains errors",
"data": {
"handle": [
"The given handle is not a company handle."
]
}
}
This endpoint gets all contacts that belong to a company and can be used as admin/tech handles.
HTTP Request
GET https://test-rest.networking4all.com/api/relations/{handle}/contacts
GET Get Relation Clients
Request
curl -X GET "https://test-rest.networking4all.com/api/relations/clients"
-H "x-api-key: <apikey>"
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/relations/clients');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": [
{
"handle": "<handle>",
"type": "company",
"company": {
"name": "New Name BV"
},
"client_number": 79460,
"vat": "NL000000000B01",
"address": [
{
"street": "Dorpstraat 1",
"postal_code": "1234AB",
"city": "Amsterdam",
"province": "Noord-Holland",
"country_code": "NL"
}
],
"phone_number": "0612345678",
"email": "example@networking4all.com",
"website": "",
}
]
}
If you're a reseller, this endpoint gets all your clients
HTTP Request
GET https://test-rest.networking4all.com/api/relations/clients
Products
GET Get Product
Request
curl -X GET "https://test-rest.networking4all.com/api/products/{product_code}"
-H "x-api-key: <apikey>"
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/products/{product_code}');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": {
"product_code": "2006",
"name": "Networking4all Basic SSL DV",
"period": "12,24",
"description": {
"short": "SSL Certificate"
},
"details": {
"webserver": 0,
"dv": 1,
"ov": 0,
"ev": 0,
"san": 0,
"wildcard": 0,
"intranet": 0,
"mobile": 1,
"competitive_upgrade": 0,
"mail_validation": 1
},
"vat": 21,
"fees": {
"setup": 0,
"fee": [
{
"period": "12",
"retail": 30,
"actual": 1,
"type": "new",
"currency": "EUR"
},
{
"period": "24",
"retail": 57,
"actual": 1,
"type": "new",
"currency": "EUR"
}
]
}
}
}
422
{
"message": "Command contains errors",
"data": {
"product_code": [
"The selected product code is invalid."
]
}
}
This endpoint gets a single product
HTTP Request
GET https://test-rest.networking4all.com/api/products/{product_code}
GET Get Products
Request
curl -X GET "https://test-rest.networking4all.com/api/products"
-H "x-api-key: <apikey>"
-H "Content-Type: application/json"
-d '{
"brand": "IntermediateCertificate",
"ssl_type": "DV"
}'
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/products?brand=Networking4all&ssl_type=DV');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": {
"products": [
{
"name": "Trust Provider DomainSSL",
"code": "1947",
"brand": "IntermediateCertificate"
},
{
"name": "Trust Provider DomainSSL Wildcard",
"code": "1951",
"brand": "IntermediateCertificate"
}
]
}
}
422
{
"message": "Command contains errors",
"data": {
"brand": [
"The selected brand is invalid."
]
}
}
This endpoint gets a list of multiple products
HTTP Request
GET https://test-rest.networking4all.com/api/products
Request Parameters
Parameter | Required | Default | Description | Type | Options |
---|---|---|---|---|---|
brand | optional | none | Product brand | String | - Networking4all - GeoTrust - thawte - Symantec - GlobalSign - AlphaSSL - RapidSSL - IntermediateCertificate - Certum - digicert |
ssl_type | optional | none | SSL type | String | - DV - OV - EV |
Certificates
POST Check CSR
Request
curl -X POST "https://test-rest.networking4all.com/api/utilities/check-csr/"
-H "x-api-key: <apikey>"
-H "Content-Type: application/json"
-d '{
"csr": "<csr>"
}'
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/utilities/check-csr/');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
$data_array = [
"csr" => '<csr>',
];
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data_array));
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": {
"cn": "example.com",
"organisation": "Example BV",
"organizationunit": null,
"city": "Amsterdam",
"province": "Noord-Holland",
"country": "NL",
"email": "admin@example.com",
"keylength": 2048,
"csr": "<csr>"
}
}
422
{
"message": "Command contains errors",
"data": {
"csr": [
"The CSR is invalid.",
"Invalid country code"
]
}
}
This function decodes the CSR and returns errors for incorrect fields.
HTTP Request
POST https://test-rest.networking4all.com/api/utilities/check-csr/
Request Parameters
Parameter | Required | Default | Description | Type | Options |
---|---|---|---|---|---|
csr | required | none | Full CSR | String |
GET Get Approver List
Request
curl -X GET "https://test-rest.networking4all.com/api/certificates/approvers"
-H "x-api-key: <apikey>"
-H "Content-Type: application/json"
-d '{
"product_code": "<product_code>",
"domain": "<domain>"
}'
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/certificates/approvers?product_code=2800&domain=domain.com');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": {
"approvers": [
"admin@example.com",
"administrator@example.com",
"webmaster@example.com",
"hostmaster@example.com",
"postmaster@example.com"
]
}
}
422
{
"message": "Command contains errors",
"data": {
"product_code": [
"The selected product code is invalid."
]
}
}
This function requests a list of the approver e-mail addresses required for ordering Domain Validated (DV) SSL certificates.
HTTP Request
GET https://test-rest.networking4all.com/api/certificates/approvers
Request Parameters
Parameter | Required | Default | Description | Type | Options |
---|---|---|---|---|---|
product_code | required | none | Product code | String | |
domain | required | none | Common name of domain | String |
POST Order Certificate
Request
curl -X POST "https://test-rest.networking4all.com/api/certificates/order/"
-H "x-api-key: <apikey>"
-H "Content-Type: application/json"
-d '{
"company_handle": "<handle>",
"admin_handle": "<handle>",
"tech_handle": "<handle>",
"product_code": "<product_code>",
"period": "1",
"common_name" => "domain.com",
"csr": "<csr>"
"approver_email": "admin@example.com",
"san": [
"aaaa.domain.com",
"bbbb.domain.com"
]
}'
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/certificates/order/');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
$data_array = [
"company_handle" => '<handle>',
"admin_handle" => '<handle>',
"tech_handle" => '<handle>',
"product_code" => '<product_code>',
"period" => '1',
"common_name" => 'domain.com',
"csr" => '<csr>',
"approver_email" => 'admin@example.com',
"san" => ['aaaa.domain.com', 'bbbb.domain.com']
];
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data_array));
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": {
"order_number": "01234567890",
"trace_number": "98765432109"
}
}
422
{
"message": "Command contains errors",
"data": {
"product_code": [
"The selected product code is invalid."
],
"csr": [
"The CSR is invalid.",
"Please note: we don't accept a CSR of which the CountryCode (nl) contains lowercase characters."
]
}
}
This function allows you to order a certificate.
HTTP Request
POST https://test-rest.networking4all.com/api/certificates/order/
Request Parameters
From September 2020 the period for SSL Certificates can only be 1 year (more info). A period of 3 years is only valid for signing.
Parameter | Required | Default | Description | Type | Options |
---|---|---|---|---|---|
company_handle | required | none | Handle of company | String | |
admin_handle | required | none | Handle of admin contact | String | |
tech_handle | required | none | Handle of tech contact | String | |
kind | optional | new | Kind of order | String | - new - renewal |
trace_number | required with: renewal | none | Trace number for renewal | String | |
product_code | required | none | Product code | String | |
period | required | none | Period in years | String | - 1 - 2 - 3 |
csr | required | none | Full CSR | String | |
approver_method | optional | Method to approve | String | - FILE - EMAIL - DNS | |
approver_email | optional | none | Email of approver | String | |
common_name | required | none | The common (domain) name | String | |
san | optional | none | Specify ALL SAN names | Array | |
reference | optional | none | P.O. number | String |
PATCH Change DCV Method
Request
curl -X PATCH "https://test-rest.networking4all.com/api/certificates/{trace_number}/approver/update"
-H "x-api-key: <apikey>"
-H "Content-Type: application/json"
-d '{
"approver_method": "DNS",
"approver_email": "admin@example.com",
}'
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/certificates/{trace_number}/approver/update');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
$data_array = [
"approver_method" => 'DNS',
"approver_email" => 'admin@example.com'
];
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data_array));
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": {
"trace_number": "15613780220"
}
}
422
{
"message": "Command contains errors",
"data": {
"approver_email": [
"The approver email must be a valid email address."
]
}
}
This function allows you to change the DCV approver method.
HTTP Request
PATCH https://test-rest.networking4all.com/api/certificates/{trace_number}/approver/update
Request Parameters
Parameter | Required | Default | Description | Type | Options |
---|---|---|---|---|---|
approver_method | optional | Method to approve | String | - EMAIL - DNS - FILE | |
approver_email | required | none | Email of approver | String |
GET Resend Approver Email
Request
curl -X GET "https://test-rest.networking4all.com/api/certificates/{trace_number}/approver/resend"
-H "x-api-key: <apikey>"
-H "Content-Type: application/json"
-d '{
"email": "admin@example.com"
}'
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/certificates/{trace_number}/approver/resend?email=admin@example.com');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": {
"trace_number": "15928982871",
"order_number": "01592898287"
}
}
422
{
"message": "Command contains errors",
"data": {
"email": [
"The e-mail address must be a valid email address."
]
}
}
This function allows you to resend or change the approver email. Changing the approver e-mail address can only be used for products that use e-mail validation. When this functionality is not available for a product, the specified approver e-mail address is ignored.
HTTP Request
GET https://test-rest.networking4all.com/api/certificates/{trace_number}/approver/resend
Request Parameters
Parameter | Required | Default | Description | Type | Options |
---|---|---|---|---|---|
optional | none | E-mail address | String |
GET Get DCV Token
Request
curl -X GET "https://test-rest.networking4all.com/api/certificates/{trace_number}/dcv-token"
-H "x-api-key: <apikey>"
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/certificates/{trace_number}/dcv-token');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": {
"approver_content": "<approver_content>"
}
}
422
{
"message": "Command contains errors",
"data": {
"trace_number": [
"The selected trace number is invalid."
]
}
}
This endpoint gets your DCV Token
HTTP Request
GET https://test-rest.networking4all.com/api/certificates/{trace_number}/dcv-token
GET Get Certificate
Request
curl -X GET "https://test-rest.networking4all.com/api/certificates/{trace_number}"
-H "x-api-key: <apikey>"
-H "Content-Type: application/json"
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/certificates/{trace_number}');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": [
{
"common_name": "example.com",
"owner_id": "<handle>",
"admin_id": "<handle>",
"tech_id": "<handle>",
"price_ex": "224.00",
"vat": 47.04,
"start_date": "2020-06-01",
"end_date": "2021-06-01",
"period": 12,
"order_date": "2020-06-01",
"trace_number": "01234567890",
"order_number": "98765432109",
"product_code": "2800",
"name": "Networking4all Basic SSL DV SAN",
"status": "Finished",
"status_code": 2800,
"certificates": {
"end_entity": {
"id": 203708,
"certificate": "-----BEGIN CERTIFICATE-----\r\nMIIGUTCCBTmgAwIBAgIQB\/XzSSykD06GOkn7fgEGwjANBgkqhkiG9w0BAQsFADB2\r\nMQswCQYDVQQGEwJOTDEcMBoGA1UEChMTVHJ1c3QgUHJvdmlkZXIgQi5WLjEdMBsG\r\nA1UECxMURG9tYWluIFZhbGlkYXRlZCBTU0wxKjAoBgNVBAMTIVRydXN0IFByb3Zp\r\nZGVyIEIuVi4gVExTIFJTQSBDQSBHMTAeFw0xOTA2MjQwMDAwMDBaFw0yMDA2MjQx\r\nMjAwMDBaMCYxJDAiBgNVBAMTG3d3dy5kcm9wc2hpcHBpbmdjZW50cmFsZS5iZTCC\r\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ27U60FjVsg\/46cOkl9t4LZ\r\nDtS2zZBlIOIvsWRGstC\/bG5gpyBmm6RvSeAwpYagfyF8Ax3Favg4d4rC7\/Sf2wnj\r\nd+1T\/JD+iauANmTkKmdCmSpprmfbt7UQc1mPgKm\/6u1Qf\/L\/pASm1i4DQKc+7LwU\r\n1\/oLwie\/t0Yq\/SbBD+y66sowK8212wOeTU9TopLh\/vX+lYwkR9ZJb+QTzhUxYreQ\r\n0tG9EyZzkT\/fQrrBW5dXI93Zw33st8u2EmuVmYV9cby+TPPG8bHsP0RBTX9jwEb\/\r\nUrDAcAaY3cBdurjX59N6L4ZzgHUob\/6BqHoTVDau0K7c11qDFCSaUERJ9KTtAtkC\r\nAwEAAaOCAykwggMlMB8GA1UdIwQYMBaAFPVWIh\/Zv2tZJFKw4WrNwOFXZ+noMB0G\r\nA1UdDgQWBBTp6EfeVYTzcM\/BKqlkzabMdl\/IEjBfBgNVHREEWDBWght3d3cuZHJv\r\ncHNoaXBwaW5nY2VudHJhbGUuYmWCHG1haWwuZHJvcHNoaXBwaW5nY2VudHJhbGUu\r\nbmyCGSouZHJvcHNoaXBwaW5nY2VudHJhbGUuYmUwDgYDVR0PAQH\/BAQDAgWgMB0G\r\nA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBUBgNVHR8ETTBLMEmgR6BFhkNo\r\ndHRwOi8vY2RwZC5kaWdpdGFsY2VydHZhbGlkYXRpb24uY29tL1RydXN0UHJvdmlk\r\nZXJCVlRMU1JTQUNBRzEuY3JsMEwGA1UdIARFMEMwNwYJYIZIAYb9bAECMCowKAYI\r\nKwYBBQUHAgEWHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EMAQIB\r\nMIGaBggrBgEFBQcBAQSBjTCBijA0BggrBgEFBQcwAYYoaHR0cDovL3N0YXR1c2Qu\r\nZGlnaXRhbGNlcnR2YWxpZGF0aW9uLmNvbTBSBggrBgEFBQcwAoZGaHR0cDovL2Nh\r\nY2VydHMuZGlnaXRhbGNlcnR2YWxpZGF0aW9uLmNvbS9UcnVzdFByb3ZpZGVyQlZU\r\nTFNSU0FDQUcxLmNydDAJBgNVHRMEAjAAMIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDx\r\nAHcApLkJkLQYWBSHuxOizGdwCjw1mAT5G9+443fNDsgN3BAAAAFriWhQuQAABAMA\r\nSDBGAiEA3uUUcUWjZx5WuFDBC7cGydU6pG8lclK2vPASAuj7iAICIQDCBeFuNy0w\r\nU8GwnV7EAF0I6zLh0Zd1ceM\/\/u4nwPVEzAB2AId1v+dZfPiMQ5lfvfNu\/1aNR1Y2\r\n\/0q1YMG06v9eoIMPAAABa4loUQYAAAQDAEcwRQIgBdz8\/8DpRB86M6xjGvA78dq4\r\nvAm9+ag8AHSjVxVc3q0CIQDuKYq+AAKTZmqAcleGoncYMrK1WF+6mD2hW0LynN7R\r\nizANBgkqhkiG9w0BAQsFAAOCAQEAcNQgWqyzELjdWTUstKGM3FOa2hdMhIEUJHom\r\ntMXpc5OhTz8YsuBZqnbEUKB5IWD8lscSeieu7yK2\/VELxAUrlwxmBLUTwCAB5ZCF\r\n59u0BoMwbSlEiOQKAJj4RJdsUKRBO+2b8O97qCMfKi3QYHXMTPcNRjXxkHKKtrlp\r\nH5EeTYtqxbyVgO1FivjM0kCSgRY+ZbOuqYUqGS05CzT3Sw3+PtyZOsgS70C5oi5f\r\nP1oLomfj6ZfnZaNTvKoa+FZ3PnWxxRT8qbrusHqWig32f+VsFpjCsxF9JPSY5Yit\r\nj01rpejrOOAQ19o5lW23JYW4eK0lo501vyyM+da3FaDthX803w==\r\n-----END CERTIFICATE-----",
"type": "X509Cert",
"fingerprint": "04a818f4bf2f39ff940400f1eeb01bcdba87fc2c"
},
"ca": [
{
"type": "INTERMEDIATE",
"name": "TrustProviderBVTLSRSACAG1.cer",
"certificate": "-----BEGIN CERTIFICATE-----\nMIIEsjCCA5qgAwIBAgIQDsQR7fAC9zA2xOXULz408jANBgkqhkiG9w0BAQsFADBh\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\nMjAeFw0xNzExMDIxMjI1MTBaFw0yNzExMDIxMjI1MTBaMHYxCzAJBgNVBAYTAk5M\nMRwwGgYDVQQKExNUcnVzdCBQcm92aWRlciBCLlYuMR0wGwYDVQQLExREb21haW4g\nVmFsaWRhdGVkIFNTTDEqMCgGA1UEAxMhVHJ1c3QgUHJvdmlkZXIgQi5WLiBUTFMg\nUlNBIENBIEcxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0CujVHP9\nuKBwWwNGWNUnrpcfTvudmYEXX3zI6r+voOQPvupdT8iwyYdDWVtqOaGPeUF2kxiN\nzeK1bxTHvbWr1VkhHGAF20H4z8G\/SGFU9j7OaILnPCaUasoYphro6JUMnt2DqVJh\nQMeZDy1h+3fX5Qs5oxuVuwgcWciM21sKlpA335QzIh6Ir5EpJsulAha\/0MTZyopC\nvQgBMGkNQelNlFp\/58H0jt4RfRZ6Ad37PdNsZvnhyfflrhpJiZqnkJpVilguFda2\nHvR9fghsVtEi\/7aeTypJb5EwS4ZlVbCI1yiT5ES3nMFcOZm3NZkF+1rWOxpK1weJ\n7+9inSl6+QcchQIDAQABo4IBTzCCAUswHQYDVR0OBBYEFPVWIh\/Zv2tZJFKw4WrN\nwOFXZ+noMB8GA1UdIwQYMBaAFE4iVCAYlebjbuYP+vq5Eu0GF485MA4GA1UdDwEB\n\/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwEgYDVR0TAQH\/\nBAgwBgEB\/wIBADA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9v\nY3NwLmRpZ2ljZXJ0LmNvbTBCBgNVHR8EOzA5MDegNaAzhjFodHRwOi8vY3JsMy5k\naWdpY2VydC5jb20vRGlnaUNlcnRHbG9iYWxSb290RzIuY3JsMEwGA1UdIARFMEMw\nNwYJYIZIAYb9bAECMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0\nLmNvbS9DUFMwCAYGZ4EMAQIBMA0GCSqGSIb3DQEBCwUAA4IBAQCk3Aib9H7nhVT6\nwikbW6IKwSrj149fmNgw9HpF2oH7DjY5XL8Lt2gtImTan91fxVkmLM6pYzpGuAE\/\n4MWUFArR9fqGzNTo1D\/gl5k5wCbLFsw7vTDDM3qwiAvBSb+0hlIyW5rDRp2vRjl5\nkpuD9rD9exHOkhErpP4ztWgeRaCrY4oYG5urj6NuQlMtHn6eV8gR4d29mmKrjCLV\n\/XMCIMtu5INrVzOoo0P1sB\/Wwteg3HgQXTtI2177ANO+180PGAeG7gpIwjt\/mhl1\n8iyF7aYLP9rUBg+UEJ0s55VrTPKUDYyuAKXyODwgmtuYiZMDrQPcwGfRO1GDghIT\n3dI21ici\n-----END CERTIFICATE-----\n"
}
]
},
"san_names": [
"mail.example.com",
"*.example.com"
],
"renewal_of": "12345678910"
}
]
}
422
{
"message": "Command contains errors",
"data": {
"trace_number": [
"The selected trace number is invalid."
]
}
}
This function allows you to check the status of your order. If the order has status "Finished" (status code 2800), you can retrieve the certificate.
HTTP Request
GET https://test-rest.networking4all.com/api/certificates/{trace_number}
GET Get Certificate List
Request
curl -X GET "https://test-rest.networking4all.com/api/certificates"
-H "x-api-key: <apikey>"
-H "Content-Type: application/json"
-d '{
"from_date": "2020-06-01",
"status": "cancelled",
"handle": "<handle>"
}'
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/certificates?from_date=2020-06-01&status=cancelled&handle=<handle>');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": [
{
"common_name": "example.com",
"owner_id": "<handle>",
"admin_id": "<handle>",
"tech_id": "<handle>",
"price_ex": "9.70",
"vat": 2.04,
"start_date": "2020-06-01",
"end_date": "2021-06-01",
"period": 12,
"order_date": "2020-06-01",
"trace_number": "01234567890",
"order_number": "98765432109",
"product_code": "1910",
"name": "RapidSSL",
"status": "Cancelled",
"status_code": 2950
},
{
"common_name": "example.com",
"owner_id": "<handle>",
"admin_id": "<handle>",
"tech_id": "<handle>",
"price_ex": "9.70",
"vat": 2.04,
"start_date": "2020-06-01",
"end_date": "2021-06-01",
"period": 12,
"order_date": "2020-06-01",
"trace_number": "01234567890",
"order_number": "98765432109",
"product_code": "1910",
"name": "RapidSSL",
"status": "Cancelled",
"status_code": 2950,
"renewal_of": "12345678910"
}
]
}
422
{
"message": "Command contains errors",
"data": {
"status": [
"The selected status should be one of requested, issued, pending_reissue, pending_san_change, expired, renewable, cancelled, error_while_ordering"
]
}
}
This function allows you to check the status of one or multiple SSL certificate(s). If the order is Finished (status code 4800), you can retrieve the certificate via Get Certificate.
HTTP Request
GET https://test-rest.networking4all.com/api/certificates
Request Parameters
Parameter | Required | Default | Description | Type | Options |
---|---|---|---|---|---|
product_type | optional | web | Certificate type | String | - web - signing |
from_range | optional | none | From item number | Integer | |
items | optional | 100 | Number of items, max:100 | Integer | |
from_date | optional | none | From order date | Date (Y-m-d) | |
to_date | optional | none | To order date | Date (Y-m-d) | |
from_exp_date | optional | none | From expiry date | Date (Y-m-d) | |
to_exp_date | optional | none | To expiry date | Date (Y-m-d) | |
status | optional | none | Status | String | - requested - issued - pending_reissue - pending_san_change - expired - renewable - cancelled - error_while_ordering |
sort_by_date | optional | desc | Sort from new to old order date | String | - desc - asc |
handle | optional | none | Handle to filter | String |
PATCH Reissue Certificate
Request
curl -X PATCH "https://test-rest.networking4all.com/api/certificates/{trace_number}/reissue"
-H "x-api-key: <apikey>"
-H "Content-Type: application/json"
-d '{
"csr": "<csr>",
"approver_email": "admin@example.com",
}'
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/certificates/{trace_number}/reissue');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
$data_array = [
"csr" => '<csr>',
"approver_email" => 'admin@example.com'
];
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data_array));
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": {
"trace_number": "15613780220",
"order_number": "01561378022"
}
}
422
{
"message": "Command contains errors",
"data": {
"trace_number": [
"The selected trace number is invalid."
]
}
}
This function allows you to reissue a Certificate.
HTTP Request
PATCH https://test-rest.networking4all.com/api/certificates/{trace_number}/reissue
Request Parameters
Parameter | Required | Default | Description | Type | Options |
---|---|---|---|---|---|
csr | required | none | Full CSR | String | |
approver_email | required | none | Email of approver | String | |
approver_method | optional | Method to approve | String | - EMAIL - DNS - FILE |
PATCH Refresh Certificate
Request
curl -X PATCH "https://test-rest.networking4all.com/api/certificates/{trace_number}/refresh"
-H "x-api-key: <apikey>"
-H "Content-Type: application/json"
-d '{
"csr": "<csr>",
"approver_email": "admin@example.com",
}'
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/certificates/{trace_number}/refresh');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
$data_array = [
"csr" => '<csr>',
"approver_email" => 'admin@example.com'
];
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data_array));
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": {
"trace_number": "15613780220",
"order_number": "01561378022"
}
}
422
{
"message": "Command contains errors",
"data": {
"trace_number": [
"The selected trace number is invalid."
]
}
}
This function allows you to refresh a Certificate.
HTTP Request
PATCH https://test-rest.networking4all.com/api/certificates/{trace_number}/refresh
Request Parameters
Parameter | Required | Default | Description | Type | Options |
---|---|---|---|---|---|
csr | required | none | Full CSR | String | |
approver_email | required | none | Email of approver | String | |
approver_method | optional | Method to approve | String | - EMAIL - DNS - FILE |
PATCH Change SAN
Request
curl -X PATCH "https://test-rest.networking4all.com/api/certificates/{trace_number}/san"
-H "x-api-key: <apikey>"
-H "Content-Type: application/json"
-d '{
"san": [
"aaaa.domain.com",
"bbbb.domain.com"
]
}'
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://test-rest.networking4all.com/api/certificates/{trace_number}/san');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'x-api-key: <apikey>',
'Content-Type: application/json',
]);
$data_array = [
"san" => ['aaaa.domain.com', 'bbbb.domain.com']
];
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data_array));
//Set to 'true' to store result in $response
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($curl);
?>
Response
200
{
"message": "Command completed succesfully",
"data": {
"trace_number": "01234567890"
}
}
422
{
"message": "Command contains errors",
"data": {
"san": [
"One or more SAN name's are invalid.",
"You can not have duplicate SAN names."
]
}
}
This function allows you to add SAN names to your SSL Certificate.
HTTP Request
PATCH https://test-rest.networking4all.com/api/certificates/{trace_number}/san
Request Parameters
Parameter | Required | Default | Description | Type | Options |
---|---|---|---|---|---|
san | optional | none | Specify ALL the SAN names to get/keep | Array | |
approver_method | optional | Method to approve | String | - FILE - EMAIL - DNS | |
approver_email | optional | none | Email of approver | String |
Statuscodes
The Networking4all REST API uses the following statuscodes:
Statuscode | Meaning |
---|---|
1000 | Order created |
1001 | Deposit created |
1100 | Quote requested |
1200 | Quote approved |
1300 | Action required |
1400 | Being processed |
1450 | Partially finished |
1500 | Finished |
1501 | Deposit finished |
1900 | Quote cancelled |
1950 | Order cancelled |
2000 | Created |
2100 | Action required |
2200 | Being processed |
2201 | Resend approver mail |
2202 | Change approvers requested |
2250 | Direct order |
2300 | Validation process started |
2400 | Pre vetting error |
2600 | Supplier error |
2800 | Finished |
2950 | Cancelled |
3000 | Waiting for payment |
3010 | Direct debit requested |
3020 | Direct debit approved |
3100 | Paid |
3200 | Waiting for payment |
3300 | At bailiff |
3400 | Account closed |
4000 | Product created |
4100 | Action required |
4200 | Ready for processing |
4300 | Waiting for supplier |
4400 | Vetting error |
4600 | Supplier error |
4800 | Active |
4801 | Almost expired |
4802 | Expired |
4803 | SAN change requested |
4805 | Reissue requested |
4806 | Reissue pending |
4807 | Renewal requested |
4950 | Cancelled |
4951 | Revoke requested |
4952 | Revoked |
4960 | External certificate |
Errors
The Networking4all REST API uses the following error codes:
Error Code | Meaning |
---|---|
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
405 | Method Not Allowed |
422 | Wrong Value Given |
429 | Too Many Requests |
500 | Internal Server Error |
503 | Service Unavailable |
Changelog
Version 0.9.3
July 20, 2021 - Refresh function and "auto" refresh for renewals
The endpoint "Refresh Certificate" is now available, in addition to that there are minor changes in the "Order Certificate" endpoint of the Networking4all REST API.
Changelog entries are categorized in the following way:
New Features — New endpoints that are added to the REST API. Changes — Changes to existing endpoints, requests or response parameters. Deprecations — Existing endpoints, requests or response parameters that are being removed.
New Features
- The Refresh Certificate endpoint is now available on the Networking4All REST API, this endpoint allows you to refresh certificates which have active subscriptions.
Changes
- In case of renewal the endpoint Order Certificate now first checks if the certificate still has an active subscription and can be refreshed. If so, the Refresh Certificate endpoint will be used. Note: if the Refresh Certificate endpoint is called, the endpoint returns the parameters of the ORIGINAL certificate (trace_number, order_number). Please be aware of foreign key constraints.
Deprecations
No Deprecations
Version 0.9.2
March 22, 2021 - "Renewal of" tracenumber in responses
New return parameters for endpoints "Get Certificate" and "Get Certificate List" of the Networking4all REST API.
Changelog entries are categorized in the following way:
New Features — New endpoints that are added to the REST API. Changes — Changes to existing endpoints, requests or response parameters. Deprecations — Existing endpoints, requests or response parameters that are being removed.
New Features
- In case of renewal the endpoints Get Certificate and Get Certificate List now also return the tracenumber of the certificate that was renewed as "renewal_of" parameter.
Changes
No Changes
Deprecations
No Deprecations
Version 0.9.1
August 21, 2020 - New endpoint and minor modification in responses
The endpoint "Change DCV method" is now available, there are minor changes in the Get Products, Get Relation Contacts, Check CSR and Change SAN endpoints of the Networking4all REST API.
Changelog entries are categorized in the following way:
New Features — New endpoints that are added to the REST API. Changes — Changes to existing endpoints, requests or response parameters. Deprecations — Existing endpoints, requests or response parameters that are being removed.
New Features
- The Change DCV Method endpoint is now available on the Networking4All REST API, this endpoint allows you to change the DCV approver method for validating your domain.
Changes
- The Get Products response no longer returns the "product" array within the "products" object. The "product" array has been removed, instead the returned products are now listed inside the array "products".
- The Get Relation Contacts response no longer returns the "item" array within the "data" object. The "item" array has been removed, instead the returned contacts are now listed inside the array "data".
- The Check CSR endpoint is now a POST method instead of a GET method.
- The Change SAN endpoint has now parameters to choose an approver method or approver email.
Deprecations
No Deprecations
Version 0.9
July 24, 2020 - BETA Version released
The Networking4all REST API BETA is now live, we might update the endpoint requests and responses.
Changelog entries are categorized in the following way:
New Features — New endpoints that are added to the REST API. Changes — Changes to existing endpoints, requests or response parameters. Deprecations — Existing endpoints, requests or response parameters that are being removed.
New Features
No New Features
Changes
No Changes
Deprecations
No Deprecations