Overview
The Quickstart operation sets up and deploys your application or service to the Akamai edge network.
A single POST call creates the foundational components of your delivery architecture, including a workspace, production environment, service hostnames, and edge hostnames. The operation runs these as a batch job, so it responds right away with a status URL you poll for the results.
Once the API creates the service hostname set version, you'll need to manually validate domain control with the Akamai platform and the Certificate Authority (CA). The quickest and recommended method is the CNAME record you copy to your DNS, as it validates domain ownership and certificates together, and automatically handles certificate renewal.
Your components then activate on the Akamai edge network, preparing your system for the final DNS traffic redirection.
Before you begin
Collect prerequisite data you'll set in your request body:
contractId. Use the Contract API to get this information.defaultGroupIdproductId. The product your contract entitles you to, which determines the default rule settings that optimize edge delivery. Use the List products operation to get this information.workspaceName. A name for your workspace that unifies all resources for your application or service.environmentName. A name for the environment that hosts your production configuration.serviceHostnames. The fully qualified domain names (FQDN) for your application or site for content delivery.hostnameSetName. A name for the set that groups your service hostnames and their shared settings. Optional, defaults tomain.originHostname. The domain name of the backend server that hosts the authoritative version of your application or service.
Set up EdgeGrid authentication for your calls.
- See Akamai developer documentation for information on obtaining your credentials.
- See Postman documentation for detailed authentication instructions.
You don't need an edge hostnameThe operation generates one for each of your service hostnames. See Applied defaults.
Create your delivery architecture
POST your prerequisite data to /workspace-onboarding. Only workspaceName, contractId, productId, defaultGroupId, and environmentName are required. Include serviceHostnames to have the service hostname set and the edge hostnames created in the same call, and originHostname to point your new environment version at your backend.
{
"workspaceName": "onboarding-example-workspace",
"contractId": "C-0N7RAC7",
"productId": "Fresca",
"defaultGroupId": "12345",
"environmentName": "production",
"serviceHostnames": [
"www.onboarding-example.com",
"store.onboarding-example.com"
],
"hostnameSetName": "production-hosts",
"originHostname": "origin.onboarding-example.com"
}The operation responds 202 with a statusId and a Location header, before any of your components exist:
{
"statusId": "1234",
"batchStatus": "PENDING",
"startTime": "2026-07-07T03:02:00Z",
"statusDetails": {
"commands": [
{ "commandName": "new-workspace", "commandStatus": "PROCESSING" },
{ "commandName": "new-environment", "commandStatus": "PENDING" },
{ "commandName": "new-environment-version", "commandStatus": "PENDING" }
]
}
}What the operation creates
| Command | Creates |
|---|---|
new-workspace | The workspace, on your contract, product, and default group. |
new-environment | The environment, with the PRODUCTION use case profile. |
new-environment-version | Version 1, with your product's default rule settings and an origin named main set to your originHostname. |
new-hostname-set | The service hostname set. |
generate-edge-hostname-<n> | One edge hostname per service hostname you listed. |
new-hostname-set-version | Version 1 of the set, routed to your new environment, with the certificate and domain validation statuses included. |
The hostname commands only run when you provide serviceHostnames. Without them, you get the workspace, environment, and environment version, and you can add hostnames later.
Applied defaults
To help you get started, the operation applies recommended baseline values. If you need different ones, build your own sequence with the Batch operations endpoint and refer to the individual API operations for details on other supported values.
- Default rule settings. Applies the default settings for your
productId, which optimizes edge delivery. - Shared service hostname settings. Sets
secureNetworktoSTANDARD_TLSandcertProvisioningTypetoDEFAULT. For details, see Create a service hostname version. - Automated edge hostname generation. Generates a unique edge hostname for each service hostname in the set, using the
PER_HOSTNAMEpattern withIPV6_IPV4_DUALSTACKIP version behavior. An edge hostname is a DNS-based CNAME target that directs end-user traffic to the optimal edge server rather than your origin. It consists of a prefix, here your service hostname, and an Akamai-specific suffix related to a security level for client-to-edge traffic. Since the operation applies Standard TLS, the suffix is.edgesuite.net, forming a CNAME likewww.example.com.edgesuite.net. This provides granular domain isolation and traffic control without duplicating shared infrastructure settings. For details, see Create a service hostname version
Check the status
GET the URL from the Location header, or call Get a batch of operations with your statusId. Wait the number of seconds in the Retry-After header between polls.
The top-level batchStatus moves from PENDING to PROCESSING to COMPLETE. Each entry in statusDetails.commands reports its own commandStatus and, once it finishes, its result:
{
"statusId": "1234",
"batchStatus": "PROCESSING",
"startTime": "2026-07-07T03:02:00Z",
"estimatedEndTime": "2026-07-07T03:05:00Z",
"statusDetails": {
"commands": [
{
"commandName": "new-workspace",
"commandStatus": "COMPLETE",
"result": {
"workspaceName": "onboarding-example-workspace",
"contractId": "C-0N7RAC7",
"defaultGroupId": "12345",
"productId": "Fresca"
}
},
{
"commandName": "new-environment",
"commandStatus": "PROCESSING"
}
]
}
}
If a command fails
batchStatusreturnsERRORand the failing command'serrorobject explains why. Any commands after it reportCANCELLED, and the batch rolls back everything the earlier commands created. Correct your request body and send it again.
Validate domain control
Validation is the security handshake that proves you are authorized to direct traffic through Akamai and encrypt content for your site. This is required for every service hostname added to your workspace.
The process is divided into two distinct steps: domain ownership validation at the platform level to protect against unauthorized domain usage, and certificate validation at the Certificate Authority (CA) level for secure encryption.
Once the batch completes, the new-hostname-set-version result includes a domainOwnershipVerification object for each service hostname, with the challenge token, its challengeTokenExpiryDate, and the available validation methods.
Copy the validationCname hostname and target values to your DNS. This is the quickest and recommended method, as it validates domain ownership and certificates together, and automatically handles certificate renewal. If you can't add a CNAME record, use the validationTxt or validationHttp methods. For details, see Create a service hostname version
To track progress, get your service hostname set version with includeDomStatus=true until status turns VALIDATED.
The certificate validation continues after you activate the service hostname set.
Activate
With your domains validated, create an activation to deploy your environment and its routed service hostname sets to the Akamai edge network. Then point your traffic to the edge by mapping each service hostname its edge hostname in your DNS provider.
Run it in Postman
- Download the Delivery Manager API Postman Collection.
- Import the collection to Postman. For detailed instructions, see Postman documentation.
- Set up EdgeGrid authentication for your calls.
- See Akamai developer documentation for information on obtaining your credentials.
- See Postman documentation for detailed authentication instructions.
- Navigate to the Workspaces> Quickstart request, fill in your prerequisite data, and send it.
To monitor payload data and status outputs, open the Postman Console.
