
- Overview
- Resources
- API summary
- List endpoints
- Register an endpoint
- Clone an endpoint
- Register an endpoint from an API definition file
- List user entitlements
- Verify secure connection
- Delete an endpoint
- Hide an endpoint
- Show an endpoint
- List versions
- Get a version summary
- Edit a version
- Delete a version
- Hide a version
- Show a version
- Edit an endpoint from an API definition file
- Get a version
- Clone a version
- Activate a version
- Deactivate a version
- List resources
- Create a resource
- Get a resource
- Edit a resource
- Delete a resource
- Get API privacy settings
- Edit API privacy settings
- Get JWT settings
- Edit JWT settings
- Get CORS settings
- Edit CORS settings
- Get cache settings
- Edit cache settings
- Get GraphQL cache settings
- Edit GraphQL cache settings
- Get routing settings
- Edit routing settings
- Get GZIP settings
- Edit GZIP settings
- Get error response settings
- Edit error response settings
- Get an error response
- Edit an error response
- Get OAuth scopes assignments
- Edit OAuth scopes assignments
- List OAuth scopes
- Create an OAuth scope
- Edit an OAuth scope
- Delete an OAuth scope
- List categories
- Create a category
- Get a category
- Edit a category
- Delete a category
- List contracts and groups
- List hostnames
- List hostnames with access control groups
- Data
- EndpointList
- Endpoint
- Endpoint.availableActions values
- VersionList
- VersionList.apiVersions
- Resource
- Method
- Parameter
- ImportResult
- Activation
- CacheSettings
- GraphQLCacheSettings
- ApiPrivacySettings
- RoutingSettings
- GzipSettings
- CorsSettings
- ErrorSettings
- ErrorSettings.{errorType} values
- JwtSettings
- OauthScopeDefinition
- OauthScopesAssignments
- Category
- AcgPair
- CacheKey
- CacheKey.option values
- Duration
- ImportFile
- ApiVersionDetails
- HostAcgPair
- Errors
API Endpoint Definition API v2
Wrap Kona Site Defender, Bot Manager Premier, and API Gateway features around an API endpoint.
Learn more:
PAPI Feature Catalog Reference,
rapid
behavior.Download this API’s RAML and JSON schema descriptors.
Overview
The API Endpoint Definition API allows you to programmatically define an API endpoint and its set of component resources. If you’re a Kona Site Defender customer, you can define request body and resource constraints and enforce them separately as whitelists in a Kona Site Defender firewall policy.
Who should use this API
Akamai provides APIs for developers, DevOps, and operations personnel as an alternative to using Akamai Control Center. You may want to automate and instrument the Akamai Kona Site Defender (KSD) and Web Performance products you’re using with APIs. This API provides the same functions available under the Manage API Definitions menu selection of Control Center.
Use this API to automate deployment or configuration of APIs onto the Akamai platform. Register your API endpoints by specifying their hostnames and base paths, identify the set of expected URL resources and operations, and, if you’re a KSD customer, configure security constraints related to the size and shape of the exchanged data objects.
This API also introduces additional API Gateway delivery features that can help you manage your APIs more efficiently, improve interoperability, gain control over API access, help API consumers troubleshoot errors more effectively, and enhance the overall performance of your API traffic. These features include API privacy, JSON web tokens (JWT), cross-origin resource sharing (CORS), caching, GraphQL caching, origin request redirect, GZIP compression, and error response customization. They’re available to you if you add API Gateway to your product.
NOTE: The OAuth scopes operations have been deprecated. For similar functionality, see Akamai Identity Cloud.
The API privacy feature lets you control access to endpoints and individual resources. To apply API privacy, you need to deploy API keys. Private endpoints and resources that you register in API Gateway require API consumers to identify with appropriate API keys before they can access these endpoints and resources. For more details on API keys and how you can manage them, see the API Keys and Traffic Management.
When you register your API endpoints, you specify obligatory hostnames for publishing your APIs over the Akamai network. If you haven’t created any hostnames in Property Manager yet, you can leverage the Property Manager API to batch-create hostnames dynamically and activate API traffic for these hostnames. Once you activate the hostnames, you can deploy your APIs and configure how they respond to requests.
Note that this API does not modify any KSD firewall policies that protect your API endpoints, but is a prerequisite to apply such security. You may use this API to define your API endpoint in order to configure protections for them. Use this API before your security team applies a Kona Site Defender firewall policy to your API endpoints.
API concepts
This section describes the conceptual objects you deal with when interacting with this API, and provides pointers to where you can learn more.
Endpoint. The use of the term endpoint in this documentation refers to an API service. This API refers to responsive URL patterns as resources. For most Akamai APIs, responsive URL patterns are commonly referred to as endpoints, not as resources. Within this API, an endpoint refers to a logical collection of resources.
Resource. A URL pattern that responds to HTTP method calls for each API operation. See the Resource object.
Version. The API version that you set up to make your endpoint, resource, and delivery configurations effective. You can activate an API version in the Akamai staging or production environment.
Delivery settings These settings let you configure API privacy, JWT validation, CORS, caching, GraphQL caching, origin request redirect, GZIP compression, and error response customization. Enabling these features can help you manage your APIs more efficiently, improve interoperability, provide useful guidelines to API consumers in case of errors, define the level of access to your APIs for external client apps, and enhance the overall performance of your API traffic.
Category. You can assign any number of overlapping categories to each endpoint. See the Category object.
Contract. You provision API endpoint services under an Akamai contract, and also assign a Control Center group. The AcgPair object encapsulates this pairing of information.
Get started
To configure this API for the first time:
Review Get Started with APIs for details on how to set up client tokens to access any Akamai API. These tokens appear as custom hostnames that look like this:
https://akzz-XXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXX.luna.akamaiapis.net
.To enable this API, choose the API service named API Definition, and set the access level to READ-WRITE.
For the delivery features to be available, add the API Gateway behavior to the property configured for your Web Performance Solutions or KSD product and enable the API Gateway feature. For details, see Add API Gateway to your product.
Ensure that you have the correct user roles assigned to your account in Control Center:
WAF Config
orWAF Admin
for endpoints, resources, versions, and security features management;API Gateway Administrator
for API Gateway delivery features;Bot Manager Config
orBot Manager Feature
for resource purpose settings.
Reporting
Once you deliver your APIs over the Akamai network and enable various delivery features for your configuration, you can track and analyze data related to your API traffic. The Reporting API provides a set of reports specifically for API Gateway and allows you to get data in a range of intervals. The currently available API Gateway reports can help you learn about the usage of your endpoints, including details such as returned HTTP response codes, methods called on the endpoints, API keys used for request senders’ identification, and JWT denial reasons.
Versioning
This document distinguishes between three versioning concepts that you should consider independent of each other.
This most recent API v2 supersedes API Endpoints API v1. Akamai supports v1 indefinitely, but the migration to this new version provides numerous benefits. It introduces internal version management for APIs configured with Akamai features, and it allows you to use the new API Gateway delivery settings.
This API allows you to register different major versions of your own APIs that you make available to your API consumers. These are versions in the REST API versioning sense, based on your APIs’ life cycle. By using this API, you can specify the version location and the expected version value in an incoming request. Based on these details, edge servers route the incoming request to the API URLs (hostname + base path) that you associated with the API version indicated in the request.
Finally, this API’s “version”-related operations allow you to internally maintain different minor versions of your registered API configurations, which lets you easily tweak the API Gateway features and tailor your API traffic as needed.
Concurrency control
If more than one Endpoints API client accesses the same data at the
same time, a simple locking mechanism prevents them from overwriting
each other’s data. When you GET an object such as an endpoint,
resource, or category, the object features a lockVersion
integer
member that identifies the most recent modification. When you modify
and PUT back the object, the request fails if the lockVersion
no
longer matches that of the stored version of the object, which updates
when someone else modifies the data. In that case, repeat the process
of reading, modifying, and writing the object back.
Resources
This section describes the API’s workflow and provides details on how to interact with each operation.
NOTE: In this table and for most Akamai APIs, responsive URL patterns are commonly referred to as endpoints, not as resources as in this API. Within this API, an endpoint refers to a logical collection of resources.
API summary
Download the RAML descriptors for this API.
Operation | Method | Endpoint |
---|---|---|
API endpoints | ||
List endpoints | GET | /api-definitions/ |
Register an endpoint | POST | /api-definitions/ |
Clone an endpoint | POST | /api-definitions/ |
Register an endpoint from an API definition file | POST | /api-definitions/ |
List user entitlements | GET | /api-definitions/ |
Verify secure connection | POST | /api-definitions/ |
Delete an endpoint | DELETE | /api-definitions/ |
Hide an endpoint | POST | /api-definitions/ |
Show an endpoint | POST | /api-definitions/ |
List versions | GET | /api-definitions/ |
Get a version summary | GET | /api-definitions/ |
Edit a version | PUT | /api-definitions/ |
Delete a version | DELETE | /api-definitions/ |
Hide a version | POST | /api-definitions/ |
Show a version | POST | /api-definitions/ |
Edit an endpoint from an API definition file | POST | /api-definitions/ |
Get a version | GET | /api-definitions/ |
Clone a version | POST | /api-definitions/ |
Activate a version | POST | /api-definitions/ |
Deactivate a version | POST | /api-definitions/ |
List resources | GET | /api-definitions/ |
Create a resource | POST | /api-definitions/ |
Get a resource | GET | /api-definitions/ |
Edit a resource | PUT | /api-definitions/ |
Delete a resource | DELETE | /api-definitions/ |
API delivery settings | ||
Get API privacy settings | GET | /api-definitions/ |
Edit API privacy settings | PUT | /api-definitions/ |
Get JWT settings | GET | /api-definitions/ |
Edit JWT settings | PUT | /api-definitions/ |
Get CORS settings | GET | /api-definitions/ |
Edit CORS settings | PUT | /api-definitions/ |
Get cache settings | GET | /api-definitions/ |
Edit cache settings | PUT | /api-definitions/ |
Get GraphQL cache settings | GET | /api-definitions/ |
Edit GraphQL cache settings | PUT | /api-definitions/ |
Get routing settings | GET | /api-definitions/ |
Edit routing settings | PUT | /api-definitions/ |
Get GZIP settings | GET | /api-definitions/ |
Edit GZIP settings | PUT | /api-definitions/ |
Get error response settings | GET | /api-definitions/ |
Edit error response settings | PUT | /api-definitions/ |
Get an error response | GET | /api-definitions/ |
Edit an error response | PUT | /api-definitions/ |
Get OAuth scopes assignments (deprecated) | GET | /api-definitions/ |
Edit OAuth scopes assignments (deprecated) | PUT | /api-definitions/ |
OAuth scopes (deprecated) | ||
List OAuth scopes (deprecated) | GET | /api-definitions/ |
Create an OAuth scope (deprecated) | POST | /api-definitions/ |
Edit an OAuth scope (deprecated) | PUT | /api-definitions/ |
Delete an OAuth scope (deprecated) | DELETE | /api-definitions/ |
Categories | ||
List categories | GET | /api-definitions/ |
Create a category | POST | /api-definitions/ |
Get a category | GET | /api-definitions/ |
Edit a category | PUT | /api-definitions/ |
Delete a category | DELETE | /api-definitions/ |
Contracts and groups | ||
List contracts and groups | GET | /api-definitions/ |
List hostnames | GET | /api-definitions/ |
List hostnames with access control groups | GET | /api-definitions/ |
List endpoints
Lists the available API endpoints, with results optionally paginated, sorted, and filtered. If no endpoints are available, the operation responds with an empty array.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
Optional query parameters | |||
category |
String | Site Delivery |
Filters endpoints by the specified apiCategoryName , including the __UNCATEGORIZED__ keyword. |
contains |
String | cloud security |
The search query substring criteria matching the endpoint’s name, description, basePath , apiCategoryName , and resourcePath . |
contractId |
String | 1-xc789 |
Filters endpoints to a specific contract. You need to specify this along with a groupId . |
groupId |
Integer | 67890 |
Filters endpoints to a specific group. You need to specify this along with a contractId . |
page |
Integer | 5 |
The page number index, starting at the default value of 1 . |
pageSize |
Integer | 50 |
The number of endpoints on each page of results, 25 by default. |
show |
Enumeration | ONLY_VISIBLE |
The type of endpoints to return based on their visibility status. By default the API returns ALL endpoints. You can instead decide to return ONLY_VISIBLE endpoints, or ONLY_HIDDEN endpoints. Run the Show an endpoint and Hide an endpoint operations to control which endpoints are listed. |
sortBy |
Enumeration | updateDate |
The field to sort endpoints by, either the API name (corresponding to the apiEndPointName member) or updateDate . |
sortOrder |
Enumeration | asc |
The sort order, either desc for descending or the default asc for ascending. |
versionPreference |
Enumeration | ACTIVATED_FIRST |
The preference for selecting the endpoint version to return. By default the API returns the LAST_UPDATED version. If you set the preference to ACTIVATED_FIRST , the API first attempts to return the version currently active on the production network. If such version doesn’t exist, the API attempts to return the version currently active on the staging network. If both of these checks fail, the API returns the last updated version. |
Status 200
application/json
Object type: EndpointList
Download schema: apiEndpointListDto-schema.json
Response body:
{
"totalSize": 15,
"page": 8,
"pageSize": 1,
"apiEndPoints": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiEndPointId": 574127,
"apiEndPointName": "Bookstore API Premium",
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basePath": "/bookstore-premium",
"apiEndPointScheme": "http/https",
"consumeType": "any",
"contractId": "3-13H55B5",
"groupId": 44681,
"versionNumber": 2,
"versionHidden": true,
"clonedFromVersion": 1,
"apiEndPointLocked": false,
"endpointHidden": true,
"protectedByApiKey": true,
"availableActions": [
"CLONE",
"SHOW_ENDPOINT",
"COMPARE_ENDPOINT",
"ACTIVATE_ON_STAGING",
"ACTIVATE_ON_PRODUCTION"
],
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiCategoryIds": [],
"apiResourceBaseInfo": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2926712,
"apiResourceName": "/books/{bookId}",
"resourcePath": "/books/{bookId}",
"description": "A book item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 118435,
"private": false,
"lockVersion": 0
}
],
"stagingVersion": {
"versionNumber": null,
"status": null
},
"productionVersion": {
"versionNumber": null,
"status": null
}
}
],
"links": [
{
"rel": "self",
"href": "/api-definitions/v2/endpoints?pageSize=2&page=8"
},
{
"rel": "next",
"href": "/api-definitions/v2/endpoints?pageSize=2&page=9"
},
{
"rel": "previous",
"href": "/api-definitions/v2/endpoints?pageSize=2&page=7"
}
]
}
Optionally set the
contractId
andgroupId
query parameters to filter results provisioned under a specific pairing of contract and group.Optionally filter results to a specific
category
, or setcontains
to search on text.If you want to affect how output sorts, set the
sortBy
query parameter to eithername
orupdateDate
, or setsortOrder
toasc
ordesc
.If you want to modify pagination, set the
pageSize
query parameter for the number of records per page, and the overallpage
number.If you want to change the default version preference and return the last activated version for each endpoint, set the
versionPreference
value toACTIVATED_FIRST
.Make a GET request to
/
.api-definitions/ v2/ endpoints{?page, pageSize, category, contains, sortBy, sortOrder, versionPreference, contractId, groupId}
The response’s apiEndPoints
array features Endpoint
objects from which you typically extract an apiEndPointId
to access
specific endpoints.
Register an endpoint
Creates the first version of an API endpoint configuration. You can specify the new endpoint’s full set of resources. Alternatively, you can create them later either by modifying the Endpoint object, or separately with the Create a resource operation. The endpoint’s name needs to be unique within an account.
POST /api-definitions/
Content-Type: application/json
Object type: Endpoint
Download schema: apiEndpointWithResourceDto-schema.json
Request body:
{
"apiEndPointName": "Bookstore API",
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basePath": "/bookstore",
"apiEndPointScheme": "http/https",
"consumeType": "any",
"groupId": 44681,
"contractId": "3-13H55B5",
"isGraphQL": false,
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiCategoryIds": [
2,
7
],
"securityScheme": {
"securitySchemeType": "apikey",
"securitySchemeDetail": {
"apiKeyLocation": "header",
"apiKeyName": "apikey"
}
},
"akamaiSecurityRestrictions": {
"MAX_JSONXML_ELEMENT": 1032,
"MAX_ELEMENT_NAME_LENGTH": 256,
"MAX_DOC_DEPTH": 64,
"POSITIVE_SECURITY_ENABLED": 1,
"MAX_STRING_LENGTH": 8192,
"MAX_BODY_SIZE": 61056,
"MAX_INTEGER_VALUE": 9999
},
"apiResources": [
{
"apiResourceName": "books",
"resourcePath": "/books/{bookId}",
"description": "A book item within the bookstore API.",
"apiResourceMethods": [
{
"apiResourceMethod": "GET",
"apiParameters": [
{
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"apiParameterNotes": null,
"array": false,
"apiParameterRestriction": null
}
]
},
{
"apiResourceMethod": "POST",
"apiParameters": [
{
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"apiParameterNotes": null,
"array": false,
"apiParameterRestriction": {
"lengthRestriction": {
"lengthMax": 15,
"lengthMin": 3
}
}
}
]
}
]
}
]
}
Status 201
application/json
Headers:
Location: /api-definitions/v2/endpoints/123/versions/1
Object type: Endpoint
Download schema: apiEndpointWithResourceDto-schema.json
Response body:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiEndPointId": 492375,
"apiEndPointName": "Bookstore API",
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basePath": "/bookstore",
"consumeType": "any",
"apiEndPointScheme": "http/https",
"apiEndPointVersion": 574127,
"contractId": "3-13H55B5",
"groupId": 44681,
"versionNumber": 1,
"clonedFromVersion": null,
"apiEndPointLocked": false,
"protectedByApiKey": true,
"source": null,
"positiveConstrainsEnabled": null,
"versionHidden": false,
"endpointHidden": false,
"akamaiSecurityRestrictions": null,
"stagingStatus": null,
"productionStatus": null,
"graphQL": false,
"caseSensitive": true,
"isGraphQL": false,
"lockVersion": 0,
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiCategoryIds": [
2,
7
],
"availableActions": [
"DELETE",
"CLONE_ENDPOINT",
"ACTIVATE_ON_PRODUCTION",
"HIDE_ENDPOINT",
"EDIT_ENDPOINT_DEFINITION",
"ACTIVATE_ON_STAGING"
],
"stagingVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"productionVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"securityScheme": {
"securitySchemeType": "apikey",
"securitySchemeDetail": {
"apiKeyLocation": "header",
"apiKeyName": "apikey"
}
},
"apiResources": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2926712,
"apiResourceName": "books",
"resourcePath": "/books/{bookId}",
"description": "A book item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 118435,
"private": false,
"lockVersion": 0,
"apiResourceMethods": [
{
"apiResourceMethodId": 341591,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 184404,
"apiParameters": [
{
"apiParameterId": 1212945,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578116,
"apiResourceMethParamId": 494448,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
},
{
"apiResourceMethodId": 341592,
"apiResourceMethod": "POST",
"apiResourceMethodLogicId": 184405,
"apiParameters": [
{
"apiParameterId": 1212946,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578117,
"apiResourceMethParamId": 494449,
"apiParameterNotes": null,
"apiChildParameters": [],
"apiParameterRestriction": {
"rangeRestriction": null,
"numberRangeRestriction": null,
"arrayRestriction": null,
"xmlConversionRule": null,
"lengthRestriction": {
"lengthMax": 15,
"lengthMin": 3
}
}
}
]
}
]
}
]
}
If you don’t already have the
contractId
andgroupId
members, run the List contracts and groups operation.Select the appropriate pairing of contract and group under which you want to provision the new endpoint. Store the
contractId
andgroupId
values.If you want to tag the new endpoint with optional categories, run the List categories operation and store the appropriate
apiCategoryId
values from the array of Category objects.Build an Endpoint object, specifying the
contractId
andgroupId
members, theapiEndPointHosts
member, and a uniqueapiEndPointName
.POST the object to
/
.api-definitions/ v2/ endpoints
The response reflects back the complete Endpoint object,
from which you can store the apiEndPointId
value. You can access the
newly created endpoint at the URL specified in the Location
response
header.
Clone an endpoint
Creates an endpoint as a clone from the specified source endpoint ID and version.
POST /api-definitions/
Content-Type: application/json
Object type: Endpoint
Download schema: apiEndpointCloneDto-schema.json
Request body:
{
"versionNumber": 1,
"apiEndPointId": 492375,
"apiEndPointName": "Bookstore API Premium",
"basePath": "/bookstore-premium",
"contractId": "3-13H55B5",
"groupId": 44680,
"apiEndPointHosts": [
"bookstore.api.akamai.com"
]
}
Status 200
application/json
Headers:
Location: /api-definitions/v2/endpoints/123/versions/2
Object type: Endpoint
Download schema: apiEndpointWithResourceDto-schema.json
Response body:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiEndPointId": 492375,
"apiEndPointName": "Bookstore API Premium",
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basePath": "/bookstore-premium",
"consumeType": "any",
"apiEndPointScheme": "http/https",
"apiEndPointVersion": 574127,
"contractId": "3-13H55B5",
"groupId": 44681,
"versionNumber": 2,
"clonedFromVersion": 1,
"apiEndPointLocked": false,
"protectedByApiKey": true,
"source": null,
"positiveConstrainsEnabled": null,
"versionHidden": false,
"endpointHidden": false,
"akamaiSecurityRestrictions": null,
"stagingStatus": null,
"productionStatus": null,
"graphQL": false,
"caseSensitive": true,
"isGraphQL": false,
"lockVersion": 2,
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiCategoryIds": [
2,
7
],
"availableActions": [
"DELETE",
"CLONE_ENDPOINT",
"ACTIVATE_ON_PRODUCTION",
"HIDE_ENDPOINT",
"EDIT_ENDPOINT_DEFINITION",
"ACTIVATE_ON_STAGING"
],
"stagingVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"productionVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"securityScheme": {
"securitySchemeType": "apikey",
"securitySchemeDetail": {
"apiKeyLocation": "header",
"apiKeyName": "apikey"
}
},
"apiResources": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2926712,
"apiResourceName": "books",
"resourcePath": "/books/{bookId}",
"description": "A book item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 118435,
"private": false,
"lockVersion": 2,
"apiResourceMethods": [
{
"apiResourceMethodId": 341591,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 184404,
"apiParameters": [
{
"apiParameterId": 1212945,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578116,
"apiResourceMethParamId": 494448,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
},
{
"apiResourceMethodId": 341592,
"apiResourceMethod": "POST",
"apiResourceMethodLogicId": 184405,
"apiParameters": [
{
"apiParameterId": 1212946,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578117,
"apiResourceMethParamId": 494449,
"apiParameterNotes": null,
"apiChildParameters": [],
"apiParameterRestriction": {
"rangeRestriction": null,
"numberRangeRestriction": null,
"arrayRestriction": null,
"xmlConversionRule": null,
"lengthRestriction": {
"lengthMax": 15,
"lengthMin": 3
}
}
}
]
}
]
}
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.If you don’t already have the
contractId
andgroupId
members, run the List contracts and groups operation.Select the appropriate pairing of contract and group under which you want to provision the new endpoint. Store the
contractId
andgroupId
values.Build an Endpoint object, specifying the
contractId
andgroupId
members, theapiEndpointId
of the source endpoint, theversionNumber
of the version you want to clone, thebasePath
,apiEndPointHosts
, and a uniqueapiEndPointName
for the new endpoint.POST the object to
/
.api-definitions/ v2/ endpoints
The response reflects back the complete Endpoint object,
from which you can store the apiEndPointId
value. You can access the
newly created endpoint at the URL specified in the Location
response
header.
Register an endpoint from an API definition file
Imports an API definition file and creates a new endpoint based on the file contents. You can run this operation in two ways. To POST JSON data, see Make a JSON request to register an endpoint from an API definition file. To make a form request using these parameters, see Make a form request to register an endpoint from an API definition file.
POST /api-definitions/
Content-Type: application/json
Object type: ImportFile
Download schema: importFileDto-schema.json
Request body:
{
"importFileFormat": "swagger",
"importFileSource": "BODY_BASE64",
"importFileContent": "ewogICJzd2FnZ2VyIjogIjIuMCIsCiAgImluZm8iOiB7CiAgICAidmVyc2lvbiI6ICIxLjAuMCIsCiAgICAidGl0bGUiOiAiQm9va3N0b3JlIEFQSSIsCiAgICAiZGVzY3JpcHRpb24iOiAiQW4gQVBJIGZvciBib29rc3RvcmUgdXNlcnMgYWxsb3dpbmcgdGhlbSB0byByZXRyaWV2ZSBib29rIGl0ZW1zLCBhZGQgbmV3IGl0ZW1zIChhZG1pbiB1c2VycyksIGFuZCBtb2RpZnkgZXhpc3RpbmcgaXRlbXMuIgogIH0sCiAgImhvc3QiOiAiYm9va3N0b3JlLmFwaS5ha2FtYWkuY29tIiwKICAic2NoZW1lcyI6IFsKICAgICJodHRwIiwKICAgICJodHRwcyIKICBdLAogICJzZWN1cml0eURlZmluaXRpb25zIjogewogICAgImFwaV9rZXkiOiB7CiAgICAgICJ0eXBlIjogImFwaUtleSIsCiAgICAgICJuYW1lIjogImFwaUtleSIsCiAgICAgICJpbiI6ICJoZWFkZXIiCiAgICB9CiAgfSwKICAiYmFzZVBhdGgiOiAiL2Jvb2tzdG9yZSIsCiAgInBhdGhzIjogewogICAgIi9ib29rcyI6IHsKICAgICAgImdldCI6IHsKICAgICAgICAiZGVzY3JpcHRpb24iOiAiTGlzdHMgYWxsIGJvb2sgaXRlbXMuIiwKICAgICAgICAib3BlcmF0aW9uSWQiOiAiZ2V0Qm9va3MiLAogICAgICAgICJwcm9kdWNlcyI6IFsKICAgICAgICAgICJhcHBsaWNhdGlvbi9qc29uIgogICAgICAgIF0sCiAgICAgICAgInJlc3BvbnNlcyI6IHsKICAgICAgICAgICIyMDAiOiB7CiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJCb29rIHJlc3BvbnNlLiIsCiAgICAgICAgICAgICJzY2hlbWEiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvYm9vayIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sCiAgICAgICJwb3N0IjogewogICAgICAgICJkZXNjcmlwdGlvbiI6ICJDcmVhdGVzIGEgYm9vayBpdGVtIGluIHRoZSBib29rc3RvcmUuIiwKICAgICAgICAib3BlcmF0aW9uSWQiOiAicG9zdEJvb2siLAogICAgICAgICJwcm9kdWNlcyI6IFsKICAgICAgICAgICJhcHBsaWNhdGlvbi9qc29uIgogICAgICAgIF0sCiAgICAgICAgInBhcmFtZXRlcnMiOiBbewogICAgICAgICAgIm5hbWUiOiAiYm9vayIsCiAgICAgICAgICAiaW4iOiAiYm9keSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBib29rIHRvIGFkZCB0byB0aGUgYm9va3N0b3JlLiIsCiAgICAgICAgICAicmVxdWlyZWQiOiB0cnVlLAogICAgICAgICAgInNjaGVtYSI6IHsKICAgICAgICAgICAgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9uZXdCb29rIgogICAgICAgICAgfQogICAgICAgIH1dLAogICAgICAgICJyZXNwb25zZXMiOiB7CiAgICAgICAgICAiMjAwIjogewogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQm9vayByZXNwb25zZS4iLAogICAgICAgICAgICAic2NoZW1hIjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9ib29rIgogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIi9ib29rcy97aWR9IjogewogICAgICAiZ2V0IjogewogICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIGEgYm9vayBpdGVtLiIsCiAgICAgICAgIm9wZXJhdGlvbklkIjogImdldEJvb2siLAogICAgICAgICJwcm9kdWNlcyI6IFsKICAgICAgICAgICJhcHBsaWNhdGlvbi9qc29uIgogICAgICAgIF0sCiAgICAgICAgInBhcmFtZXRlcnMiOiBbewogICAgICAgICAgIm5hbWUiOiAiaWQiLAogICAgICAgICAgImluIjogInBhdGgiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkEgc3BlY2lmaWMgSUQgb2YgYSBib29rIGl0ZW0gdG8gcmV0dXJuLiIsCiAgICAgICAgICAicmVxdWlyZWQiOiB0cnVlLAogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIKICAgICAgICB9XSwKICAgICAgICAicmVzcG9uc2VzIjogewogICAgICAgICAgIjIwMCI6IHsKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkJvb2sgcmVzcG9uc2UuIiwKICAgICAgICAgICAgInNjaGVtYSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvYm9vayIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlbGV0ZSI6IHsKICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVsZXRlcyBhIGJvb2sgaXRlbSBmcm9tIHRoZSBib29rc3RvcmUuIiwKICAgICAgICAib3BlcmF0aW9uSWQiOiAiZGVsZXRlQm9vayIsCiAgICAgICAgInByb2R1Y2VzIjogWwogICAgICAgICAgImFwcGxpY2F0aW9uL2pzb24iCiAgICAgICAgXSwKICAgICAgICAicGFyYW1ldGVycyI6IFt7CiAgICAgICAgICAibmFtZSI6ICJpZCIsCiAgICAgICAgICAiaW4iOiAicGF0aCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBzcGVjaWZpYyBJRCBvZiBhIGJvb2sgaXRlbSB0byBkZWxldGUuIiwKICAgICAgICAgICJyZXF1aXJlZCI6IHRydWUsCiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIgogICAgICAgIH1dLAogICAgICAgICJyZXNwb25zZXMiOiB7CiAgICAgICAgICAiMjA0IjogewogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQm9vayBkZWxldGVkIgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KfQ==",
"contractId": "3-13H55B5",
"groupId": 44681
}
POST /api-definitions/
Content-Type: multipart/form-data
See Parameters for details on upload content.
Parameter | Type | Sample | Description |
---|---|---|---|
Form parameters | |||
importFileFormat |
Enumeration | raml |
The format of the API definition file, either raml (0.8) or swagger (2.0 or 3.0). |
importFile |
File | %RAML 0.8... |
The complete file to import. |
importUrl |
String | https://example.com/descriptor.raml |
The URL from which to get the API definition file. |
root |
String | api_descriptor.raml |
If the import file is a ZIP archive, this identifies the API definition’s filename within the archive. |
contractId |
String | 3-1Cgoa |
The unique identifier for the contract under which to provision the endpoint. |
groupId |
String | 67890 |
The unique identifier for the group under which to provision the endpoint. |
Status 201
application/json
Headers:
Location: /api-definitions/v2/endpoints/123/versions/1
Object type: Endpoint
Download schema: apiEndpointWithResourceDto-schema.json
Response body:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiEndPointId": 492375,
"apiEndPointName": "Bookstore API",
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basePath": "/bookstore",
"consumeType": "any",
"apiEndPointScheme": "http/https",
"contractId": "3-13H55B5",
"groupId": 44681,
"versionNumber": 1,
"clonedFromVersion": 1,
"apiEndPointLocked": false,
"protectedByApiKey": true,
"source": null,
"positiveConstrainsEnabled": null,
"versionHidden": false,
"endpointHidden": false,
"akamaiSecurityRestrictions": null,
"stagingStatus": null,
"productionStatus": null,
"graphQL": false,
"caseSensitive": true,
"isGraphQL": false,
"lockVersion": 2,
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiCategoryIds": [
2,
7
],
"availableActions": [
"DELETE",
"CLONE_ENDPOINT",
"ACTIVATE_ON_PRODUCTION",
"HIDE_ENDPOINT",
"EDIT_ENDPOINT_DEFINITION",
"ACTIVATE_ON_STAGING"
],
"stagingVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"productionVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"securityScheme": {
"securitySchemeType": "apikey",
"securitySchemeDetail": {
"apiKeyLocation": "header",
"apiKeyName": "apikey"
}
},
"apiResources": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2926712,
"apiResourceName": "books",
"resourcePath": "/books/{bookId}",
"description": "A book item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 118435,
"private": false,
"lockVersion": 2,
"apiResourceMethods": [
{
"apiResourceMethodId": 341591,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 184404,
"apiParameters": [
{
"apiParameterId": 1212945,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578116,
"apiResourceMethParamId": 494448,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
},
{
"apiResourceMethodId": 341592,
"apiResourceMethod": "POST",
"apiResourceMethodLogicId": 184405,
"apiParameters": [
{
"apiParameterId": 1212946,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578117,
"apiResourceMethParamId": 494449,
"apiParameterNotes": null,
"apiChildParameters": [],
"apiParameterRestriction": {
"rangeRestriction": null,
"numberRangeRestriction": null,
"arrayRestriction": null,
"xmlConversionRule": null,
"lengthRestriction": {
"lengthMax": 15,
"lengthMin": 3
}
}
}
]
}
]
}
]
}
Make a JSON request to register an endpoint from an API definition file
This section shows you how to create an endpoint from an API definition file
by submitting an application/json
request. If instead you’d like to submit
a multipart/form-data
request to create an endpoint, see Make a form request to register an endpoint from an API definition file.
If you don’t already have the obligatory
contractId
andgroupId
members, run the List contracts and groups operation.Select the appropriate pairing of contract and group under which you want to provision the new endpoint. Store the
contractId
andgroupId
values.Build an ImportFile object, specifying the
contractId
andgroupId
members, theimportFileFormat
, and theimportFileSource
. Depending on theimportFileSource
, specify either theimportFileContent
orimportUrl
.POST the object to
/
.api-definitions/ v2/ endpoints/ files
The response Endpoint object reflects the newly created
endpoint based on your API definition file. You can access the
newly created endpoint at the URL specified in the Location
response
header.
Make a form request to register an endpoint from an API definition file
This section shows you how to create an endpoint from an API definition file
by submitting a multipart/form-data
request (see RFC 2388 for details).
If instead you’d like to submit an application/json
request to create an endpoint, see Make a JSON request to register an endpoint from an API definition file.
If you don’t already have the obligatory
contractId
andgroupId
members, run the List contracts and groups operation.Select the appropriate pairing of contract and group under which you want to provision the new endpoint. Store the
contractId
andgroupId
values.Prepare an API definition file and set the
importFileFormat
toraml
orswagger
.Assign the filename as the
importFile
.Optionally embed the API definition within a ZIP archive, in which case reset the definition filename as
root
and the name of the archive asimportFile
.Optionally make the definition or archive file available on the web at an
importUrl
.Prepare a
multipart/form-data
request specifying the fields listed in Parameters. Specify either animportFile
orimportUrl
, and make sure to specify theroot
if you’re uploading a ZIP archive.Make a form data POST request to
/
.api-definitions/ v2/ endpoints/ files
The response Endpoint object reflects the newly created
endpoint based on your API definition file. You can access the
newly created endpoint at the URL specified in the Location
response
header.
List user entitlements
Lists user entitlements based on your assigned permissions. It helps you
determine if your user identity associated with the API client can run various other operations to modify data.
See Get started for details on setting up the API client with the appropriate level of access.
This operation’s array values include API_READ
for read-only access, API_WRITE
for modifying the existing endpoint versions, API_VERSIONING
for version management, API_FEATURES
for access to Kona Site Defender security features, AAG_FEATURES
for access
to delivery features, and API_PURPOSE
for access to resource purpose settings. Note that the API_FEATURES
permission
is only available for Kona Site Defender customers, and the API_PURPOSE
permission is for Bot Manager customers.
GET /api-definitions/
Status 200
application/json
Download schema: userEntitlementsDto-schema.json
Response body:
[
"API_READ",
"API_WRITE",
"API_VERSIONING",
"API_FEATURES"
]
Verify secure connection
Verifies that provided hostnames are signed with a provided certificate chain. This ensures that edge servers can connect to the hostnames securely. The response is a map of hostnames to connection status values. For the list of available connection status values and their descriptions, see Connection status values. You can use the response information when setting up JWKS in the Edit JWT settings operation.
POST /api-definitions/
Content-Type: application/json
Download schema: verifySecureConnectionDto-schema.json
Request body:
{
"hosts": [
"bookstore.api.akamai.com",
"bookstore2.api.akamai.com:8443",
"bookstore-premium.api.akamai.com"
],
"certChain": {
"name": "bookstore_cert.pem",
"content": "-----BEGIN CERTIFICATE-----\nMIIFsDCCA5igAwIBAgIJAL7HIonYis0aMA0GCSqGSIb3DQEBCwUAMG0xCzAJBgNV\nBAYTAlVTMREwDwYDVQQIDAhyYXBpZHppazERMA8GA1UEBwwIcmFwaWR6aWsxETAP\nBgNVBAoMCHJhcGlkemlrMREwDwYDVQQLDAhyYXBpZHppazESMBAGA1UEAwwJbG9j\nYWxob3N0MB4XDTE5MDYxMTE0MzI0NloXDTI0MDYwOTE0MzI0NlowbTELMAkGA1UE\nBhMCVVMxETAPBgNVBAgMCHJhcGlkemlrMREwDwYDVQQHDAhyYXBpZHppazERMA8G\nA1UECgwIcmFwaWR6aWsxETAPBgNVBAsMCHJhcGlkemlrMRIwEAYDVQQDDAlsb2Nh\nbGhvc3QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCua7kn9yrkpMMH\nT18yzPFK9LBPk4GzMX0BZfEi2jzKKoc00BtoU/zeS9ewj+2IdIoHa19GE7qnnMux\nkbwm6GNkFt4rzJsQ5ruMSKEqzd4I81HDmS5s2X3o4ZqYWVHAx/rqsh5EIt5qAjq4\njebXeMuhlnkx6jMs+4+ZFfATVvOJ78VnUGUheNTcTGgCvxU7ZZ3+IZubJ6BVdJjC\nwxM30eroVF3efX4HrRXhLtatQtxjX6g2qOUfFiuNNLcgx+4NPqbKpecqyUbopt18\n72MmohKy+YfVEk7OFWLyNPoL237KCznkCGwcQYrXTJzDVAN4NqQEo513nIHEC89F\nX/WomZWwLKVyQpiA1z/jUdYnSzsrPSuA+oP1WmfwVjtxeiwB7Asy/d/5OmOtID+a\nzT41irl1Dp5F6mgAI8CZ1LnzYIlvJAQS9+cpLG9rsyYDRr5+78TebiqP02CrRj9S\nstoam6WG21Z9fJ/aPKJ0ZQHkpXuHDy6RHJro+2wk0coWOyNT0UH6/7kuKHjEGaAG\nBXjElxZ8pJySwYXeeD5gmimQKPE/us1BD2jk0KWYxnwJ+jM4S7RipgTSGsy3Nw42\nvKnKw6FwOIoQqwTkiNF+p7EsjeciO09zLecXxlh3p8WREEZU5NICmGL7xItdD+7I\nVr/tn3XNbuSUu0IqdbhO19JoNXG/UwIDAQABo1MwUTAdBgNVHQ4EFgQUcXwqRZUC\nj9+VsyCfy4oIMN9u1V0wHwYDVR0jBBgwFoAUcXwqRZUCj9+VsyCfy4oIMN9u1V0w\nDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAQgWlrEW+K3fCMO9K\n2TuxY6ruXbdekRv+nw+weXe9+GLlyvEFxktYTE/cN8pHrKOG6F/ea+CCHW4xenVp\npchFI8zPQ8kDEDUUrPaQLbw9kzXKLZwUs+KMZXEZJInxWrr1mWeP+lVSf6f4hwNd\nfvJ8SOPe3/IAE0C79JaclzYE3ErfTlBeouQ09jXbeHc0VvodFp7XcmIMA9e5zIzu\nCU1QOa1LRrn5+TI41BbjKypMl8EE7ZEoyWRj4sMQGfuh9/kmu9ZPINJ79/j22vZG\nVj72jKoIu01qI0esfL7GcE9gd9eWhDRuBYNCAfXWK7xvMwYIxeLgP9LJoeBCVMV+\n7k1AHGpgU4UYveu71VCUIlGIaL1t/DKHi8SqDaKV2eImurPp90eLWAU1V6b+UG5/\n+HoUI8Kd5KgfPprv4AKKOTse04xbFDehvgCpQpcwzoV0h2AQtHhsN65dXfO3XPnR\nYQka7OQcEJS/gLXl7FIcpfkNyvi8ompHVSGTnAEB4qAwazz3FWe6r7qbqty2n0Ye\nNTkylMbBMFpMZrP4BP6YFf3BnkzjFcffHvtVGGUbyebQazc+5HyZycabEhekETeS\nLUOCwFWH68wXI23eU5Z7mKAI+rwhqVuJZPzZFUWfNhj7Pt/aby+7SIZAQ9YCR2lk\n6IUdRIpisR9k478g/4pQYly6yN4=\n-----END CERTIFICATE-----"
}
}
Status 200
application/json
Download schema: verifySecureConnectionDto-response-schema.json
Response body:
{
"bookstore.api.akamai.com": {
"title": "OK",
"detail": "The hostname is signed with the provided certificate chain and API Gateway can establish a secure connection."
},
"bookstore-premium.api.akamai.com": {
"title": "CN_MISMATCH_ERROR",
"detail": "The common name in the hostname certificate doesn't correspond to the common name in the hostname. Ensure that both entities refer to the same common name."
}
}
Connection status values
This section lists all available connection status values that you can find in the Verify secure connection operation’s response.
Status | Description |
---|---|
CA_CERTIFICATE_EXPIRED |
API Gateway is unable to initiate a connection. The certificate chain you uploaded is no longer valid. |
CA_CERTIFICATE_NOT_YET_VALID |
API Gateway is unable to initiate a connection. The certificate chain you uploaded isn’t valid yet. |
CERTIFICATE_ALGORITHM_CONSTRAINED |
API Gateway is unable to establish a secure connection with the hostname. The hostname certificate signature algorithm is obsolete. |
CERTIFICATE_INVALID_SIGNATURE |
API Gateway is unable to establish a secure connection with the hostname. The hostname certificate signature may have been altered because it contains invalid data. |
CN_MISMATCH_ERROR |
API Gateway is unable to establish a secure connection with the hostname. The common name in the hostname certificate doesn’t correspond to the common name in the hostname. Ensure that both entities refer to the same common name. |
CONNECT_ERROR |
Ensure that the provided hostname is accessible. Verify that the connection port is open and that access to that port isn’t blocked by a firewall. |
HOST_CERTIFICATE_EXPIRED |
API Gateway is unable to establish a secure connection with the hostname. The hostname certificate is no longer valid. |
HOST_CERTIFICATE_NOT_YET_VALID |
API Gateway is unable to establish a secure connection with the hostname. The hostname certificate isn’t valid yet. |
OK |
The hostname is signed with the provided certificate chain and API Gateway can establish a secure connection. |
SSL_HANDSHAKE_ERROR |
API Gateway is unable to establish a secure connection with the hostname. Ensure that the hostname is signed with the provided certChain . |
UNKNOWN |
API Gateway is unable to establish a connection with the hostname for an unknown reason. |
UNKNOWN_HOST |
API Gateway is unable to establish a connection with the hostname. Ensure that the provided hostname exists. |
UNSUPPORTED_PROTOCOL |
API Gateway is unable to establish a connection with the hostname. Ensure that the provided hostname supports the https protocol. |
Delete an endpoint
Removes an endpoint configuration from API Gateway if none of the endpoint’s versions are active or pending activation on the staging or production network.
DELETE /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
Status 204
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.Make a DELETE request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}
A 204 response confirms the Endpoint object has been deleted.
Hide an endpoint
Hides an endpoint and all its versions. You can
only hide an endpoint with no active versions on the staging or production
network. You cannot activate or delete versions of a hidden endpoint. A hidden endpoint
appears in the List endpoints operation’s response object by default,
or when you set the operation’s show
query parameter to ONLY_HIDDEN
.
Running this operation affects the endpoint listing in the API Definitions user interface.
POST /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
Status 200
application/json
Object type: Endpoint
Download schema: apiEndpointWithResourceDto-schema.json
Response body:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiEndPointId": 492375,
"apiEndPointName": "Bookstore API",
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basePath": "/bookstore",
"consumeType": "any",
"apiEndPointScheme": "http/https",
"contractId": "3-13H55B5",
"groupId": 44681,
"versionNumber": 1,
"clonedFromVersion": 1,
"apiEndPointLocked": false,
"protectedByApiKey": true,
"source": null,
"positiveConstrainsEnabled": null,
"versionHidden": false,
"endpointHidden": false,
"akamaiSecurityRestrictions": null,
"stagingStatus": null,
"productionStatus": null,
"graphQL": false,
"caseSensitive": true,
"isGraphQL": false,
"lockVersion": 2,
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiCategoryIds": [
2,
7
],
"availableActions": [
"DELETE",
"CLONE_ENDPOINT",
"ACTIVATE_ON_PRODUCTION",
"HIDE_ENDPOINT",
"EDIT_ENDPOINT_DEFINITION",
"ACTIVATE_ON_STAGING"
],
"stagingVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"productionVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"securityScheme": {
"securitySchemeType": "apikey",
"securitySchemeDetail": {
"apiKeyLocation": "header",
"apiKeyName": "apikey"
}
},
"apiResources": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2926712,
"apiResourceName": "books",
"resourcePath": "/books/{bookId}",
"description": "A book item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 118435,
"private": false,
"lockVersion": 2,
"apiResourceMethods": [
{
"apiResourceMethodId": 341591,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 184404,
"apiParameters": [
{
"apiParameterId": 1212945,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578116,
"apiResourceMethParamId": 494448,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
},
{
"apiResourceMethodId": 341592,
"apiResourceMethod": "POST",
"apiResourceMethodLogicId": 184405,
"apiParameters": [
{
"apiParameterId": 1212946,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578117,
"apiResourceMethParamId": 494449,
"apiParameterNotes": null,
"apiChildParameters": [],
"apiParameterRestriction": {
"rangeRestriction": null,
"numberRangeRestriction": null,
"arrayRestriction": null,
"xmlConversionRule": null,
"lengthRestriction": {
"lengthMax": 15,
"lengthMin": 3
}
}
}
]
}
]
}
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.Make a POST request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ hide
The response reflects back the hidden Endpoint object.
Show an endpoint
Reveals a hidden endpoint and all its versions.
A revealed endpoint appears in the List endpoints operation’s
response object by default, or when you set the operation’s show
query parameter to ONLY_VISIBLE
.
Running this operation affects the endpoint listing in the API Definitions user interface.
POST /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
Status 200
application/json
Object type: Endpoint
Download schema: apiEndpointWithResourceDto-schema.json
Response body:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiEndPointId": 492375,
"apiEndPointName": "Bookstore API",
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basePath": "/bookstore",
"consumeType": "any",
"apiEndPointScheme": "http/https",
"contractId": "3-13H55B5",
"groupId": 44681,
"versionNumber": 1,
"clonedFromVersion": 1,
"apiEndPointLocked": false,
"protectedByApiKey": true,
"source": null,
"positiveConstrainsEnabled": null,
"versionHidden": false,
"endpointHidden": false,
"akamaiSecurityRestrictions": null,
"stagingStatus": null,
"productionStatus": null,
"graphQL": false,
"caseSensitive": true,
"isGraphQL": false,
"lockVersion": 2,
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiCategoryIds": [
2,
7
],
"availableActions": [
"DELETE",
"CLONE_ENDPOINT",
"ACTIVATE_ON_PRODUCTION",
"HIDE_ENDPOINT",
"EDIT_ENDPOINT_DEFINITION",
"ACTIVATE_ON_STAGING"
],
"stagingVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"productionVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"securityScheme": {
"securitySchemeType": "apikey",
"securitySchemeDetail": {
"apiKeyLocation": "header",
"apiKeyName": "apikey"
}
},
"apiResources": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2926712,
"apiResourceName": "books",
"resourcePath": "/books/{bookId}",
"description": "A book item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 118435,
"private": false,
"lockVersion": 2,
"apiResourceMethods": [
{
"apiResourceMethodId": 341591,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 184404,
"apiParameters": [
{
"apiParameterId": 1212945,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578116,
"apiResourceMethParamId": 494448,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
},
{
"apiResourceMethodId": 341592,
"apiResourceMethod": "POST",
"apiResourceMethodLogicId": 184405,
"apiParameters": [
{
"apiParameterId": 1212946,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578117,
"apiResourceMethParamId": 494449,
"apiParameterNotes": null,
"apiChildParameters": [],
"apiParameterRestriction": {
"rangeRestriction": null,
"numberRangeRestriction": null,
"arrayRestriction": null,
"xmlConversionRule": null,
"lengthRestriction": {
"lengthMax": 15,
"lengthMin": 3
}
}
}
]
}
]
}
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.Make a POST request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ show
The response reflects back the revealed Endpoint object.
List versions
Returns all versions of an endpoint.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
Status 200
application/json
Object type: VersionList
Download schema: apiEndpointVersionListDto-schema.json
Response body:
{
"apiEndPointId": 492375,
"apiEndPointName": "Bookstore API",
"apiVersions": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-17T07:22:29+0000",
"updateDate": "2019-06-17T07:23:11+0000",
"updatedBy": "bookstore_admin",
"apiEndPointVersionId": 599104,
"basePath": "/bookstore2",
"versionNumber": 2,
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basedOn": 1,
"stagingStatus": null,
"productionStatus": null,
"stagingDate": null,
"productionDate": null,
"isVersionLocked": false,
"hidden": false,
"lockVersion": 2,
"availableActions": [
"ACTIVATE_ON_PRODUCTION",
"VIEW_AAG_SETTINGS",
"COMPARE_RAPID_SETTINGS",
"EDIT_AAG_SETTINGS",
"HIDE_VERSION",
"CLONE_VERSION",
"EDIT_ENDPOINT_DEFINITION",
"COMPARE_ENDPOINT",
"RESOURCES",
"ACTIVATE_ON_STAGING",
"DELETE"
]
},
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiEndPointVersionId": 574127,
"basePath": "/bookstore",
"versionNumber": 1,
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basedOn": null,
"stagingStatus": null,
"productionStatus": null,
"stagingDate": null,
"productionDate": null,
"isVersionLocked": false,
"hidden": false,
"lockVersion": 0,
"availableActions": [
"VIEW_AAG_SETTINGS",
"EDIT_AAG_SETTINGS",
"EDIT_ENDPOINT_DEFINITION",
"DELETE",
"ACTIVATE_ON_STAGING",
"COMPARE_RAPID_SETTINGS",
"ACTIVATE_ON_PRODUCTION",
"COMPARE_ENDPOINT",
"CLONE_VERSION",
"RESOURCES",
"HIDE_VERSION"
]
}
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.Make a GET request to
/
api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions
The response’s apiVersions
array features all versions of the
requested Endpoint.
Get a version summary
Returns a summary for a specific endpoint version. The summary is for purely informational purposes, and the response of this operation shouldn’t be used in the corresponding Edit a version PUT request. For the PUT request, use the response object of Get a version.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 1 |
The endpoint version number. |
Status 200
application/json
Download schema: apiVersionSummaryDto-schema.json
Response body:
{
"apiVersionId": 574127,
"stagingStatus": "ACTIVE",
"productionStatus": "ACTIVE",
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basePath": "/bookstore",
"source": null,
"hidden": false,
"apiResourceNames": [
"book",
"user",
"magazine"
],
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiCategoryIds": [],
"availableActions": [
"ACTIVATE_ON_STAGING",
"VIEW_AAG_SETTINGS",
"ACTIVATE_ON_PRODUCTION",
"COMPARE_RAPID_SETTINGS",
"DELETE",
"HIDE_VERSION",
"CLONE_VERSION",
"EDIT_AAG_SETTINGS",
"EDIT_ENDPOINT_DEFINITION",
"RESOURCES",
"COMPARE_ENDPOINT"
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Make a GET request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}
The response object shows the summary information for the requested endpoint version.
Edit a version
Updates details about an endpoint version that has never been activated on the staging or production network. By modifying the Endpoint object, you can configure the endpoint’s security settings and other top-level metadata, or modify the endpoint’s entire set of resources as an alternative to separate calls to Edit a resource. Note that the corresponding Get a version operation you need to run to GET the data uses a different URL.
PUT /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: Endpoint
Download schema: apiEndpointWithResourceDto-schema.json
Request body:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:55+0000",
"updatedBy": "bookstore_admin",
"apiEndPointId": 492375,
"apiEndPointName": "Bookstore API",
"description": "An API for bookstore users allowing them to retrieve book items and modify existing items.",
"basePath": "/bookstore",
"consumeType": "any",
"apiEndPointScheme": "http/https",
"apiEndPointVersion": 574127,
"contractId": "3-13H55B5",
"groupId": 44681,
"versionNumber": 1,
"clonedFromVersion": null,
"apiEndPointLocked": false,
"protectedByApiKey": true,
"source": null,
"positiveConstrainsEnabled": null,
"versionHidden": false,
"endpointHidden": false,
"akamaiSecurityRestrictions": null,
"stagingStatus": null,
"productionStatus": null,
"graphQL": false,
"caseSensitive": true,
"isGraphQL": false,
"lockVersion": 0,
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiCategoryIds": [],
"availableActions": [
"DELETE",
"CLONE_ENDPOINT",
"ACTIVATE_ON_PRODUCTION",
"HIDE_ENDPOINT",
"EDIT_ENDPOINT_DEFINITION",
"ACTIVATE_ON_STAGING"
],
"stagingVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"productionVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"securityScheme": {
"securitySchemeType": "apikey",
"securitySchemeDetail": {
"apiKeyName": "apikey",
"apiKeyLocation": "header"
}
},
"apiResources": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2926712,
"apiResourceName": "books",
"resourcePath": "/books/{bookId}",
"description": "A book item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 118435,
"private": false,
"lockVersion": 0,
"apiResourceMethods": [
{
"apiResourceMethodId": 341591,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 184404,
"apiParameters": [
{
"apiParameterId": 1212945,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": 3,
"apiParamLogicId": 578116,
"apiResourceMethParamId": 494448,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
},
{
"apiResourceMethodId": 341592,
"apiResourceMethod": "POST",
"apiResourceMethodLogicId": 184405,
"apiParameters": [
{
"apiParameterId": 1212946,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": 3,
"apiParamLogicId": 578117,
"apiResourceMethParamId": 494449,
"apiParameterNotes": null,
"apiChildParameters": [],
"apiParameterRestriction": {
"rangeRestriction": null,
"numberRangeRestriction": null,
"arrayRestriction": null,
"xmlConversionRule": null,
"lengthRestriction": {
"lengthMax": 15,
"lengthMin": 3
}
}
}
]
}
]
}
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 1 |
The endpoint version number. |
Status 200
application/json
Object type: Endpoint
Download schema: apiEndpointWithResourceDto-schema.json
Response body:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:55+0000",
"updatedBy": "bookstore_admin",
"apiEndPointId": 492375,
"apiEndPointName": "Bookstore API",
"description": "An API for bookstore users allowing them to retrieve book items and modify existing items.",
"basePath": "/bookstore",
"consumeType": "any",
"apiEndPointScheme": "http/https",
"apiEndPointVersion": 574127,
"contractId": "3-13H55B5",
"groupId": 44681,
"versionNumber": 1,
"clonedFromVersion": null,
"apiEndPointLocked": false,
"protectedByApiKey": true,
"source": null,
"positiveConstrainsEnabled": null,
"versionHidden": false,
"endpointHidden": false,
"akamaiSecurityRestrictions": null,
"stagingStatus": null,
"productionStatus": null,
"graphQL": false,
"caseSensitive": true,
"isGraphQL": false,
"lockVersion": 0,
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiCategoryIds": [],
"availableActions": [
"DELETE",
"CLONE_ENDPOINT",
"ACTIVATE_ON_PRODUCTION",
"HIDE_ENDPOINT",
"EDIT_ENDPOINT_DEFINITION",
"ACTIVATE_ON_STAGING"
],
"stagingVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"productionVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"securityScheme": {
"securitySchemeType": "apikey",
"securitySchemeDetail": {
"apiKeyName": "apikey",
"apiKeyLocation": "header"
}
},
"apiResources": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2926712,
"apiResourceName": "books",
"resourcePath": "/books/{bookId}",
"description": "A book item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 118435,
"private": false,
"lockVersion": 0,
"apiResourceMethods": [
{
"apiResourceMethodId": 341591,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 184404,
"apiParameters": [
{
"apiParameterId": 1212945,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": 3,
"apiParamLogicId": 578116,
"apiResourceMethParamId": 494448,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
},
{
"apiResourceMethodId": 341592,
"apiResourceMethod": "POST",
"apiResourceMethodLogicId": 184405,
"apiParameters": [
{
"apiParameterId": 1212946,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": 3,
"apiParamLogicId": 578117,
"apiResourceMethParamId": 494449,
"apiParameterNotes": null,
"apiChildParameters": [],
"apiParameterRestriction": {
"rangeRestriction": null,
"numberRangeRestriction": null,
"arrayRestriction": null,
"xmlConversionRule": null,
"lengthRestriction": {
"lengthMax": 15,
"lengthMin": 3
}
}
}
]
}
]
}
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Run the Get a version operation for the complete representation of the object.
Modify the returned Endpoint object.
PUT the object to this URL:
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}
A 200 response confirms success, and the response object reflects your modifications.
Delete a version
Removes an endpoint version from API Gateway if the version has never been activated on the staging or production network. This is a soft delete operation that preserves the version’s information, such as its number, in the database. Each endpoint version you create has a permanent number that cannot be reused even if you remove a version. A removed endpoint version no longer appears in the List versions operation’s response object.
DELETE /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 1 |
The endpoint version number. |
Status 204
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Make a DELETE request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}
A 204 response confirms the version has been deleted.
Hide a version
Hides an endpoint version. You can only hide
inactive or deactivated versions. You cannot activate or delete hidden versions.
A hidden endpoint version appears in the List versions
operation’s response object with the hidden
parameter set to true
.
Running this operation affects the version listing in the API Definitions user interface.
POST /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 1 |
The endpoint version number. |
Status 200
application/json
Object type: Endpoint
Download schema: apiEndpointWithResourceDto-schema.json
Response body:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiEndPointId": 492375,
"apiEndPointName": "Bookstore API",
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basePath": "/bookstore",
"consumeType": "any",
"apiEndPointScheme": "http/https",
"contractId": "3-13H55B5",
"groupId": 44681,
"versionNumber": 1,
"clonedFromVersion": 1,
"apiEndPointLocked": false,
"protectedByApiKey": true,
"source": null,
"positiveConstrainsEnabled": null,
"versionHidden": false,
"endpointHidden": false,
"akamaiSecurityRestrictions": null,
"stagingStatus": null,
"productionStatus": null,
"graphQL": false,
"caseSensitive": true,
"isGraphQL": false,
"lockVersion": 2,
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiCategoryIds": [
2,
7
],
"availableActions": [
"DELETE",
"CLONE_ENDPOINT",
"ACTIVATE_ON_PRODUCTION",
"HIDE_ENDPOINT",
"EDIT_ENDPOINT_DEFINITION",
"ACTIVATE_ON_STAGING"
],
"stagingVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"productionVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"securityScheme": {
"securitySchemeType": "apikey",
"securitySchemeDetail": {
"apiKeyLocation": "header",
"apiKeyName": "apikey"
}
},
"apiResources": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2926712,
"apiResourceName": "books",
"resourcePath": "/books/{bookId}",
"description": "A book item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 118435,
"private": false,
"lockVersion": 2,
"apiResourceMethods": [
{
"apiResourceMethodId": 341591,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 184404,
"apiParameters": [
{
"apiParameterId": 1212945,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578116,
"apiResourceMethParamId": 494448,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
},
{
"apiResourceMethodId": 341592,
"apiResourceMethod": "POST",
"apiResourceMethodLogicId": 184405,
"apiParameters": [
{
"apiParameterId": 1212946,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578117,
"apiResourceMethParamId": 494449,
"apiParameterNotes": null,
"apiChildParameters": [],
"apiParameterRestriction": {
"rangeRestriction": null,
"numberRangeRestriction": null,
"arrayRestriction": null,
"xmlConversionRule": null,
"lengthRestriction": {
"lengthMax": 15,
"lengthMin": 3
}
}
}
]
}
]
}
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Make a POST request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ hide
The response reflects back an Endpoint object with the
hidden version indicated in the versionNumber
field.
Show a version
Reveals a hidden endpoint version.
A revealed endpoint version appears in the List versions
operation’s response object with the hidden
parameter set to false
.
Running this operation affects the version listing in the API Definitions user interface.
POST /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 1 |
The endpoint version number. |
Status 200
application/json
Object type: Endpoint
Download schema: apiEndpointWithResourceDto-schema.json
Response body:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiEndPointId": 492375,
"apiEndPointName": "Bookstore API",
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basePath": "/bookstore",
"consumeType": "any",
"apiEndPointScheme": "http/https",
"contractId": "3-13H55B5",
"groupId": 44681,
"versionNumber": 1,
"clonedFromVersion": 1,
"apiEndPointLocked": false,
"protectedByApiKey": true,
"source": null,
"positiveConstrainsEnabled": null,
"versionHidden": false,
"endpointHidden": false,
"akamaiSecurityRestrictions": null,
"stagingStatus": null,
"productionStatus": null,
"graphQL": false,
"caseSensitive": true,
"isGraphQL": false,
"lockVersion": 2,
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiCategoryIds": [
2,
7
],
"availableActions": [
"DELETE",
"CLONE_ENDPOINT",
"ACTIVATE_ON_PRODUCTION",
"HIDE_ENDPOINT",
"EDIT_ENDPOINT_DEFINITION",
"ACTIVATE_ON_STAGING"
],
"stagingVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"productionVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"securityScheme": {
"securitySchemeType": "apikey",
"securitySchemeDetail": {
"apiKeyLocation": "header",
"apiKeyName": "apikey"
}
},
"apiResources": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2926712,
"apiResourceName": "books",
"resourcePath": "/books/{bookId}",
"description": "A book item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 118435,
"private": false,
"lockVersion": 2,
"apiResourceMethods": [
{
"apiResourceMethodId": 341591,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 184404,
"apiParameters": [
{
"apiParameterId": 1212945,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578116,
"apiResourceMethParamId": 494448,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
},
{
"apiResourceMethodId": 341592,
"apiResourceMethod": "POST",
"apiResourceMethodLogicId": 184405,
"apiParameters": [
{
"apiParameterId": 1212946,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578117,
"apiResourceMethParamId": 494449,
"apiParameterNotes": null,
"apiChildParameters": [],
"apiParameterRestriction": {
"rangeRestriction": null,
"numberRangeRestriction": null,
"arrayRestriction": null,
"xmlConversionRule": null,
"lengthRestriction": {
"lengthMax": 15,
"lengthMin": 3
}
}
}
]
}
]
}
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Make a POST request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ show
The response reflects back an Endpoint object with the
revealed version indicated in the versionNumber
field.
Edit an endpoint from an API definition file
Imports an API definition file with details about an endpoint. Unlike Register an endpoint from an API definition file, this operation doesn’t create a new endpoint, but updates details of an existing endpoint. You can run this operation in two ways. To POST JSON data, see Make a JSON request to edit an endpoint from an API definition file. To make a form request using these parameters, see Make a form request to edit an endpoint from an API definition file. Once you submit the POST request, to finish modifying the endpoint version, you need to take the response data and submit it as a request to the Edit a version operation.
POST /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: ImportFile
Download schema: importFileDto-schema.json
Request body:
{
"importFileFormat": "swagger",
"importFileSource": "BODY_BASE64",
"importFileContent": "ewogICJzd2FnZ2VyIjogIjIuMCIsCiAgImluZm8iOiB7CiAgICAidmVyc2lvbiI6ICIxLjAuMCIsCiAgICAidGl0bGUiOiAiQm9va3N0b3JlIEFQSSIsCiAgICAiZGVzY3JpcHRpb24iOiAiQW4gQVBJIGZvciBib29rc3RvcmUgdXNlcnMgYWxsb3dpbmcgdGhlbSB0byByZXRyaWV2ZSBib29rIGl0ZW1zLCBhZGQgbmV3IGl0ZW1zIChhZG1pbiB1c2VycyksIGFuZCBtb2RpZnkgZXhpc3RpbmcgaXRlbXMuIgogIH0sCiAgImhvc3QiOiAiYm9va3N0b3JlLmFwaS5ha2FtYWkuY29tIiwKICAic2NoZW1lcyI6IFsKICAgICJodHRwIiwKICAgICJodHRwcyIKICBdLAogICJzZWN1cml0eURlZmluaXRpb25zIjogewogICAgImFwaV9rZXkiOiB7CiAgICAgICJ0eXBlIjogImFwaUtleSIsCiAgICAgICJuYW1lIjogImFwaUtleSIsCiAgICAgICJpbiI6ICJoZWFkZXIiCiAgICB9CiAgfSwKICAiYmFzZVBhdGgiOiAiL2Jvb2tzdG9yZSIsCiAgInBhdGhzIjogewogICAgIi9ib29rcyI6IHsKICAgICAgImdldCI6IHsKICAgICAgICAiZGVzY3JpcHRpb24iOiAiTGlzdHMgYWxsIGJvb2sgaXRlbXMuIiwKICAgICAgICAib3BlcmF0aW9uSWQiOiAiZ2V0Qm9va3MiLAogICAgICAgICJwcm9kdWNlcyI6IFsKICAgICAgICAgICJhcHBsaWNhdGlvbi9qc29uIgogICAgICAgIF0sCiAgICAgICAgInJlc3BvbnNlcyI6IHsKICAgICAgICAgICIyMDAiOiB7CiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJCb29rIHJlc3BvbnNlLiIsCiAgICAgICAgICAgICJzY2hlbWEiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvYm9vayIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sCiAgICAgICJwb3N0IjogewogICAgICAgICJkZXNjcmlwdGlvbiI6ICJDcmVhdGVzIGEgYm9vayBpdGVtIGluIHRoZSBib29rc3RvcmUuIiwKICAgICAgICAib3BlcmF0aW9uSWQiOiAicG9zdEJvb2siLAogICAgICAgICJwcm9kdWNlcyI6IFsKICAgICAgICAgICJhcHBsaWNhdGlvbi9qc29uIgogICAgICAgIF0sCiAgICAgICAgInBhcmFtZXRlcnMiOiBbewogICAgICAgICAgIm5hbWUiOiAiYm9vayIsCiAgICAgICAgICAiaW4iOiAiYm9keSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBib29rIHRvIGFkZCB0byB0aGUgYm9va3N0b3JlLiIsCiAgICAgICAgICAicmVxdWlyZWQiOiB0cnVlLAogICAgICAgICAgInNjaGVtYSI6IHsKICAgICAgICAgICAgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9uZXdCb29rIgogICAgICAgICAgfQogICAgICAgIH1dLAogICAgICAgICJyZXNwb25zZXMiOiB7CiAgICAgICAgICAiMjAwIjogewogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQm9vayByZXNwb25zZS4iLAogICAgICAgICAgICAic2NoZW1hIjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9ib29rIgogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIi9ib29rcy97aWR9IjogewogICAgICAiZ2V0IjogewogICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIGEgYm9vayBpdGVtLiIsCiAgICAgICAgIm9wZXJhdGlvbklkIjogImdldEJvb2siLAogICAgICAgICJwcm9kdWNlcyI6IFsKICAgICAgICAgICJhcHBsaWNhdGlvbi9qc29uIgogICAgICAgIF0sCiAgICAgICAgInBhcmFtZXRlcnMiOiBbewogICAgICAgICAgIm5hbWUiOiAiaWQiLAogICAgICAgICAgImluIjogInBhdGgiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkEgc3BlY2lmaWMgSUQgb2YgYSBib29rIGl0ZW0gdG8gcmV0dXJuLiIsCiAgICAgICAgICAicmVxdWlyZWQiOiB0cnVlLAogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIKICAgICAgICB9XSwKICAgICAgICAicmVzcG9uc2VzIjogewogICAgICAgICAgIjIwMCI6IHsKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkJvb2sgcmVzcG9uc2UuIiwKICAgICAgICAgICAgInNjaGVtYSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvYm9vayIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlbGV0ZSI6IHsKICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVsZXRlcyBhIGJvb2sgaXRlbSBmcm9tIHRoZSBib29rc3RvcmUuIiwKICAgICAgICAib3BlcmF0aW9uSWQiOiAiZGVsZXRlQm9vayIsCiAgICAgICAgInByb2R1Y2VzIjogWwogICAgICAgICAgImFwcGxpY2F0aW9uL2pzb24iCiAgICAgICAgXSwKICAgICAgICAicGFyYW1ldGVycyI6IFt7CiAgICAgICAgICAibmFtZSI6ICJpZCIsCiAgICAgICAgICAiaW4iOiAicGF0aCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBzcGVjaWZpYyBJRCBvZiBhIGJvb2sgaXRlbSB0byBkZWxldGUuIiwKICAgICAgICAgICJyZXF1aXJlZCI6IHRydWUsCiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIgogICAgICAgIH1dLAogICAgICAgICJyZXNwb25zZXMiOiB7CiAgICAgICAgICAiMjA0IjogewogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQm9vayBkZWxldGVkIgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KfQ==",
"contractId": "3-13H55B5",
"groupId": 44681
}
POST /api-definitions/
Sample: /api-definitions/
Content-Type: multipart/form-data
See Parameters for details on upload content.
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 1 |
The endpoint version number. |
Form parameters | |||
importFileFormat |
Enumeration | raml |
The format of the API definition, either raml (0.8) or swagger (2.0 or 3.0). |
importFile |
File | #%RAML 0.8... |
The complete file to import. |
importUrl |
String | https://example.com/descriptor.raml |
The URL from which to get the API definition file. |
root |
String | api_descriptor.raml |
If the import file is a ZIP archive, this identifies the API definition’s filename within the archive. |
Status 200
application/json
Object type: Endpoint
Download schema: apiEndpointWithResourceDto-schema.json
Response body:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiEndPointId": 492375,
"apiEndPointName": "Bookstore API",
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basePath": "/bookstore",
"consumeType": "any",
"apiEndPointScheme": "http/https",
"contractId": "3-13H55B5",
"groupId": 44681,
"versionNumber": 1,
"clonedFromVersion": 1,
"apiEndPointLocked": false,
"protectedByApiKey": true,
"source": null,
"positiveConstrainsEnabled": null,
"versionHidden": false,
"endpointHidden": false,
"akamaiSecurityRestrictions": null,
"stagingStatus": null,
"productionStatus": null,
"graphQL": false,
"caseSensitive": true,
"isGraphQL": false,
"lockVersion": 2,
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiCategoryIds": [
2,
7
],
"availableActions": [
"DELETE",
"CLONE_ENDPOINT",
"ACTIVATE_ON_PRODUCTION",
"HIDE_ENDPOINT",
"EDIT_ENDPOINT_DEFINITION",
"ACTIVATE_ON_STAGING"
],
"stagingVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"productionVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"securityScheme": {
"securitySchemeType": "apikey",
"securitySchemeDetail": {
"apiKeyLocation": "header",
"apiKeyName": "apikey"
}
},
"apiResources": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2926712,
"apiResourceName": "books",
"resourcePath": "/books/{bookId}",
"description": "A book item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 118435,
"private": false,
"lockVersion": 2,
"apiResourceMethods": [
{
"apiResourceMethodId": 341591,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 184404,
"apiParameters": [
{
"apiParameterId": 1212945,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578116,
"apiResourceMethParamId": 494448,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
},
{
"apiResourceMethodId": 341592,
"apiResourceMethod": "POST",
"apiResourceMethodLogicId": 184405,
"apiParameters": [
{
"apiParameterId": 1212946,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578117,
"apiResourceMethParamId": 494449,
"apiParameterNotes": null,
"apiChildParameters": [],
"apiParameterRestriction": {
"rangeRestriction": null,
"numberRangeRestriction": null,
"arrayRestriction": null,
"xmlConversionRule": null,
"lengthRestriction": {
"lengthMax": 15,
"lengthMin": 3
}
}
}
]
}
]
}
]
}
Make a JSON request to edit an endpoint from an API definition file
This section shows you how to update an endpoint from an API definition file
by submitting an application/json
request. If instead you’d like to submit
a multipart/form-data
request to update an endpoint, see Make a form request to edit an endpoint from an API definition file.
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Build an ImportFile object, specifying the
importFileFormat
andimportFileSource
. Depending on theimportFileSource
, specify either theimportFileContent
orimportUrl
.POST the object to
/
.api-definitions/ v2/ endpoints/ file Use the POST response JSON as request data for the Edit a version PUT operation.
A 200 response confirms success, and the response object reflects your modifications.
Make a form request to edit an endpoint from an API definition file
This section shows you how to update an endpoint from an API definition file
by submitting a multipart/form-data
request (see RFC 2388 for details).
If instead you’d like to submit an application/json
request to update an endpoint, see Make a JSON request to edit an endpoint from an API definition file.
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Prepare an API definition file and set the
importFileFormat
toraml
orswagger
.Assign the filename as the
importFile
.Optionally embed the API definition within a ZIP archive, in which case reset the definition filename as
root
and the name of the archive asimportFile
.Optionally make the definition or archive file available on the web at an
importUrl
.Prepare a
multipart/form-data
request specifying the fields listed in Parameters. Specify either animportFile
orimportUrl
, and make sure to specify theroot
if you’re uploading a ZIP archive.Make a form data POST request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ file Use the POST response JSON as request data for the Edit a version PUT operation.
A 200 response confirms success, and the response object reflects your modifications.
Get a version
Returns an endpoint version. Use this operation’s Endpoint response object when modifying an endpoint version through Edit a version. Don’t use Get a version summary for the Edit a version operation.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 1 |
The endpoint version number. |
Status 200
application/json
Object type: Endpoint
Download schema: apiEndpointWithResourceDto-schema.json
Response body:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiEndPointId": 492375,
"apiEndPointName": "Bookstore API",
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basePath": "/bookstore",
"consumeType": "any",
"apiEndPointScheme": "http/https",
"contractId": "3-13H55B5",
"groupId": 44681,
"versionNumber": 1,
"clonedFromVersion": 1,
"apiEndPointLocked": false,
"protectedByApiKey": true,
"source": null,
"positiveConstrainsEnabled": null,
"versionHidden": false,
"endpointHidden": false,
"akamaiSecurityRestrictions": null,
"stagingStatus": null,
"productionStatus": null,
"graphQL": false,
"caseSensitive": true,
"isGraphQL": false,
"lockVersion": 2,
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiCategoryIds": [
2,
7
],
"availableActions": [
"DELETE",
"CLONE_ENDPOINT",
"ACTIVATE_ON_PRODUCTION",
"HIDE_ENDPOINT",
"EDIT_ENDPOINT_DEFINITION",
"ACTIVATE_ON_STAGING"
],
"stagingVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"productionVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"securityScheme": {
"securitySchemeType": "apikey",
"securitySchemeDetail": {
"apiKeyLocation": "header",
"apiKeyName": "apikey"
}
},
"apiResources": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2926712,
"apiResourceName": "books",
"resourcePath": "/books/{bookId}",
"description": "A book item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 118435,
"private": false,
"lockVersion": 2,
"apiResourceMethods": [
{
"apiResourceMethodId": 341591,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 184404,
"apiParameters": [
{
"apiParameterId": 1212945,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578116,
"apiResourceMethParamId": 494448,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
},
{
"apiResourceMethodId": 341592,
"apiResourceMethod": "POST",
"apiResourceMethodLogicId": 184405,
"apiParameters": [
{
"apiParameterId": 1212946,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578117,
"apiResourceMethParamId": 494449,
"apiParameterNotes": null,
"apiChildParameters": [],
"apiParameterRestriction": {
"rangeRestriction": null,
"numberRangeRestriction": null,
"arrayRestriction": null,
"xmlConversionRule": null,
"lengthRestriction": {
"lengthMax": 15,
"lengthMin": 3
}
}
}
]
}
]
}
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Make a GET request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ resources-detail
The response is the requested version of the specified Endpoint object.
Clone a version
Creates a new endpoint version as a clone of an existing version. The system assigns a new number to the version that you clone.
POST /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 1 |
The endpoint version number. |
Status 200
application/json
Object type: Endpoint
Download schema: apiEndpointWithResourceDto-schema.json
Response body:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiEndPointId": 492375,
"apiEndPointName": "Bookstore API Premium",
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basePath": "/bookstore-premium",
"consumeType": "any",
"apiEndPointScheme": "http/https",
"apiEndPointVersion": 574127,
"contractId": "3-13H55B5",
"groupId": 44681,
"versionNumber": 2,
"clonedFromVersion": 1,
"apiEndPointLocked": false,
"protectedByApiKey": true,
"source": null,
"positiveConstrainsEnabled": null,
"versionHidden": false,
"endpointHidden": false,
"akamaiSecurityRestrictions": null,
"stagingStatus": null,
"productionStatus": null,
"graphQL": false,
"caseSensitive": true,
"isGraphQL": false,
"lockVersion": 2,
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiCategoryIds": [
2,
7
],
"availableActions": [
"DELETE",
"CLONE_ENDPOINT",
"ACTIVATE_ON_PRODUCTION",
"HIDE_ENDPOINT",
"EDIT_ENDPOINT_DEFINITION",
"ACTIVATE_ON_STAGING"
],
"stagingVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"productionVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"securityScheme": {
"securitySchemeType": "apikey",
"securitySchemeDetail": {
"apiKeyLocation": "header",
"apiKeyName": "apikey"
}
},
"apiResources": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2926712,
"apiResourceName": "books",
"resourcePath": "/books/{bookId}",
"description": "A book item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 118435,
"private": false,
"lockVersion": 2,
"apiResourceMethods": [
{
"apiResourceMethodId": 341591,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 184404,
"apiParameters": [
{
"apiParameterId": 1212945,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578116,
"apiResourceMethParamId": 494448,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
},
{
"apiResourceMethodId": 341592,
"apiResourceMethod": "POST",
"apiResourceMethodLogicId": 184405,
"apiParameters": [
{
"apiParameterId": 1212946,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578117,
"apiResourceMethParamId": 494449,
"apiParameterNotes": null,
"apiChildParameters": [],
"apiParameterRestriction": {
"rangeRestriction": null,
"numberRangeRestriction": null,
"arrayRestriction": null,
"xmlConversionRule": null,
"lengthRestriction": {
"lengthMax": 15,
"lengthMin": 3
}
}
}
]
}
]
}
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Make a POST request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ cloneVersion
The response reflects back the cloned version of the specified Endpoint object.
Activate a version
Activates an endpoint version on the staging or production network. If another version of the endpoint is already active on the specified network, that version automatically deactivates and the newly activated version takes its place. If an active version of another endpoint shares any hostnames with the version you activate, the API automatically deactivates the version with conflicting hostnames, creates a new version of the impacted endpoint, migrates the non-conflicting hostnames and other API details to the new version, and activates the new version.
POST /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: Activation
Download schema: activationDto-schema.json
Request body:
{
"notes": "Activating the first version of the Bookstore API on both staging and production networks.",
"networks": [
"STAGING",
"PRODUCTION"
],
"notificationRecipients": [
"bookstore_shared@akamai.com"
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 1 |
The endpoint version number. |
Status 200
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Build an Activation object, specifying the
networks
where you activate the version and the email addresses for thenotificationRecipients
.POST the object to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ activate
A 200 response confirms a successful activation.
Deactivate a version
Deactivates an endpoint version on the staging or production network. A deactivated endpoint version no longer serves traffic through the Akamai network.
POST /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: Activation
Download schema: activationDto-schema.json
Request body:
{
"notes": "Activating the first version of the Bookstore API on both staging and production networks.",
"networks": [
"STAGING",
"PRODUCTION"
],
"notificationRecipients": [
"bookstore_shared@akamai.com"
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 1 |
The endpoint version number. |
Status 200
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Build an Activation object, specifying the
networks
where you deactivate the version and the email addresses for thenotificationRecipients
.POST the object to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ deactivate
A 200 response confirms a successful deactivation.
List resources
Lists all resources associated with an endpoint version.
You can use the apiResourceId
of each returned resource to modify resources individually through
the Edit a resource operation, or run the Edit a version
operation to batch-modify a group of resources.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 1 |
The endpoint version number. |
Status 200
application/json
Object type: Resource
Download schema: apiResourceMethParamsDto-schema.json
Response body:
[
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2926712,
"apiResourceName": "book",
"resourcePath": "/book/{bookId}",
"description": "A book item within the bookstore API.",
"link": "/api-definitions/v1/endpoints/574127/resources",
"apiResourceClonedFromId": null,
"apiResourceLogicId": 118435,
"private": false,
"lockVersion": 0,
"apiResourceMethodNameLists": [
"POST",
"GET"
]
},
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-17T08:17:23+0000",
"updateDate": "2019-06-17T08:17:23+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2935128,
"apiResourceName": "user",
"resourcePath": "/user/{userId}",
"description": "A registered bookstore user.",
"link": "/api-definitions/v1/endpoints/574127/resources",
"apiResourceClonedFromId": null,
"apiResourceLogicId": 126224,
"private": false,
"lockVersion": 0,
"apiResourceMethodNameLists": [
"POST",
"GET",
"PUT"
]
},
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-17T08:26:59+0000",
"updateDate": "2019-06-17T08:26:59+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2935139,
"apiResourceName": "magazine",
"resourcePath": "/magazine/{magazineId}",
"description": "A magazine item within the bookstore API.",
"link": "/api-definitions/v1/endpoints/574127/resources",
"apiResourceClonedFromId": null,
"apiResourceLogicId": 126269,
"private": false,
"lockVersion": 0,
"apiResourceMethodNameLists": [
"GET"
]
}
]
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Make a GET request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ resources
The response is an array of Resource objects.
Create a resource
Creates a resource in an endpoint version. The
resource’s full URL (concatenated hostname, basePath
, and resourcepath
) needs
to be unique within the account. You can only create resources
for versions that have never been activated on the staging or production network.
POST /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: Resource
Download schema: apiResourceMethParamsDto-schema.json
Request body:
{
"apiResourceName": "magazine",
"resourcePath": "/magazine/{magazineId}",
"description": "A magazine item within the bookstore API.",
"apiResourceMethods": [
{
"apiResourceMethod": "GET",
"apiParameters": [
{
"apiParameterRequired": true,
"apiParameterName": "magazineId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"apiParameterNotes": null,
"array": false,
"apiParameterRestriction": null
}
]
}
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 1 |
The endpoint version number. |
Status 201
application/json
Headers:
Location: /api-definitions/v2/endpoints/123/versions/1/resources/1234
Object type: Resource
Download schema: apiResourceMethParamsDto-schema.json
Response body:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-17T08:26:59+0000",
"updateDate": "2019-06-17T08:26:59+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2935139,
"apiResourceName": "magazine",
"resourcePath": "/magazine/{magazineId}",
"description": "A magazine item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 126269,
"private": false,
"lockVersion": 0,
"apiResourceMethods": [
{
"apiResourceMethodId": 365559,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 205820,
"apiParameters": [
{
"apiParameterId": 1223250,
"apiParameterRequired": true,
"apiParameterName": "magazineId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 588309,
"apiResourceMethParamId": 500315,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
}
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Build a Resource object, specifying a unique
apiResourceName
andresourcePath
.POST the object to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ resources
The response reflects back the complete Resource object,
from which you can store the apiResourceId
value. You can access the
newly created resource at the URL specified in the Location
response
header.
Get a resource
Returns a resource within an endpoint version.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 1 |
The endpoint version number. |
apiResourceId |
Integer | 7689 |
The unique identifier for the resource. |
Status 200
application/json
Object type: Resource
Download schema: apiResourceMethParamsDto-schema.json
Response body:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-17T08:26:59+0000",
"updateDate": "2019-06-17T08:26:59+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2935139,
"apiResourceName": "magazine",
"resourcePath": "/magazine/{magazineId}",
"description": "A magazine item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 126269,
"private": false,
"lockVersion": 0,
"apiResourceMethods": [
{
"apiResourceMethodId": 365559,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 205820,
"apiParameters": [
{
"apiParameterId": 1223250,
"apiParameterRequired": true,
"apiParameterName": "magazineId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 588309,
"apiResourceMethParamId": 500315,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
}
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.If you don’t already have an
apiResourceId
value, run the List resources operation.Select the appropriate resource from the returned array and store its
apiResourceId
value.Make a GET request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ resources/ {apiResourceId}
The response is a Resource object.
Edit a resource
Updates a resource within an endpoint version. You can edit information about a resource, the methods, and the parameters associated with a resource. You can only modify resources associated with versions that have never been activated on the staging or production network.
PUT /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: Resource
Download schema: apiResourceMethParamsDto-schema.json
Request body:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-17T08:26:59+0000",
"updateDate": "2019-06-17T08:26:59+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2935139,
"apiResourceName": "magazine",
"resourcePath": "/magazine/{magazineId}",
"description": "A magazine item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 126269,
"private": false,
"lockVersion": 0,
"apiResourceMethods": [
{
"apiResourceMethodId": 365559,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 205820,
"apiParameters": [
{
"apiParameterId": 1223250,
"apiParameterRequired": true,
"apiParameterName": "magazineId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 588309,
"apiResourceMethParamId": 500315,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
}
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 1 |
The endpoint version number. |
apiResourceId |
Integer | 7689 |
The unique identifier for the resource. |
Status 200
application/json
Object type: Resource
Download schema: apiResourceMethParamsDto-schema.json
Response body:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-17T08:26:59+0000",
"updateDate": "2019-06-17T08:26:59+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2935139,
"apiResourceName": "magazine",
"resourcePath": "/magazine/{magazineId}",
"description": "A magazine item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 126269,
"private": false,
"lockVersion": 0,
"apiResourceMethods": [
{
"apiResourceMethodId": 365559,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 205820,
"apiParameters": [
{
"apiParameterId": 1223250,
"apiParameterRequired": true,
"apiParameterName": "magazineId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 588309,
"apiResourceMethParamId": 500315,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
}
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.If you don’t already have an
apiResourceId
value, run the List resources operation.Select the appropriate resource from the returned array and store its
apiResourceId
value.Run the Get a resource operation for the complete representation of the object.
Modify the returned Resource object.
PUT the object back to the same URL as the GET:
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ resources/ {apiResourceId}
A 200 response confirms success, and the response object reflects your modifications.
Delete a resource
Removes a resource from an endpoint version. You can only remove resources associated with versions that have never been activated on the staging or production network.
DELETE /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 12892 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 1 |
The endpoint version number. |
apiResourceId |
Integer | 7689 |
The unique identifier for the resource. |
Status 204
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.If you don’t already have an
apiResourceId
value, run the List resources operation.Select the appropriate resource from the returned array and store its
apiResourceId
value.Make a DELETE request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ resources/ {apiResourceId}
A 204 response confirms the resource has been deleted.
Get API privacy settings
Returns the API privacy settings configured for an endpoint version and its associated resources.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: ApiPrivacySettings
Download schema: apiPrivacySettingsDto-schema.json
Response body:
{
"public": false,
"resources": {
"2926712": {
"public": false,
"path": "/book/{bookId}",
"inheritsFromEndpoint": true,
"notes": "A book item within the bookstore API.",
"methods": {
"GET": {
"public": false,
"inheritsFromEndpoint": true
},
"POST": {
"public": false,
"inheritsFromEndpoint": true
}
}
}
}
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Make a GET request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ api-privacy
The response is an ApiPrivacySettings object that displays API privacy settings for the requested endpoint version and its associated resources.
Edit API privacy settings
Updates the API privacy settings configured for an endpoint version and its associated resources.
PUT /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: ApiPrivacySettings
Download schema: apiPrivacySettingsDto-schema.json
Request body:
{
"public": false,
"resources": {
"2926712": {
"public": false,
"path": "/book/{bookId}",
"inheritsFromEndpoint": true,
"notes": "A book item within the bookstore API.",
"methods": {
"GET": {
"public": false,
"inheritsFromEndpoint": true
},
"POST": {
"public": false,
"inheritsFromEndpoint": true
}
}
}
}
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: ApiPrivacySettings
Download schema: apiPrivacySettingsDto-schema.json
Response body:
{
"public": false,
"resources": {
"2926712": {
"public": false,
"path": "/book/{bookId}",
"inheritsFromEndpoint": true,
"notes": "A book item within the bookstore API.",
"methods": {
"GET": {
"public": false,
"inheritsFromEndpoint": true
},
"POST": {
"public": false,
"inheritsFromEndpoint": true
}
}
}
}
}
If you don’t already have apiEndpointId
and versionNumber
values:
Run the List endpoints operation.
Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.Run the List versions operation.
Select the appropriate endpoint version from the returned array and store its
versionNumber
value.
To modify endpoint-level API privacy settings:
Run the Get API privacy settings operation for the complete representation of the object.
Modify the returned ApiPrivacySettings object.
PUT the object back to the same URL as the GET:
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ api-privacy
To modify API privacy settings for individual resources:
Run the List resources operation.
Select the appropriate resource from the returned array and store its
apiResourceId
value.If the
apiResourceId
is present in the ApiPrivacySettings object’sresources
, modify theApiPrivacySettings.resources.{apiResourceId}
value.If the
apiResourceId
is absent from the ApiPrivacySettings object’sresources
, create a newApiPrivacySettings.resources.{apiResourceId}
object under that key.PUT the full object back to the same URL as the GET:
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ api-privacy
A 200 response confirms success, and the response object reflects your modifications.
Get JWT settings
Returns the JWT validation settings configured for an endpoint version and its associated resources.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: JwtSettings
Download schema: jwtDto-schema.json
Response body:
{
"enabled": true,
"settings": {
"location": "HEADER",
"paramName": "Authorization",
"clockSkew": 10,
"validation": {
"rsaPublicKeyB": null,
"rsaPublicKeyA": {
"name": "publicKey",
"content": "-----BEGIN PUBLIC KEY-----\nMIIBIjwE9GQg+OR0WYHtq4AKsvK2eucDs06ejWRDb+uDN\n80jxZCxfweelZKvYT9Qdms/1SJv\nrQIDAQAB\n-----END PUBLIC KEY-----"
},
"claims": [
{
"name": "aud",
"validate": false,
"required": false,
"type": "ARRAY",
"value": []
},
{
"name": "iss",
"validate": true,
"required": false,
"value": "Akamai",
"type": "STRING"
},
{
"name": "sub",
"validate": true,
"required": false,
"value": "^[a-zA-Z0-9_]*$",
"type": "REGEX"
},
{
"name": "exp",
"validate": true,
"required": false,
"value": null,
"type": "TIMESTAMP"
},
{
"name": "nbf",
"validate": true,
"required": false,
"value": null,
"type": "TIMESTAMP"
},
{
"name": "dept",
"validate": true,
"required": false,
"value": "IT",
"type": "STRING"
},
{
"name": "roles",
"validate": true,
"required": false,
"type": "ARRAY",
"value": [
"admin",
"premium_user",
"regular_user"
]
}
]
}
},
"resources": {
"2926712": {
"enabled": true,
"path": "/book/{bookId}",
"inheritsFromEndpoint": true,
"notes": "A book item within the bookstore API.",
"methods": [
"POST",
"GET"
]
},
"2935128": {
"enabled": true,
"path": "/user/{userId}",
"inheritsFromEndpoint": true,
"notes": "A registered bookstore user.",
"methods": [
"POST",
"GET",
"PUT"
]
},
"2935139": {
"enabled": true,
"path": "/magazine/{magazineId}",
"inheritsFromEndpoint": true,
"notes": "A magazine item within the bookstore API.",
"methods": [
"GET"
]
}
}
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Make a GET request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ jwt
The response is a JwtSettings object that displays JWT validation settings for the requested endpoint version and its associated resources.
Edit JWT settings
Updates the JWT validation settings configured for an endpoint version and its associated resources.
PUT /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: JwtSettings
Download schema: jwtDto-schema.json
Request body:
{
"enabled": true,
"settings": {
"location": "HEADER",
"paramName": "Authorization",
"clockSkew": 10,
"validation": {
"rsaPublicKeyB": null,
"rsaPublicKeyA": {
"name": "publicKey",
"content": "-----BEGIN PUBLIC KEY-----\nMIIBIjwE9GQg+OR0WYHtq4AKsvK2eucDs06ejWRDb+uDN\n80jxZCxfweelZKvYT9Qdms/1SJv\nrQIDAQAB\n-----END PUBLIC KEY-----"
},
"claims": [
{
"name": "aud",
"validate": false,
"required": false,
"type": "ARRAY",
"value": []
},
{
"name": "iss",
"validate": true,
"required": false,
"value": "Akamai",
"type": "STRING"
},
{
"name": "sub",
"validate": true,
"required": false,
"value": "^[a-zA-Z0-9_]*$",
"type": "REGEX"
},
{
"name": "exp",
"validate": true,
"required": false,
"value": null,
"type": "TIMESTAMP"
},
{
"name": "nbf",
"validate": true,
"required": false,
"value": null,
"type": "TIMESTAMP"
},
{
"name": "dept",
"validate": true,
"required": false,
"value": "IT",
"type": "STRING"
},
{
"name": "roles",
"validate": true,
"required": false,
"type": "ARRAY",
"value": [
"admin",
"premium_user",
"regular_user"
]
}
]
}
},
"resources": {
"2926712": {
"enabled": true,
"path": "/book/{bookId}",
"inheritsFromEndpoint": true,
"notes": "A book item within the bookstore API.",
"methods": [
"POST",
"GET"
]
},
"2935128": {
"enabled": true,
"path": "/user/{userId}",
"inheritsFromEndpoint": true,
"notes": "A registered bookstore user.",
"methods": [
"POST",
"GET",
"PUT"
]
},
"2935139": {
"enabled": true,
"path": "/magazine/{magazineId}",
"inheritsFromEndpoint": true,
"notes": "A magazine item within the bookstore API.",
"methods": [
"GET"
]
}
}
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: JwtSettings
Download schema: jwtDto-schema.json
Response body:
{
"enabled": true,
"settings": {
"location": "HEADER",
"paramName": "Authorization",
"clockSkew": 10,
"validation": {
"rsaPublicKeyB": null,
"rsaPublicKeyA": {
"name": "publicKey",
"content": "-----BEGIN PUBLIC KEY-----\nMIIBIjwE9GQg+OR0WYHtq4AKsvK2eucDs06ejWRDb+uDN\n80jxZCxfweelZKvYT9Qdms/1SJv\nrQIDAQAB\n-----END PUBLIC KEY-----"
},
"claims": [
{
"name": "aud",
"validate": false,
"required": false,
"type": "ARRAY",
"value": []
},
{
"name": "iss",
"validate": true,
"required": false,
"value": "Akamai",
"type": "STRING"
},
{
"name": "sub",
"validate": true,
"required": false,
"value": "^[a-zA-Z0-9_]*$",
"type": "REGEX"
},
{
"name": "exp",
"validate": true,
"required": false,
"value": null,
"type": "TIMESTAMP"
},
{
"name": "nbf",
"validate": true,
"required": false,
"value": null,
"type": "TIMESTAMP"
},
{
"name": "dept",
"validate": true,
"required": false,
"value": "IT",
"type": "STRING"
},
{
"name": "roles",
"validate": true,
"required": false,
"type": "ARRAY",
"value": [
"admin",
"premium_user",
"regular_user"
]
}
]
}
},
"resources": {
"2926712": {
"enabled": true,
"path": "/book/{bookId}",
"inheritsFromEndpoint": true,
"notes": "A book item within the bookstore API.",
"methods": [
"POST",
"GET"
]
},
"2935128": {
"enabled": true,
"path": "/user/{userId}",
"inheritsFromEndpoint": true,
"notes": "A registered bookstore user.",
"methods": [
"POST",
"GET",
"PUT"
]
},
"2935139": {
"enabled": true,
"path": "/magazine/{magazineId}",
"inheritsFromEndpoint": true,
"notes": "A magazine item within the bookstore API.",
"methods": [
"GET"
]
}
}
}
If you don’t already have apiEndpointId
and versionNumber
values:
Run the List endpoints operation.
Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.Run the List versions operation.
Select the appropriate endpoint version from the returned array and store its
versionNumber
value.
To modify endpoint-level JWT validation settings:
Run the Get JWT settings operation for the complete representation of the object.
Modify the returned JwtSettings object.
PUT the object back to the same URL as the GET:
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ jwt
To modify JWT validation settings for individual resources:
Run the List resources operation.
Select the appropriate resource from the returned array and store its
apiResourceId
value.If the
apiResourceId
is present in the JwtSettings object’sresources
, modify theJwtSettings.resources.{apiResourceId}
value.If the
apiResourceId
is absent from the JwtSettings object’sresources
, create a newJwtSettings.resources.{apiResourceId}
object under that key.PUT the full object back to the same URL as the GET:
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ jwt
A 200 response confirms success, and the response object reflects your modifications.
Get CORS settings
Returns the cross-origin resource sharing (CORS) settings configured for an endpoint version.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: CorsSettings
Download schema: corsDto-schema.json
Response body:
{
"enabled": true,
"allowCredentials": false,
"preflightMaxAge": 86400,
"allowedOrigins": [
"*"
],
"allowedHeaders": [
"Akamai-Cors-Allowed"
],
"allowedMethods": [
"GET"
],
"exposedHeaders": [
"Akamai-Cors-Exposed"
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Make a GET request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ cors
The response is a CorsSettings object that displays CORS settings for the requested endpoint version.
Edit CORS settings
Updates the cross-origin resource sharing (CORS) settings configured for an endpoint version.
PUT /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: CorsSettings
Download schema: corsDto-schema.json
Request body:
{
"enabled": true,
"allowCredentials": false,
"preflightMaxAge": 86400,
"allowedOrigins": [
"*"
],
"allowedHeaders": [
"Akamai-Cors-Allowed"
],
"allowedMethods": [
"GET"
],
"exposedHeaders": [
"Akamai-Cors-Exposed"
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: CorsSettings
Download schema: corsDto-schema.json
Response body:
{
"enabled": true,
"allowCredentials": false,
"preflightMaxAge": 86400,
"allowedOrigins": [
"*"
],
"allowedHeaders": [
"Akamai-Cors-Allowed"
],
"allowedMethods": [
"GET"
],
"exposedHeaders": [
"Akamai-Cors-Exposed"
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Run the Get CORS settings operation for the complete representation of the object.
Modify the returned CorsSettings object.
PUT the object back to the same URL as the GET:
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ cors
A 200 response confirms success, and the response object reflects your modifications.
Get cache settings
Returns the caching settings configured for an endpoint version and its associated resources.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: CacheSettings
Download schema: cacheSettingsDto-schema.json
Response body:
{
"enabled": true,
"option": "CACHE",
"serveStale": true,
"maxAge": {
"duration": 100,
"unit": "SECONDS"
},
"downstreamCaching": {
"option": "ALLOW_CACHING",
"lifetime": "SMALLER_VALUE",
"maxAge": null,
"headers": "CACHE_CONTROL_AND_EXPIRES",
"markAsPrivate": false
},
"cacheKey": {
"customize": true,
"option": "INCLUDE_ALL_PRESERVE_ORDER",
"parameters": null,
"exactMatch": true
},
"errorCaching": {
"enabled": true,
"preserveStale": true,
"maxAge": {
"duration": 80,
"unit": "SECONDS"
}
},
"resources": {
"2926712": {
"path": "/book/{bookId}",
"option": "CACHE",
"serveStale": true,
"inheritsFromEndpoint": true,
"methods": [
"POST",
"GET"
],
"maxAge": {
"duration": 100,
"unit": "SECONDS"
},
"cacheKey": {
"customize": true,
"option": "INCLUDE_ALL_PRESERVE_ORDER",
"parameters": null,
"exactMatch": true
}
},
"2935128": {
"path": "/user/{userId}",
"option": "CACHE",
"serveStale": false,
"inheritsFromEndpoint": false,
"methods": [
"POST",
"GET",
"PUT"
],
"maxAge": {
"duration": 120,
"unit": "SECONDS"
},
"cacheKey": {
"customize": false,
"option": "INCLUDE_ALL_PRESERVE_ORDER",
"parameters": null,
"exactMatch": true
}
},
"2935139": {
"path": "/magazine/{magazineId}",
"option": "CACHE",
"serveStale": true,
"inheritsFromEndpoint": true,
"methods": [
"GET"
],
"maxAge": {
"duration": 100,
"unit": "SECONDS"
},
"cacheKey": {
"customize": true,
"option": "INCLUDE_ALL_PRESERVE_ORDER",
"parameters": null,
"exactMatch": true
}
}
}
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Make a GET request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ cache
The response is a CacheSettings object that displays caching settings for the requested endpoint version and its associated resources.
Edit cache settings
Updates the caching settings configured for an endpoint version and its associated resources.
PUT /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: CacheSettings
Download schema: cacheSettingsDto-schema.json
Request body:
{
"enabled": true,
"option": "CACHE",
"serveStale": true,
"maxAge": {
"duration": 100,
"unit": "SECONDS"
},
"downstreamCaching": {
"option": "ALLOW_CACHING",
"lifetime": "SMALLER_VALUE",
"maxAge": null,
"headers": "CACHE_CONTROL_AND_EXPIRES",
"markAsPrivate": false
},
"cacheKey": {
"customize": true,
"option": "INCLUDE_ALL_PRESERVE_ORDER",
"parameters": null,
"exactMatch": true
},
"errorCaching": {
"enabled": true,
"preserveStale": true,
"maxAge": {
"duration": 80,
"unit": "SECONDS"
}
},
"resources": {
"2926712": {
"path": "/book/{bookId}",
"option": "CACHE",
"serveStale": true,
"inheritsFromEndpoint": true,
"methods": [
"POST",
"GET"
],
"maxAge": {
"duration": 100,
"unit": "SECONDS"
},
"cacheKey": {
"customize": true,
"option": "INCLUDE_ALL_PRESERVE_ORDER",
"parameters": null,
"exactMatch": true
}
},
"2935128": {
"path": "/user/{userId}",
"option": "CACHE",
"serveStale": false,
"inheritsFromEndpoint": false,
"methods": [
"POST",
"GET",
"PUT"
],
"maxAge": {
"duration": 120,
"unit": "SECONDS"
},
"cacheKey": {
"customize": false,
"option": "INCLUDE_ALL_PRESERVE_ORDER",
"parameters": null,
"exactMatch": true
}
},
"2935139": {
"path": "/magazine/{magazineId}",
"option": "CACHE",
"serveStale": true,
"inheritsFromEndpoint": true,
"methods": [
"GET"
],
"maxAge": {
"duration": 100,
"unit": "SECONDS"
},
"cacheKey": {
"customize": true,
"option": "INCLUDE_ALL_PRESERVE_ORDER",
"parameters": null,
"exactMatch": true
}
}
}
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: CacheSettings
Download schema: cacheSettingsDto-schema.json
Response body:
{
"enabled": true,
"option": "CACHE",
"serveStale": true,
"maxAge": {
"duration": 100,
"unit": "SECONDS"
},
"downstreamCaching": {
"option": "ALLOW_CACHING",
"lifetime": "SMALLER_VALUE",
"maxAge": null,
"headers": "CACHE_CONTROL_AND_EXPIRES",
"markAsPrivate": false
},
"cacheKey": {
"customize": true,
"option": "INCLUDE_ALL_PRESERVE_ORDER",
"parameters": null,
"exactMatch": true
},
"errorCaching": {
"enabled": true,
"preserveStale": true,
"maxAge": {
"duration": 80,
"unit": "SECONDS"
}
},
"resources": {
"2926712": {
"path": "/book/{bookId}",
"option": "CACHE",
"serveStale": true,
"inheritsFromEndpoint": true,
"methods": [
"POST",
"GET"
],
"maxAge": {
"duration": 100,
"unit": "SECONDS"
},
"cacheKey": {
"customize": true,
"option": "INCLUDE_ALL_PRESERVE_ORDER",
"parameters": null,
"exactMatch": true
}
},
"2935128": {
"path": "/user/{userId}",
"option": "CACHE",
"serveStale": false,
"inheritsFromEndpoint": false,
"methods": [
"POST",
"GET",
"PUT"
],
"maxAge": {
"duration": 120,
"unit": "SECONDS"
},
"cacheKey": {
"customize": false,
"option": "INCLUDE_ALL_PRESERVE_ORDER",
"parameters": null,
"exactMatch": true
}
},
"2935139": {
"path": "/magazine/{magazineId}",
"option": "CACHE",
"serveStale": true,
"inheritsFromEndpoint": true,
"methods": [
"GET"
],
"maxAge": {
"duration": 100,
"unit": "SECONDS"
},
"cacheKey": {
"customize": true,
"option": "INCLUDE_ALL_PRESERVE_ORDER",
"parameters": null,
"exactMatch": true
}
}
}
}
If you don’t already have apiEndpointId
and versionNumber
values:
Run the List endpoints operation.
Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.Run the List versions operation.
Select the appropriate endpoint version from the returned array and store its
versionNumber
value.
To modify endpoint-level cache settings:
Run the Get cache settings operation for the complete representation of the object.
Modify the returned CacheSettings object.
PUT the object back to the same URL as the GET:
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ cache
To modify or add cache settings for individual resources:
Run the List resources operation.
Select the appropriate resource from the returned array and store its
apiResourceId
value.If the
apiResourceId
is present in the CacheSettings object’sresources
, modify theCacheSettings.resources.{apiResourceId}
value.If the
apiResourceId
is absent from the CacheSettings object’sresources
, create a newCacheSettings.resources.{apiResourceId}
object under that key.PUT the full object back to the same URL as the GET:
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ cache
A 200 response confirms success, and the response object reflects your modifications.
Get GraphQL cache settings
Returns the GraphQL caching settings configured for an endpoint version.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: GraphQLCacheSettings
Download schema: graphQLDto-schema.json
Response body:
{
"detectError": false,
"nestingLevel": null,
"queryParamName": "query",
"maxQuerySize": null,
"bodyParamName": "query",
"cacheOrigin": false,
"cacheResponseOnError": false,
"enabled": true,
"maxAge": {
"duration": 40,
"unit": "SECONDS"
},
"downstreamCaching": {
"markAsPrivate": false,
"headers": "CACHE_CONTROL_AND_EXPIRES",
"maxAge": null,
"lifetime": "SMALLER_VALUE",
"option": "NOT_ALLOW_CACHING"
}
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Make a GET request to
/api-definitions/
.v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ graphql
The response is a GraphQLCacheSettings object that displays GraphQL caching settings for the requested endpoint version.
Edit GraphQL cache settings
Updates the GraphQL caching settings configured for an endpoint version.
PUT /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: GraphQLCacheSettings
Download schema: graphQLDto-schema.json
Request body:
{
"detectError": false,
"nestingLevel": null,
"queryParamName": "query",
"maxQuerySize": null,
"bodyParamName": "query",
"cacheOrigin": false,
"cacheResponseOnError": false,
"enabled": true,
"maxAge": {
"duration": 40,
"unit": "SECONDS"
},
"downstreamCaching": {
"markAsPrivate": false,
"headers": "CACHE_CONTROL_AND_EXPIRES",
"maxAge": null,
"lifetime": "SMALLER_VALUE",
"option": "NOT_ALLOW_CACHING"
}
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: GraphQLCacheSettings
Download schema: graphQLDto-schema.json
Response body:
{
"detectError": false,
"nestingLevel": null,
"queryParamName": "query",
"maxQuerySize": null,
"bodyParamName": "query",
"cacheOrigin": false,
"cacheResponseOnError": false,
"enabled": true,
"maxAge": {
"duration": 40,
"unit": "SECONDS"
},
"downstreamCaching": {
"markAsPrivate": false,
"headers": "CACHE_CONTROL_AND_EXPIRES",
"maxAge": null,
"lifetime": "SMALLER_VALUE",
"option": "NOT_ALLOW_CACHING"
}
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Run the Get GraphQL cache settings operation for the complete representation of the object.
Modify the returned GraphQLCacheSettings object.
PUT the object back to the same URL as the GET:
/api-definitions/
.v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ graphql
A 200 response confirms success, and the response object reflects your modifications.
Get routing settings
Returns the incoming request’s routing, forwarding, and SureRoute settings configured for an endpoint version. You can run this operation if you’re taking part in the API Gateway beta program.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: RoutingSettings
Download schema: routing-schema.json
Response body:
{
"rules": [
{
"name": "/test.html",
"description": null,
"forwardPath": "DEFAULT_PATH",
"origin": "rapidzik.hereokuapp.com",
"customForwardPath": null,
"forwardPort": null,
"forwardHostHeader": null,
"conditions": [
{
"type": "METHOD",
"operator": "IS",
"value": "GET"
},
{
"type": "HOSTNAME",
"operator": "IS",
"value": "*.www.sqa.rapid.com"
}
]
}
],
"sureRoute": [
{
"origin": "rapidzik.hereokuapp.com",
"testObjectPath": "/test.html",
"forceSslForward": false,
"raceKeyMode": "CUSTOM",
"raceKey": "some-custom-key.com",
"raceStatTtl": {
"duration": 30,
"unit": "MINUTES"
}
}
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Make a GET request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ routing
The response is a RoutingSettings object that displays Routing settings for the requested endpoint version.
Edit routing settings
Updates the incoming request’s routing, forwarding, and SureRoute settings configured for an endpoint version. You can run this operation if you’re taking part in the API Gateway beta program.
PUT /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: RoutingSettings
Download schema: routing-schema.json
Request body:
{
"rules": [
{
"name": "/test.html",
"description": null,
"forwardPath": "DEFAULT_PATH",
"origin": "rapidzik.hereokuapp.com",
"customForwardPath": null,
"forwardPort": null,
"forwardHostHeader": null,
"conditions": [
{
"type": "METHOD",
"operator": "IS",
"value": "GET"
},
{
"type": "HOSTNAME",
"operator": "IS",
"value": "*.www.sqa.rapid.com"
}
]
}
],
"sureRoute": [
{
"origin": "rapidzik.hereokuapp.com",
"testObjectPath": "/test.html",
"forceSslForward": false,
"raceKeyMode": "CUSTOM",
"raceKey": "some-custom-key.com",
"raceStatTtl": {
"duration": 30,
"unit": "MINUTES"
}
}
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: RoutingSettings
Download schema: routing-schema.json
Response body:
{
"detectError": false,
"nestingLevel": null,
"queryParamName": "query",
"maxQuerySize": null,
"bodyParamName": "query",
"cacheOrigin": false,
"cacheResponseOnError": false,
"enabled": true,
"maxAge": {
"duration": 40,
"unit": "SECONDS"
},
"downstreamCaching": {
"markAsPrivate": false,
"headers": "CACHE_CONTROL_AND_EXPIRES",
"maxAge": null,
"lifetime": "SMALLER_VALUE",
"option": "NOT_ALLOW_CACHING"
}
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Run the Get request routing settings operation for the complete representation of the object.
Modify the returned RoutingSettings object.
PUT the object back to the same URL as the GET:
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ routing
A 200 response confirms success, and the response object reflects your modifications.
Get GZIP settings
Returns the GZIP compression settings configured for an endpoint version.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: GzipSettings
Download schema: gzipDto-schema.json
Response body:
{
"compressResponse": "ALWAYS"
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Make a GET request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ gzip
The response is a GzipSettings object that displays GZIP compression settings for the requested endpoint version.
Edit GZIP settings
Updates the GZIP compression settings configured for an endpoint version.
PUT /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: GzipSettings
Download schema: gzipDto-schema.json
Request body:
{
"compressResponse": "ALWAYS"
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: GzipSettings
Download schema: gzipDto-schema.json
Response body:
{
"compressResponse": "ALWAYS"
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Run the Get GZIP settings operation for the complete representation of the object.
Modify the returned GzipSettings object.
PUT the object back to the same URL as the GET:
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ gzip
A 200 response confirms success, and the response object reflects your modifications.
Get error response settings
Returns the error response settings configured for an endpoint version.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: ErrorSettings
Download schema: errorResponsesDto-schema.json
Response body:
{
"API_KEY_INVALID": {
"overrideDefaults": false,
"statusCode": 401,
"body": "{\"title\":\"The API key you provided does not exist.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
},
"API_KEY_FORBIDDEN": {
"overrideDefaults": false,
"statusCode": 403,
"body": "{\"title\":\"The API key you provided does not have access to the requested resource.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
},
"QUOTA_EXCEEDED": {
"overrideDefaults": false,
"statusCode": 429,
"body": "{\"title\":\"The quota limit for the API key you provided has been exceeded during the current time period.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
},
"JWT_SIGNATURE_INVALID": {
"overrideDefaults": false,
"statusCode": 401,
"body": "{\"title\":\"The JSON web signature in JWT did not pass the JWT validation.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
},
"JWT_CLAIM_VALUE_INVALID": {
"overrideDefaults": false,
"statusCode": 401,
"body": "{\"title\":\"The JWT claim value did not pass the JWT validation.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
}
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Make a GET request to
/api-definitions/
.v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ error-responses
The response is a ErrorSettings object that displays error response settings for the requested endpoint version.
Edit error response settings
Updates the error response settings configured for an endpoint version.
PUT /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: ErrorSettings
Download schema: errorResponsesDto-schema.json
Request body:
{
"API_KEY_INVALID": {
"overrideDefaults": false,
"statusCode": 401,
"body": "{\"title\":\"The API key you provided does not exist.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
},
"API_KEY_FORBIDDEN": {
"overrideDefaults": false,
"statusCode": 403,
"body": "{\"title\":\"The API key you provided does not have access to the requested resource.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
},
"QUOTA_EXCEEDED": {
"overrideDefaults": false,
"statusCode": 429,
"body": "{\"title\":\"The quota limit for the API key you provided has been exceeded during the current time period.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
},
"JWT_SIGNATURE_INVALID": {
"overrideDefaults": false,
"statusCode": 401,
"body": "{\"title\":\"The JSON web signature in JWT did not pass the JWT validation.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
},
"JWT_CLAIM_VALUE_INVALID": {
"overrideDefaults": false,
"statusCode": 401,
"body": "{\"title\":\"The JWT claim value did not pass the JWT validation.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
}
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: ErrorSettings
Download schema: errorResponsesDto-schema.json
Response body:
{
"API_KEY_INVALID": {
"overrideDefaults": false,
"statusCode": 401,
"body": "{\"title\":\"The API key you provided does not exist.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
},
"API_KEY_FORBIDDEN": {
"overrideDefaults": false,
"statusCode": 403,
"body": "{\"title\":\"The API key you provided does not have access to the requested resource.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
},
"QUOTA_EXCEEDED": {
"overrideDefaults": false,
"statusCode": 429,
"body": "{\"title\":\"The quota limit for the API key you provided has been exceeded during the current time period.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
},
"JWT_SIGNATURE_INVALID": {
"overrideDefaults": false,
"statusCode": 401,
"body": "{\"title\":\"The JSON web signature in JWT did not pass the JWT validation.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
},
"JWT_CLAIM_VALUE_INVALID": {
"overrideDefaults": false,
"statusCode": 401,
"body": "{\"title\":\"The JWT claim value did not pass the JWT validation.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
}
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Run the Get error response settings operation for the complete representation of the object.
Modify the returned ErrorSettings object.
PUT the object back to the same URL as the GET:
/api-definitions/
.v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ error-responses
A 200 response confirms success, and the response object reflects your modifications.
Get an error response
Returns a customizable error response of the selected type.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
type |
Enumeration | API_KEY_INVALID |
The type of the customizable error response. For possible values, see ErrorSettings.{errorType} values. |
Status 200
application/json
Download schema: errorResponseDto-schema.json
Response body:
{
"overrideDefaults": false,
"statusCode": 401,
"body": "{\"title\":\"The API key you provided does not exist.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Set the
type
URL parameter to the value that represents the error response you want to return.Make a GET request to
/api-definitions/
.v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ error-responses/ {type}
The response’s ErrorSettings.{errorType} object shows the details of the requested error.
Edit an error response
Updates a customizable error response of the selected type.
PUT /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Download schema: errorResponseDto-schema.json
Request body:
{
"overrideDefaults": false,
"statusCode": 401,
"body": "{\"title\":\"The API key you provided does not exist.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
type |
Enumeration | API_KEY_INVALID |
The type of the customizable error response. For possible values, see ErrorSettings.{errorType} values. |
Status 200
application/json
Download schema: errorResponseDto-schema.json
Response body:
{
"overrideDefaults": false,
"statusCode": 401,
"body": "{\"title\":\"The API key you provided does not exist.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Run the Get an error response operation and set the
type
to the appropriate value.Modify the returned ErrorSettings.{errorType} object.
PUT the modified object back to the same URL as the GET:
/api-definitions/
.v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ error-responses/ {type}
A 200 response confirms success, and the response object reflects your modifications.
Get OAuth scopes assignments
Deprecated. Returns the assignments of OAuth scopes configured for an endpoint version and its associated resources. You can run this operation if you’re taking part in the API Gateway beta program.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: OauthScopesAssignments
Download schema: oauthDto-schema.json
Response body:
{
"enabled": true,
"resources": {
"100": {
"path": "/books/{bookId}",
"notes": null,
"scopes": [
"admin:calendar"
],
"methods": {
"GET": {
"notes": null,
"scopes": [
"read:calendar"
]
},
"POST": {
"notes": null,
"scopes": [
"write:calendar"
]
}
}
},
"101": {
"path": "/users/{userId}",
"notes": null,
"scopes": [],
"methods": {
"GET": {
"notes": null,
"scopes": [
"read:mail"
]
},
"POST": {
"notes": null,
"scopes": []
},
"PUT": {
"notes": null,
"scopes": []
},
"DELETE": {
"notes": null,
"scopes": []
}
}
},
"102": {
"path": "/contacts",
"notes": "Core contacts API resource",
"scopes": [
"contacts"
],
"methods": {
"GET": {
"notes": null,
"scopes": []
},
"PUT": {
"notes": null,
"scopes": []
},
"DELETE": {
"notes": null,
"scopes": []
}
}
}
}
}
If you don’t already have an
apiEndpointId
value, run the List endpoints operation.Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.If you don’t already have a
versionNumber
value, run the List versions operation.Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Make a GET request to
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ oauth
The response is an OAuthScopesAssignments object that displays OAuth settings for the requested endpoint version and its associated resources.
Edit OAuth scopes assignments
Deprecated. Updates the assignments of OAuth scopes configured for an endpoint version and its associated resources. You can run this operation if you’re taking part in the API Gateway beta program.
PUT /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: OauthScopesAssignments
Download schema: oauthDto-schema.json
Request body:
{
"enabled": true,
"resources": {
"100": {
"path": "/books/{bookId}",
"notes": null,
"scopes": [
"admin:calendar"
],
"methods": {
"GET": {
"notes": null,
"scopes": [
"read:calendar"
]
},
"POST": {
"notes": null,
"scopes": [
"write:calendar"
]
}
}
},
"101": {
"path": "/users/{userId}",
"notes": null,
"scopes": [],
"methods": {
"GET": {
"notes": null,
"scopes": [
"read:mail"
]
},
"POST": {
"notes": null,
"scopes": []
},
"PUT": {
"notes": null,
"scopes": []
},
"DELETE": {
"notes": null,
"scopes": []
}
}
},
"102": {
"path": "/contacts",
"notes": "Core contacts API resource",
"scopes": [
"contacts"
],
"methods": {
"GET": {
"notes": null,
"scopes": []
},
"PUT": {
"notes": null,
"scopes": []
},
"DELETE": {
"notes": null,
"scopes": []
}
}
}
}
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiEndPointId |
Integer | 288595 |
The unique identifier for the endpoint. |
versionNumber |
Integer | 23 |
The unique identifier for the endpoint version. |
Status 200
application/json
Object type: OauthScopesAssignments
Download schema: oauthDto-schema.json
Response body:
{
"enabled": true,
"resources": {
"100": {
"path": "/books/{bookId}",
"notes": null,
"scopes": [
"admin:calendar"
],
"methods": {
"GET": {
"notes": null,
"scopes": [
"read:calendar"
]
},
"POST": {
"notes": null,
"scopes": [
"write:calendar"
]
}
}
},
"101": {
"path": "/users/{userId}",
"notes": null,
"scopes": [],
"methods": {
"GET": {
"notes": null,
"scopes": [
"read:mail"
]
},
"POST": {
"notes": null,
"scopes": []
},
"PUT": {
"notes": null,
"scopes": []
},
"DELETE": {
"notes": null,
"scopes": []
}
}
},
"102": {
"path": "/contacts",
"notes": "Core contacts API resource",
"scopes": [
"contacts"
],
"methods": {
"GET": {
"notes": null,
"scopes": []
},
"PUT": {
"notes": null,
"scopes": []
},
"DELETE": {
"notes": null,
"scopes": []
}
}
}
}
}
If you don’t already have apiEndpointId
and versionNumber
values:
Run the List endpoints operation.
Select the appropriate endpoint from the returned array and store its
apiEndpointId
value.Run the List versions operation.
Select the appropriate endpoint version from the returned array and store its
versionNumber
value.Run the Get OAuth scopes assignments operation for the complete representation of the object.
Copy the returned OAuthScopesAssignments object for future use.
Run the List resources operation.
Select the appropriate resource from the returned array and store its
apiResourceId
value.If the
apiResourceId
is present in the OAuthScopesAssignments object’sresources
, modify theOAuthAssignments .resources.{apiResourceId}
value.If the
apiResourceId
is absent from the OAuthScopesAssignments object’sresources
, create a newOAuthAssignments .resources.{apiResourceId}
object under that key.
To modify OAuth scopes for the resource:
- PUT the full object back to the same URL as the GET:
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ oauth
To modify OAuth scopes for a method within the resource:
Select the appropriate HTTP method associated with the resource you picked.
Modify the OauthScopesAssignments.resources.{apiResourceId}.methods.{apiResourceMethod} object.
PUT the full object back to the same URL as the GET:
/
.api-definitions/ v2/ endpoints/ {apiEndPointId}/ versions/ {versionNumber}/ settings/ oauth
A 200 response confirms success, and the response object reflects your modifications.
List OAuth scopes
Deprecated. Lists the OAuth scopes available to the API client.
GET /api-definitions/
Status 200
application/json
Download schema: oauthScopeList-schema.json
Response body:
[
{
"name": "http://bookstore.api.akamai.com/bookstore/users/id.read",
"description": "Allow a client app to view user IDs."
},
{
"name": "http://bookstore.api.akamai.com/bookstore/books/id.read",
"description": "Allow a client app to view book IDs."
}
]
Create an OAuth scope
Deprecated. Creates an OAuth scope. It lets you provide a meaningful description clarifying the scope. The description of a scope appears on the second consent page in the Manage API Definitions application in Control Center, where resource owners grant client apps access to their data. By providing a meaningful description, you make sure that a resource owner fully understands the extent to which a client app is able to access their resources. To assign the scope to an endpoint version and its associated resources, run the Edit OAuth scopes assignments operation.
POST /api-definitions/
Content-Type: application/json
Object type: OauthScopeDefinition
Download schema: oauthScope-schema.json
Request body:
{
"name": "http://bookstore.api.com/bookstore/users/id.read",
"description": "Allow a client app to view user IDs."
}
Status 201
application/json
Object type: OauthScopeDefinition
Download schema: oauthScope-schema.json
Response body:
{
"name": "http://bookstore.api.com/bookstore/users/id.read",
"description": "Allow a client app to view user IDs."
}
Edit an OAuth scope
Deprecated. Updates an OAuth scope. It lets you provide a meaningful description clarifying the scope. The description of a scope appears on the second consent page in the Manage API Definitions application in Control Center, where resource owners grant client apps access to their data. By providing a meaningful description, you make sure that a resource owner fully understands the extent to which a client app is able to access their resources. To assign the scope to an endpoint version and its associated resources, run the Edit OAuth scopes assignments operation.
PUT /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: OauthScopeDefinition
Download schema: oauthScope-schema.json
Request body:
{
"name": "http://bookstore.api.com/bookstore/users/id.read",
"description": "Allow a client app to view user IDs."
}
Parameter | Type | Sample | Description |
---|---|---|---|
Required query parameters | |||
name |
String | Books:Read |
The name of the OAuth scope. |
Status 200
application/json
Object type: OauthScopeDefinition
Download schema: oauthScope-schema.json
Response body:
{
"name": "http://bookstore.api.com/bookstore/users/id.read",
"description": "Allow a client app to view user IDs."
}
Delete an OAuth scope
Deprecated. Removes an OAuth scope if it isn’t assigned to any endpoint version that’s active or pending activation on the staging or production network.
DELETE /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
Required query parameters | |||
name |
String | Books:Read |
The name of the OAuth scope. |
Status 204
List categories
Lists all categories available to tag endpoints and optionally indicates the number of endpoints tagged under each category.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
Optional query parameters | |||
withUsageInfo |
Boolean | true |
Whether the response should include the usageCount data indicating the number of endpoints under a category, false by default. |
Status 200
application/json
Object type: Category
Download schema: categoryDtos-schema.json
Response body:
[
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-17T12:42:42+0000",
"updateDate": "2019-06-17T12:42:42+0000",
"updatedBy": "bookstore_admin",
"apiCategoryId": 9903,
"apiCategoryName": "IT",
"apiCategoryDescription": "The applications related to the IT department.",
"link": "/api-definitions/v1/api-categories/9903",
"lockVersion": 0
},
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-17T12:43:11+0000",
"updateDate": "2019-06-17T12:43:11+0000",
"updatedBy": "bookstore_admin",
"apiCategoryId": 9904,
"apiCategoryName": "Internal",
"apiCategoryDescription": "The applications for internal use only.",
"link": "/api-definitions/v1/api-categories/9904",
"lockVersion": 0
},
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-17T12:40:14+0000",
"updateDate": "2019-06-17T12:40:14+0000",
"updatedBy": "bookstore_admin",
"apiCategoryId": 9902,
"apiCategoryName": "Sales",
"apiCategoryDescription": "The applications related to the Sales department.",
"link": "/api-definitions/v1/api-categories/9902",
"lockVersion": 0
}
]
Optionally set the
withUsageInfo
query parameter totrue
if you want the listed categories to show the number of endpoints they apply to.Make a GET request to
/
.api-definitions/ v2/ categories{?withUsageInfo}
The response is an array of Category objects.
Create a category
Creates a category that you can use to tag endpoints. The
request’s apiCategoryName
needs to be unique per account.
POST /api-definitions/
Content-Type: application/json
Object type: Category
Download schema: categoryDto-schema.json
Request body:
{
"apiCategoryName": "Sales",
"apiCategoryDescription": "The applications related to the Sales department."
}
Status 201
application/json
Headers:
Location: /api-definitions/v2/api-categories/123
Object type: Category
Download schema: categoryDto-schema.json
Response body:
{
"createDate": "2019-06-17T12:40:14+0000",
"updateDate": "2019-06-17T12:40:14+0000",
"apiCategoryId": 9902,
"apiCategoryName": "Sales",
"apiCategoryDescription": "The applications related to the Sales department.",
"link": "/api-definitions/v2/categories/9902",
"lockVersion": 0
}
Build a Category object, specifying a unique
apiCategoryName
.POST the object to
/
.api-definitions/ v2/ categories
The response reflects back the complete Category object,
from which you can store the apiCategoryId
value. You can access the
newly created category at the URL specified in the Location
response
header.
Get a category
Returns a specific category that you can use to tag endpoints.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiCategoryId |
Integer | 13 |
The unique identifier for the category. |
Status 200
application/json
Object type: Category
Download schema: categoryDto-schema.json
Response body:
{
"createDate": "2019-06-17T12:40:14+0000",
"updateDate": "2019-06-17T12:40:14+0000",
"apiCategoryId": 9902,
"apiCategoryName": "Sales",
"apiCategoryDescription": "The applications related to the Sales department.",
"link": "/api-definitions/v2/categories/9902",
"lockVersion": 0
}
If you don’t already have an
apiCategoryId
value, run the List categories operation.Select the appropriate category from the returned array and store its
apiCategoryId
value.Make a GET request to
/
.api-definitions/ v2/ categories/ {apiCategoryId}
The response is a Category object.
Edit a category
Updates a category’s description or unique name.
PUT /api-definitions/
Sample: /api-definitions/
Content-Type: application/json
Object type: Category
Download schema: categoryDto-schema.json
Request body:
{
"createDate": "2019-06-17T12:40:14+0000",
"updateDate": "2019-06-17T12:40:14+0000",
"apiCategoryId": 9902,
"apiCategoryName": "Sales",
"apiCategoryDescription": "The applications related to the Sales department.",
"link": "/api-definitions/v2/categories/9902",
"lockVersion": 0
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiCategoryId |
Integer | 13 |
The unique identifier for the category. |
Status 200
application/json
Object type: Category
Download schema: categoryDto-schema.json
Response body:
{
"createDate": "2019-06-17T12:40:14+0000",
"updateDate": "2019-06-17T12:40:14+0000",
"apiCategoryId": 9902,
"apiCategoryName": "Sales",
"apiCategoryDescription": "The applications related to the Sales department.",
"link": "/api-definitions/v2/categories/9902",
"lockVersion": 0
}
If you don’t already have an
apiCategoryId
value, run the List categories operation.Select the appropriate category from the returned array and store its
apiCategoryId
value.Run the Get a category operation for the complete representation of the object.
Modify the returned Category object.
PUT the object back to the same URL as the GET:
/
.api-definitions/ v2/ categories/ {apiCategoryId}
A 200 response confirms success, and the response object reflects your modifications.
Delete a category
Removes an unassigned category. If you assigned the category to at least one endpoint, the operation returns a 403 error.
DELETE /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
apiCategoryId |
Integer | 13 |
The unique identifier for the category. |
Status 204
If you don’t already have an
apiCategoryId
value of the appropriate Category object, run the List categories operation.Select the appropriate category from the returned array and store its
apiCategoryId
value.Make a DELETE request to
/
.api-definitions/ v2/ categories/ {apiCategoryId}
A 204 response confirms the category has been deleted.
List contracts and groups
You provision each API endpoint within the context of your contract with Akamai and a Control Center portal group. This operation lists AcgPair objects. These objects encapsulate pairings of contract and group identifiers available within the scope of the user who provisioned the API token, as described in Get started.
GET /api-definitions/
Status 200
application/json
Object type: AcgPair
Download schema: aCGPickerRows-schema.json
Response body:
[
{
"displayName": "Bookstore Users",
"acgId": "3-1Cgoa",
"groupId": 58220,
"contractId": "3-1Cgoa"
},
{
"displayName": "Bookstore Users - Developers",
"acgId": "3-1Cgoa.G75683",
"groupId": 75683,
"contractId": "3-1Cgoa"
}
]
List hostnames
Lists all hostnames through which API consumers can access an endpoint service under a given contract and group pairing. You can use Property Manager (or PAPI) to create new hostnames to make available to users.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
contractId |
String | 3-1Cgoa |
The unique identifier for the contract. |
groupId |
Integer | 67890 |
The unique identifier for the group. |
Status 200
application/json
Download schema: hosts-schema.json
Response body:
[
"bookstore.api.akamai.com",
"bookstore2.api.akamai.com"
]
Run the List contracts and groups operation.
From the response array, choose the appropriate pairing of contract and group, and store its
contractId
andgroupId
values.Make a GET request to
/
.api-definitions/ v2/ contracts/ {contractId}/ groups/ {groupId}/ hosts
The response features a simple array of available hostname strings.
List hostnames with access control groups
Lists all hostnames through which API consumers can access an endpoint service under a given contract and group pairing. Returns each hostname together with the access control group where the hostname is registered. You can use Property Manager (or PAPI) to create new hostnames to make available to users.
GET /api-definitions/
Sample: /api-definitions/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
contractId |
String | 3-1Cgoa |
The unique identifier for the contract. |
groupId |
Integer | 67890 |
The unique identifier for the group. |
Status 200
application/json
Object type: HostAcgPair
Download schema: acgsHosts-schema.json
Response body:
[
{
"hostname": "www.bookstore.api.akamai.com",
"acgId": "WAA-3-1AINU1T",
"contractId": "3-1AINU1T"
},
{
"hostname": "www.bookstore2.api.akamai.com",
"acgId": "WAA-3-WNNG6F",
"contractId": "3-WNNG6F"
}
]
Run the List contracts and groups operation.
From the response array, choose the appropriate pairing of contract and group, and store its
contractId
andgroupId
values.Make a GET request to
/
.api-definitions/ v2/ contracts/ {contractId}/ groups/ {groupId}/ hostsAcgs
The response features an array of HostAcgPair objects.
Data
This section provides details for each type of data object the API exchanges.
Whenever []
appears at the end of an object’s name, it indicates
that the object represents any element in an array of objects.
Download the JSON schemas for this API.
This section’s data schema tables list membership requirements as follows:
✓ | Member is required in requests, or always present in responses, even if its value is empty or null . |
○ | Member is optional, and may be omitted in some cases. |
✗ | Member is out of scope, and irrelevant to the specified interaction context. If you include the member in that context, it either triggers an error, or is ignored. |
EndpointList
Contains information about a collection of requested endpoints.
Download schema:
apiEndpointListDto-schema.json
EndpointList members
Member | Type | Required | Description |
---|---|---|---|
EndpointList : Contains information about a collection of requested endpoints. |
|||
apiEndPoints |
Endpoint Array | ○ | The collection of the returned Endpoint objects. |
page |
Integer | ○ | The number of the current page with results. |
pageSize |
Integer | ○ | The number of endpoints on each page with results. |
totalSize |
Integer | ○ | The total number of endpoints available in the returned set. |
Endpoint
Contains information about an endpoint to clone.
Download schema:
apiEndpointCloneDto-schema.json
, apiEndpointWithResourceDto-schema.json
Sample GET:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiEndPointId": 492375,
"apiEndPointName": "Bookstore API",
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basePath": "/bookstore",
"consumeType": "any",
"apiEndPointScheme": "http/https",
"apiEndPointVersion": 574127,
"contractId": "3-13H55B5",
"groupId": 44681,
"versionNumber": 1,
"clonedFromVersion": null,
"apiEndPointLocked": false,
"protectedByApiKey": true,
"source": null,
"positiveConstrainsEnabled": null,
"versionHidden": false,
"endpointHidden": false,
"akamaiSecurityRestrictions": null,
"stagingStatus": null,
"productionStatus": null,
"graphQL": false,
"caseSensitive": true,
"isGraphQL": false,
"lockVersion": 0,
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiCategoryIds": [
2,
7
],
"availableActions": [
"DELETE",
"CLONE_ENDPOINT",
"ACTIVATE_ON_PRODUCTION",
"HIDE_ENDPOINT",
"EDIT_ENDPOINT_DEFINITION",
"ACTIVATE_ON_STAGING"
],
"stagingVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"productionVersion": {
"versionNumber": null,
"status": null,
"timestamp": null,
"lastError": null
},
"securityScheme": {
"securitySchemeType": "apikey",
"securitySchemeDetail": {
"apiKeyLocation": "header",
"apiKeyName": "apikey"
}
},
"apiResources": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2926712,
"apiResourceName": "books",
"resourcePath": "/books/{bookId}",
"description": "A book item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 118435,
"private": false,
"lockVersion": 0,
"apiResourceMethods": [
{
"apiResourceMethodId": 341591,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 184404,
"apiParameters": [
{
"apiParameterId": 1212945,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578116,
"apiResourceMethParamId": 494448,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
},
{
"apiResourceMethodId": 341592,
"apiResourceMethod": "POST",
"apiResourceMethodLogicId": 184405,
"apiParameters": [
{
"apiParameterId": 1212946,
"apiParameterRequired": true,
"apiParameterName": "bookId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 578117,
"apiResourceMethParamId": 494449,
"apiParameterNotes": null,
"apiChildParameters": [],
"apiParameterRestriction": {
"rangeRestriction": null,
"numberRangeRestriction": null,
"arrayRestriction": null,
"xmlConversionRule": null,
"lengthRestriction": {
"lengthMax": 15,
"lengthMin": 3
}
}
}
]
}
]
}
]
}
Endpoint members
Member | Type | Clone | Create/Modify | Description | ||||
---|---|---|---|---|---|---|---|---|
Endpoint : Contains information about an endpoint to clone. |
||||||||
akamai |
Endpoint. |
✗ | ○ | Contains information about the Kona Site Defender security restrictions that you apply to an API. Note that you should only include these details in your requests if you’re a Kona Site Defender customer. | ||||
apiCategoryIds |
Array, Null | ✗ | ○ | The Category identifiers that apply to the endpoint. The value is null for uncategorized endpoints. |
||||
apiEndPointHosts |
Array | ✓ | ✓ | The hostnames that may receive traffic for the endpoint. You need at least one hostname before activating the endpoint. | ||||
apiEndPointId |
Integer | ○ | ○ | Read-only. The unique identifier for the endpoint. For the clone operation, this is the ID of the source endpoint. | ||||
api |
Boolean, Null | ✗ | ○ | Read-only. Whether the endpoint version is read-only. | ||||
apiEndPointName |
String | ✓ | ✓ | The name of the endpoint, unique within the account. | ||||
api |
Enumeration, Null | ✗ | ○ | The URL scheme to which the endpoint may respond, either http , https , or http/https for both. |
||||
api |
Integer, Null | ✗ | ○ | Read-only. The unique identifier for the endpoint version. | ||||
apiResources |
Resource Array | ✗ | ○ | The list of Resource objects associated with the endpoint. | ||||
apiVersionInfo |
Endpoint. |
✗ | ○ | Contains information about a major API version. This refers to REST API versioning and is a different concept than the endpoint configuration versions you create at Akamai. | ||||
availableActions |
Array, Null | ✗ | ○ | Read-only. The collection of available actions that you can perform on the endpoint depending on its versions’ activation status. For possible values, see Endpoint.availableActions values. | ||||
basePath |
String | ✓ | ○ | The URL path that serves as a root prefix for all resources’ resourcePath values for the endpoint. This is / if empty. Don’t append a / character to the path. |
||||
caseSensitive |
Boolean, Null | ✗ | ○ | Whether the URLs and parameters within the endpoint are case sensitive. | ||||
cloned |
Integer, Null | ✗ | ○ | Read-only. For cloned endpoints, the unique identifier for the source endpoint version. | ||||
consumeType |
Enumeration, Null | ✗ | ○ | The content type the endpoint exchanges, either json , xml , json/xml for dual-format APIs, any , or none . |
||||
contractId |
String | ✓ | ○ | Read-only. The unique identifier for the contract with Akamai under which you provisioned security and delivery settings for this API. | ||||
createDate |
String, Null | ✗ | ○ | Read-only. The ISO–6801 timestamp indicating when you created the endpoint. | ||||
createdBy |
String, Null | ✗ | ○ | Read-only. The identifier for the user who created the endpoint. | ||||
description |
String, Null | ✗ | ○ | The description of the endpoint. If you specify null in the request or omit this member from the object, the JSON response reflects it as an empty string. |
||||
endpointHidden |
Boolean, Null | ✗ | ○ | Read-only. Whether the endpoint is hidden. You cannot activate or delete versions of a hidden endpoint. If you want to do so, you first need to reveal the endpoint by running the Show an endpoint operation. | ||||
groupId |
Integer | ✓ | ○ | Read-only. The unique identifier for the group in Control Center under which you provisioned security and delivery settings for this API. | ||||
isGraphQL |
Boolean | ✗ | ○ | Whether the endpoint uses GraphQL to deliver structured content to clients. | ||||
lockVersion |
Integer | ✗ | ○ | Read-only. The identifier for the last modification of an endpoint version, used for optimistic locking. See Concurrency control for details. | ||||
positive |
Boolean, Null | ✗ | ○ | Whether the KSD firewall policies are enabled for the endpoint. | ||||
productionStatus |
Enumeration, Null | ✗ | ○ | Read-only. The version activation status on the production network, either PENDING if the version contains changes that are being propagated to the network, ACTIVE if the version is active, DEACTIVATED if the version had been active once but has been deactivated, or FAILED if an activation or deactivation attempt for this version has failed. The value is null for versions that have never been activated on this network. |
||||
production |
Endpoint. |
✗ | ○ | Read-only. Contains information about an endpoint version’s activation status on the production network. | ||||
protected |
Boolean | ✗ | ○ | Read-only. Whether you enabled API key protection for the endpoint version by making the version private. | ||||
securityScheme |
Endpoint. |
✗ | ○ | Contains information about the key with which users may access the endpoint. | ||||
source |
Endpoint. |
✗ | ○ | Read-only. Contains information about the import file used to create the endpoint. | ||||
stagingStatus |
Enumeration, Null | ✗ | ○ | Read-only. The version activation status on the staging network, either PENDING if the version contains changes that are being propagated to the network, ACTIVE if the version is active, DEACTIVATED if the version had been active once but has been deactivated, or FAILED if an activation or deactivation attempt for this version has failed. The value is null for versions that have never been activated on this network. |
||||
stagingVersion |
Endpoint. |
✗ | ○ | Read-only. Contains information about an endpoint version’s activation status on the staging network. | ||||
updateDate |
String, Null | ✗ | ○ | Read-only. The ISO–6801 timestamp indicating when you last modified the endpoint. | ||||
updatedBy |
String, Null | ✗ | ○ | Read-only. The identifier for the user who last modified the endpoint. | ||||
versionHidden |
Boolean, Null | ✗ | ○ | Read-only. Whether the endpoint version is hidden. You cannot activate or delete hidden versions. If you want to do so, you first need to reveal the version by running the Show a version operation. | ||||
versionNumber |
Integer | ○ | ○ | The endpoint version number. For the clone operation, this is the source endpoint version number. | ||||
Endpoint.akamaiSecurityRestrictions : Contains information about the Kona Site Defender security restrictions that you apply to an API. Note that you should only include these details in your requests if you’re a Kona Site Defender customer. |
||||||||
MAX_BODY_SIZE |
Integer, Null | ✗ | ○ | The maximum allowed size of a request body. | ||||
MAX_DOC_DEPTH |
Integer, Null | ✗ | ○ | The maximum depth of nested data elements allowed in a request body. | ||||
MAX_ELEMENT_NAME_LENGTH |
Integer, Null | ✗ | ○ | The maximum length of an XML element name or JSON object key name allowed in a request body. | ||||
MAX_INTEGER_VALUE |
Integer, Null | ✗ | ○ | The maximum integer value allowed in a request body. | ||||
MAX_JSONXML_ELEMENT |
Integer, Null | ✗ | ○ | The maximum number of XML elements, JSON object keys, or array items allowed in a request body. | ||||
MAX_STRING_LENGTH |
Integer, Null | ✗ | ○ | The maximum length of any string value in a request body. | ||||
POSITIVE_SECURITY_ENABLED |
Enumeration | ✗ | ○ | Whether the API request body and resource constraints should be enforced as whitelists in your KSD security policies. Either 1 for enabled security constraints, or 0 for disabled. |
||||
Endpoint.apiVersionInfo : Contains information about a major API version. This refers to REST API versioning and is a different concept than the endpoint configuration versions you create at Akamai. |
||||||||
location |
Enumeration | ✗ | ✓ | The location of the API version value in an incoming request. Either HEADER , BASE_PATH , or QUERY parameter. |
||||
parameterName |
String | ✗ | ○ | The name of the header or query parameter that includes the API version value. This is applicable only if the corresponding location member is either HEADER or QUERY . |
||||
value |
String | ✗ | ○ | The expected API version value in an incoming request. | ||||
Endpoint.productionVersion : Contains information about an endpoint version’s activation status on the production network. |
||||||||
lastError |
Endpoint. |
✗ | ○ | Contains information about the last failed activation of the endpoint version. | ||||
status |
Enumeration, Null | ✗ | ○ | Read-only. The activation status on the production network, either PENDING if the version contains changes that are being propagated to the network, ACTIVE if the version is active, DEACTIVATED if the version had been active once but has been deactivated, or FAILED if an activation or deactivation attempt for this version has failed. The value is null for versions that have never been activated on this network. |
||||
timestamp |
String | ✗ | ○ | Read-only. The ISO–6801 timestamp indicating when the activation status was last updated. | ||||
versionNumber |
Integer | ✗ | ○ | Read-only. The endpoint version number. | ||||
Endpoint.productionVersion.lastError : Contains information about the last failed activation of the endpoint version. |
||||||||
status |
Enumeration, Null | ✗ | ○ | Read-only. The activation status on the production network, either PENDING if the version contains changes that are being propagated to the network, ACTIVE if the version is active, DEACTIVATED if the version had been active once but has been deactivated, or FAILED if an activation or deactivation attempt for this version has failed. The value is null for versions that have never been activated on this network. |
||||
timestamp |
String | ✗ | ○ | Read-only. The ISO–6801 timestamp indicating when the activation status was last updated. | ||||
versionNumber |
Integer | ✗ | ○ | Read-only. The endpoint version number. | ||||
Endpoint.securityScheme : Contains information about the key with which users may access the endpoint. |
||||||||
security |
Endpoint. |
✗ | ○ | Contains information about the location of the API key. | ||||
security |
Enumeration | ✗ | ○ | The type of security scheme implemented for the endpoint. The only valid value is apikey . |
||||
Endpoint.securityScheme.securitySchemeDetail : Contains information about the location of the API key. |
||||||||
apiKeyLocation |
Enumeration | ✗ | ○ | The location of the API key in incoming requests, either cookie , header , or query parameter. |
||||
apiKeyName |
String | ✗ | ○ | The name of the header, query parameter, or cookie where you located the API key. | ||||
Endpoint.source : Contains information about the import file used to create the endpoint. |
||||||||
apiVersion |
String, Null | ✗ | ○ | Read-only. The major version of the API defined in the import file. | ||||
specification |
String, Null | ✗ | ○ | Read-only. The version of the import file’s specification. | ||||
type |
Enumeration, Null | ✗ | ○ | Read-only. The specification of the import file you uploaded to create the endpoint version. Either SWAGGER or RAML . |
||||
Endpoint.stagingVersion : Contains information about an endpoint version’s activation status on the staging network. |
||||||||
lastError |
Endpoint. |
✗ | ○ | Contains information about the last failed activation of the endpoint version. | ||||
status |
Enumeration, Null | ✗ | ○ | Read-only. The activation status on the production network, either PENDING if the version contains changes that are being propagated to the network, ACTIVE if the version is active, DEACTIVATED if the version had been active once but has been deactivated, or FAILED if an activation or deactivation attempt for this version has failed. The value is null for versions that have never been activated on this network. |
||||
timestamp |
String | ✗ | ○ | Read-only. The ISO–6801 timestamp indicating when the activation status was last updated. | ||||
versionNumber |
Integer | ✗ | ○ | Read-only. The endpoint version number. | ||||
Endpoint.stagingVersion.lastError : Contains information about the last failed activation of the endpoint version. |
||||||||
status |
Enumeration, Null | ✗ | ○ | Read-only. The activation status on the production network, either PENDING if the version contains changes that are being propagated to the network, ACTIVE if the version is active, DEACTIVATED if the version had been active once but has been deactivated, or FAILED if an activation or deactivation attempt for this version has failed. The value is null for versions that have never been activated on this network. |
||||
timestamp |
String | ✗ | ○ | Read-only. The ISO–6801 timestamp indicating when the activation status was last updated. | ||||
versionNumber |
Integer | ✗ | ○ | Read-only. The endpoint version number. |
Endpoint.availableActions values
These values indicate the set of
availableActions
you can perform on an endpoint
depending on its activation status:
Value | Description |
---|---|
ACTIVATE_ON_PRODUCTION |
You can activate at least one version of the endpoint on the production network. |
ACTIVATE_ON_STAGING |
You can activate at least one version of the endpoint on the staging network. |
CLONE_ENDPOINT |
You can clone the endpoint. |
DEACTIVATE_ON_PRODUCTION |
You can deactivate at least one version of the endpoint on the production network. |
DEACTIVATE_ON_STAGING |
You can deactivate at least one version of the endpoint on the staging network. |
DELETE |
You can delete the endpoint. |
EDIT_ENDPOINT_DEFINITION |
You can edit the endpoint and resource settings of at least one version of the endpoint. |
HIDE_ENDPOINT |
You can hide the endpoint and all its versions. |
SHOW_ENDPOINT |
You can reveal the endpoint and all its versions. |
VersionList
Contains information about all versions of an endpoint.
Download schema:
apiEndpointVersionListDto-schema.json
Sample GET:
{
"apiEndPointId": 492375,
"apiEndPointName": "Bookstore API",
"apiVersions": [
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-17T07:22:29+0000",
"updateDate": "2019-06-17T07:23:11+0000",
"updatedBy": "bookstore_admin",
"apiEndPointVersionId": 599104,
"basePath": "/bookstore2",
"versionNumber": 2,
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basedOn": 1,
"stagingStatus": null,
"productionStatus": null,
"stagingDate": null,
"productionDate": null,
"isVersionLocked": false,
"hidden": false,
"lockVersion": 2,
"availableActions": [
"ACTIVATE_ON_PRODUCTION",
"VIEW_AAG_SETTINGS",
"COMPARE_RAPID_SETTINGS",
"EDIT_AAG_SETTINGS",
"HIDE_VERSION",
"CLONE_VERSION",
"EDIT_ENDPOINT_DEFINITION",
"COMPARE_ENDPOINT",
"RESOURCES",
"ACTIVATE_ON_STAGING",
"DELETE"
]
},
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-12T13:06:52+0000",
"updateDate": "2019-06-12T13:06:52+0000",
"updatedBy": "bookstore_admin",
"apiEndPointVersionId": 574127,
"basePath": "/bookstore",
"versionNumber": 1,
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basedOn": null,
"stagingStatus": null,
"productionStatus": null,
"stagingDate": null,
"productionDate": null,
"isVersionLocked": false,
"hidden": false,
"lockVersion": 0,
"availableActions": [
"VIEW_AAG_SETTINGS",
"EDIT_AAG_SETTINGS",
"EDIT_ENDPOINT_DEFINITION",
"DELETE",
"ACTIVATE_ON_STAGING",
"COMPARE_RAPID_SETTINGS",
"ACTIVATE_ON_PRODUCTION",
"COMPARE_ENDPOINT",
"CLONE_VERSION",
"RESOURCES",
"HIDE_VERSION"
]
}
]
}
VersionList members
Member | Type | Required | Description |
---|---|---|---|
VersionList : Contains information about all versions of an endpoint. |
|||
apiEndPointId |
Integer | ○ | The unique identifier for the endpoint. |
apiEndPointName |
String | ○ | The name of the endpoint, unique within the account. |
apiVersions |
Version |
○ | Contains information about each endpoint version within a collection. |
VersionList.apiVersions[] : Contains information about each endpoint version within a collection. |
|||
api |
Integer | ○ | The unique identifier for the endpoint version. |
availableActions |
Array, Null | ○ | Read-only. The collection of available actions that you can perform on the version depending on the version’s activation status. For possible values, see VersionList.apiVersions[].availableActions values. |
basedOn |
Integer, Null | ○ | For cloned versions, the unique identifier for the source version. |
basePath |
String, Null | ○ | The URL path that serves as a root prefix for all resources’ resourcePath values. This is / if empty. Don’t append a / character to the path. If you specify null in the request or omit this member from the object, the JSON response reflects it as an empty string. |
createDate |
String | ○ | Read-only. The ISO–6801 timestamp indicating when you created the endpoint version. |
createdBy |
String | ○ | The identifier for the user who created the version. |
description |
String, Null | ○ | The description of the endpoint version. If you specify null in the request or omit this member from the object, the JSON response reflects it as an empty string. |
hidden |
Boolean, Null | ○ | Read-only. Whether the endpoint version is hidden. You cannot activate or delete hidden versions. If you want to do so, you first need to reveal the version by running the Show a version operation. |
isVersionLocked |
Boolean | ○ | Whether the endpoint version is read-only. |
lockVersion |
Integer | ○ | The identifier for the last modification of an endpoint version, used for optimistic locking. See Concurrency control for details. |
productionDate |
String, Null | ○ | Read-only. The ISO–6801 timestamp indicating when you activated the endpoint version on the production network. |
productionStatus |
Enumeration, Null | ○ | Read-only. The version activation status on the production network, either PENDING if the version contains changes that are being propagated to the network, ACTIVE if the version is active, DEACTIVATED if the version had been active once but has been deactivated, or FAILED if an activation or deactivation attempt for this version has failed. The value is null for versions that have never been activated on this network. |
stagingDate |
String, Null | ○ | Read-only. The ISO–6801 timestamp indicating when you activated the endpoint version on the staging network. |
stagingStatus |
Enumeration, Null | ○ | Read-only. The version activation status on the staging network, either PENDING if the version contains changes that are being propagated to the network, ACTIVE if the version is active, DEACTIVATED if the version had been active once but has been deactivated, or FAILED if an activation or deactivation attempt for this version has failed. The value is null for versions that have never been activated on this network. |
updateDate |
String | ○ | Read-only. The ISO–6801 timestamp indicating when you last modified the endpoint version. |
updatedBy |
String | ○ | The identifier for the user who last modified the version. |
versionNumber |
Integer | ○ | The endpoint version number. |
VersionList.apiVersions
These values indicate the set of
availableActions
you can perform on an endpoint
version depending on its activation status:
Value | Description |
---|---|
ACTIVATE_ON_PRODUCTION |
You can activate the version on the production network. |
ACTIVATE_ON_STAGING |
You can activate the version on the staging network. |
CLONE_ENDPOINT |
You can clone the entire endpoint that includes the version. |
CLONE_VERSION |
You can clone the version. |
COMPARE_AAG_SETTINGS |
You can compare the version’s API delivery settings with another version. |
COMPARE_ENDPOINT |
You can compare the version’s endpoint definition and resource settings with another version. |
COMPARE_RESOURCE_PURPOSES |
If you’re a Bot Manager customer, you can compare the version’s resource purpose settings with another version. |
DEACTIVATE_ON_PRODUCTION |
You can deactivate the version on the production network. |
DEACTIVATE_ON_STAGING |
You can deactivate the version on the staging network. |
DELETE |
You can delete the version. |
EDIT_AAG_SETTINGS |
You can edit the version’s API delivery settings. |
EDIT_ENDPOINT_DEFINITION |
You can edit the version’s endpoint definition and resource settings. |
HIDE_VERSION |
You can hide the version. |
RESOURCE |
You can add and edit resources associated with the version. |
SHOW_VERSION |
You can reveal the version. |
VIEW_AAG_SETTINGS |
You can view the version’s API delivery settings. |
Resource
Contains information about a Resource associated with an Endpoint.
Download schema:
apiResourceMethParamsDto-schema.json
Sample GET:
{
"createdBy": "bookstore_admin",
"createDate": "2019-06-17T08:26:59+0000",
"updateDate": "2019-06-17T08:26:59+0000",
"updatedBy": "bookstore_admin",
"apiResourceId": 2935139,
"apiResourceName": "magazine",
"resourcePath": "/magazine/{magazineId}",
"description": "A magazine item within the bookstore API.",
"link": null,
"apiResourceClonedFromId": null,
"apiResourceLogicId": 126269,
"private": false,
"lockVersion": 0,
"apiResourceMethods": [
{
"apiResourceMethodId": 365559,
"apiResourceMethod": "GET",
"apiResourceMethodLogicId": 205820,
"apiParameters": [
{
"apiParameterId": 1223250,
"apiParameterRequired": true,
"apiParameterName": "magazineId",
"apiParameterLocation": "path",
"apiParameterType": "string",
"array": false,
"pathParamLocationId": null,
"apiParamLogicId": 588309,
"apiResourceMethParamId": 500315,
"apiParameterRestriction": null,
"apiParameterNotes": null,
"apiChildParameters": []
}
]
}
]
}
Resource members
Member | Type | Required | Description |
---|---|---|---|
Resource : Contains information about a Resource associated with an Endpoint. |
|||
api |
Integer, Null | ○ | Read-only. For cloned resources, the unique identifier for the source resource. |
apiResourceId |
Integer, Null | ○ | Read-only. The unique identifier for the resource. |
api |
Integer, Null | ○ | Read-only. The unique identifier for the resource across all endpoint versions. |
api |
Array, Null | ○ | The list of HTTP methods the resource may respond to. |
api |
Method Array | ○ | The list of Method objects that represent HTTP methods the resource may respond to. |
apiResourceName |
String | ✓ | The name of the resource. |
createDate |
String | ○ | Read-only. The ISO–6801 timestamp indicating when you created the resource. |
createdBy |
String | ○ | Read-only. The identifier for the user who created the resource. |
description |
String, Null | ○ | The description to clarify the resource’s function within the API. If you specify null in the request or omit this member from the object, the JSON response reflects it as an empty string. |
link |
String, Null | ○ | Read-only. The location of the navigable resource within this API, for use by API clients. |
lockVersion |
Number | ○ | Read-only. The identifier used for optimistic locking. See Concurrency control for details. |
private |
Boolean | ○ | Read-only. Whether the resource is private. API consumers can access private resources only if they identify with an appropriate API key. |
resourcePath |
String | ✓ | The URL path relative to the hostnames on which the resource resides. When entering a resource path, you can use curly brackets ({} ) to define path parameters (for example, /path/{pathparam} ). If you decide to do so, ensure that the value of the apiParameterName member in the corresponding parameter definition matches the name that you specified in the resource path. |
updateDate |
String | ○ | Read-only. The ISO–6801 timestamp indicating when you last modified the resource. |
updatedBy |
String | ○ | Read-only. The identifier for the user who last modified the resource. |
Method
Contains information about an HTTP method to which a resource may respond.
Download schema:
apiMethodParametersDto-schema.json
Method members
Member | Type | Required | Description |
---|---|---|---|
Method : Contains information about an HTTP method to which a resource may respond. |
|||
apiParameters |
Parameter Array | ○ | The list of Parameter objects associated with the method. |
api |
Enumeration | ✓ | The core HTTP method to which the resource may respond, either get , put , post , delete , head , patch , or options . |
api |
Integer, Null | ○ | Read-only. The unique identifier for the resource’s allowed method. |
api |
Integer, Null | ○ | Read-only. The unique identifier for the resource’s method across all endpoint versions. |
Parameter
Contains information about a method’s parameter.
Download schema:
apiParameterDto-schema.json
Parameter members
Member | Type | Required | Description |
---|---|---|---|
Parameter : Contains information about a method’s parameter. |
|||
api |
Parameter Array | ○ | The collection of child JSON members or XML elements for JSON or XML body type parameters. |
apiParameterId |
Integer | ○ | Read-only. The unique identifier for the parameter. |
api |
Enumeration | ✓ | The location of the parameter in an HTTP request, either query , header , path , cookie , or body for a JSON or XML body type parameter. |
apiParameterName |
String | ✓ | The name of the parameter. If the corresponding apiParameterLocation is path , ensure that this value matches the parameter name you specified in the resourcePath . |
api |
String, Null | ○ | The description to clarify the parameter’s function. If you specify an empty string in the request or omit this member from the object, the JSON response reflects it as null . |
api |
Boolean | ✓ | Whether the parameter is needed. If the corresponding apiParameterLocation is path , set this member to true . |
api |
Parameter. |
○ | Contains information about restrictions and XML representation rules specified for the parameter. |
apiParameterType |
Enumeration | ✓ | The data type of the parameter, either string , integer , number , boolean , or json/xml for JSON or XML objects. |
apiParamLogicId |
Integer | ○ | Read-only. The unique identifier for the parameter across all endpoint versions. |
api |
Integer, Null | ○ | Read-only. The unique identifier for the parameter’s parent method. |
array |
Boolean | ○ | Whether the parameter can express more than one value. This member is only applicable for apiChildParameters that you can specify if the corresponding apiParameterLocation is body and the apiParameterType is json/xml . If you enable this, also define the arrayRestriction member. |
path |
Number, Null | ○ | The index of a segment that includes a path parameter in a resource path. For example, given a path \books\{bookId} , the books segment has index 0 , and the path parameter {bookId} has index 1 . |
Parameter.apiParameterRestriction : Contains information about restrictions and XML representation rules specified for the parameter. |
|||
arrayRestriction |
Parameter. |
○ | Contains information about array restrictions for array type parameters. Define this object only if you enabled the corresponding array member. |
length |
Parameter. |
○ | Contains information about length restrictions for string type parameters. |
number |
Parameter. |
○ | Contains information about range restrictions for number type parameters. |
rangeRestriction |
Parameter. |
○ | Contains information about range restrictions for integer type parameters. |
xml |
Parameter. |
○ | Contains information about an XML representation of a JSON-encoded parameter. |
Parameter.apiParameterRestriction.arrayRestriction : Contains information about array restrictions for array type parameters. Define this object only if you enabled the corresponding array member. |
|||
collectionFormat |
Enumeration | ○ | The format of the array that specifies how you separated array values, either the default csv for comma separated values, ssv for space separated values, tsv for tab separated values, pipes for pipe separated values, or multi for several parameter instances instead of several values for a single instance. |
maxItems |
Integer | ○ | The maximum allowed number of array items. |
minItems |
Integer | ○ | The minimum allowed number of array items. |
uniqueItems |
Boolean | ○ | Whether the array contains only unique items. |
Parameter.apiParameterRestriction.lengthRestriction : Contains information about length restrictions for string type parameters. |
|||
lengthMax |
Integer, Null | ○ | The maximum allowed number of characters in the string. |
lengthMin |
Integer, Null | ○ | The minimum allowed number of characters in the string. |
Parameter.apiParameterRestriction.numberRangeRestriction : Contains information about range restrictions for number type parameters. |
|||
numberRangeMax |
Number, Null | ○ | The maximum range restriction. |
numberRangeMin |
Number, Null | ○ | The minimum range restriction. |
Parameter.apiParameterRestriction.rangeRestriction : Contains information about range restrictions for integer type parameters. |
|||
rangeMax |
Integer, Null | ○ | The maximum range restriction. |
rangeMin |
Integer, Null | ○ | The minimum range restriction. |
Parameter.apiParameterRestriction.xmlConversionRule : Contains information about an XML representation of a JSON-encoded parameter. |
|||
attribute |
Boolean | ○ | Whether the parameter should be represented as an attribute. |
name |
String | ○ | The name of the parameter in XML. By default, the XML name is the same as the parameter name specified in the API definition. |
namespace |
String | ○ | The XML namespace. |
prefix |
String | ○ | The prefix for the XML namespace. |
wrapped |
Boolean | ○ | Whether the parameter should be wrapped in a parent XML element. |
ImportResult
Contains information about a result of an import operation, including endpoint details and a list of potential issues.
Download schema:
importResult-schema.json
Sample POST response:
{
"apiEndpointDetails": {
"createdBy": null,
"createDate": null,
"updateDate": null,
"updatedBy": null,
"apiEndPointId": null,
"apiEndPointName": "Bookstore API",
"description": "An API for bookstore users allowing them to retrieve book items, add new items (admin users), and modify existing items.",
"basePath": "/bookstore",
"apiEndPointScheme": "http/https",
"consumeType": "any",
"groupId": null,
"versionNumber": null,
"clonedFromVersion": null,
"apiEndPointLocked": null,
"stagingVersion": null,
"productionVersion": null,
"protectedByApiKey": false,
"apiProtectVersion": null,
"apiCategoryIds": null,
"contractId": null,
"securityScheme": null,
"akamaiSecurityRestrictions": null,
"stagingStatus": null,
"productionStatus": null,
"lockVersion": -1,
"apiEndPointHosts": [
"bookstore.api.akamai.com"
],
"apiResources": []
},
"problems": [
{
"type": "/api-definitions/error-types/IMPORT-INVALID-SCHEMA",
"title": "Invalid schema",
"detail": "The object instance has properties which are not allowed by the schema: [\"unrecognizable\"]",
"pointer": "/paths/books/post",
"level": "error",
"domain": "validation",
"keyword": "additionalProperties"
}
]
}
ImportResult members
Member | Type | Required | Description |
---|---|---|---|
ImportResult : Contains information about a result of an import operation, including endpoint details and a list of potential issues. |
|||
api |
Endpoint | ○ | Contains information about the imported endpoint. |
problems |
Import |
○ | The list of problems that occurred during the import, such as schema errors or unsupported property warnings. |
ImportResult.problems[] : The list of problems that occurred during the import, such as schema errors or unsupported property warnings. |
|||
detail |
String | ○ | The detailed error message. |
errors |
Import |
○ | The collection of nested error responses. |
instance |
String | ○ | The non-referenceable URL for the error instance. |
status |
Integer | ○ | The HTTP status code. |
title |
String | ○ | The title of the error. |
type |
String | ○ | The URL for the error type. |
Activation
Contains information about an endpoint version activation.
Download schema:
activationDto-schema.json
Sample POST request:
{
"notes": "Activating the first version of the Bookstore API on both staging and production networks.",
"networks": [
"STAGING",
"PRODUCTION"
],
"notificationRecipients": [
"bookstore_shared@akamai.com"
]
}
Activation members
Member | Type | Required | Description |
---|---|---|---|
Activation : Contains information about an endpoint version activation. |
|||
networks |
Array | ✓ | The network environments where you activate the endpoint version, either STAGING or PRODUCTION . |
notes |
String | ○ | The notes describing the version that you activate. |
notification |
Array | ○ | The email addresses where the system sends the activation notification. |
CacheSettings
Contains information about caching settings configured for an endpoint. Caching settings specify properties such as the maximum age of cached content, caching HTTP error responses, downstream cacheability, and cache key customization. You can set specific caching instructions for each resource within an endpoint version. You can configure caching settings if the API Gateway product is in your contract.
Download schema:
cacheSettingsDto-schema.json
Sample GET:
{
"enabled": true,
"option": "CACHE",
"serveStale": true,
"maxAge": {
"duration": 100,
"unit": "SECONDS"
},
"downstreamCaching": {
"option": "ALLOW_CACHING",
"lifetime": "SMALLER_VALUE",
"maxAge": null,
"headers": "CACHE_CONTROL_AND_EXPIRES",
"markAsPrivate": false
},
"cacheKey": {
"customize": true,
"option": "INCLUDE_ALL_PRESERVE_ORDER",
"parameters": null,
"exactMatch": true
},
"errorCaching": {
"enabled": true,
"preserveStale": true,
"maxAge": {
"duration": 80,
"unit": "SECONDS"
}
},
"resources": {
"2926712": {
"path": "/book/{bookId}",
"option": "CACHE",
"serveStale": true,
"inheritsFromEndpoint": true,
"methods": [
"POST",
"GET"
],
"maxAge": {
"duration": 100,
"unit": "SECONDS"
},
"cacheKey": {
"customize": true,
"option": "INCLUDE_ALL_PRESERVE_ORDER",
"parameters": null,
"exactMatch": true
}
},
"2935128": {
"path": "/user/{userId}",
"option": "CACHE",
"serveStale": false,
"inheritsFromEndpoint": false,
"methods": [
"POST",
"GET",
"PUT"
],
"maxAge": {
"duration": 120,
"unit": "SECONDS"
},
"cacheKey": {
"customize": false,
"option": "INCLUDE_ALL_PRESERVE_ORDER",
"parameters": null,
"exactMatch": true
}
},
"2935139": {
"path": "/magazine/{magazineId}",
"option": "CACHE",
"serveStale": true,
"inheritsFromEndpoint": true,
"methods": [
"GET"
],
"maxAge": {
"duration": 100,
"unit": "SECONDS"
},
"cacheKey": {
"customize": true,
"option": "INCLUDE_ALL_PRESERVE_ORDER",
"parameters": null,
"exactMatch": true
}
}
}
}
CacheSettings members
Member | Type | Required | Description |
---|---|---|---|
CacheSettings : Contains information about caching settings configured for an endpoint. Caching settings specify properties such as the maximum age of cached content, caching HTTP error responses, downstream cacheability, and cache key customization. You can set specific caching instructions for each resource within an endpoint version. You can configure caching settings if the API Gateway product is in your contract. |
|||
cacheKey |
Cache |
○ | Contains information about cache key settings. |
downstream |
Cache |
○ | Contains information about downstream caching settings. Downstream caching refers to the caching instructions associated with objects sent with responses toward clients—browsers, mobile devices, or client proxies. |
enabled |
Boolean | ✓ | Whether you enabled caching for the endpoint. |
errorCaching |
Cache |
○ | Contains information about error caching settings. |
maxAge |
Duration | ○ | Contains information about the maximum duration to keep content in a cache. |
option |
Enumeration | ○ | The options for how to pass cached content, either CACHE to enable caching in Akamai platform servers according to the instructions you specify, BYPASS_CACHE to disallow caching in Akamai platform servers and keep the existing cache entries, NO_STORE to disallow caching in Akamai platform servers and remove the existing cache entries, HONOR_ORIGIN_CACHE_CONTROL to apply caching instructions specified in your origin’s Cache-Control header, HONOR_ORIGIN_EXPIRES to apply caching instructions specified in your origin’s Expires header, or HONOR_ORIGIN_CACHE_CONTROL_AND_EXPIRES to apply caching instructions specified in your origin’s Cache-Control and Expires headers. |
resources |
Cache |
○ | Contains information about caching settings for each resource associated with an endpoint version. The resources are available through a map of resourceId keys. |
serveStale |
Boolean, Null | ○ | Whether to serve stale responses when the origin is unreachable and content revalidation isn’t possible. |
CacheSettings.downstreamCaching : Contains information about downstream caching settings. Downstream caching refers to the caching instructions associated with objects sent with responses toward clients—browsers, mobile devices, or client proxies. |
|||
headers |
Enumeration | ✓ | The policy for sending headers downstream, either CACHE_CONTROL_AND_EXPIRES to send both Cache-Control and Expires headers, CACHE_CONTROL to send only the Cache-Control header, EXPIRES to send only the Expires header, or SAME_AS_ORIGIN to send the same headers as your origin. |
lifetime |
Enumeration | ✓ | The cache lifetime policy, either SMALLER_VALUE for a value smaller than specified in the origin header or the remaining edge TTL, GREATER_VALUE for a value greater than specified in the origin header or the remaining edge TTL, REMAINING_EDGE_TTL for a remaining edge TTL, FULL_EDGE_TTL for a full edge TTL, FIXED_VALUE for a value that you specify, or CALCULATES_EXPIRES_FROM_ORIGIN_CACHE_CONTROL for calculating the maximum age from the origin Cache-Control header. |
markAsPrivate |
Boolean, Null | ✓ | Whether to disallow storing responses in a shared cache. This is useful when you want to set a maximum age for the end client, but have shared caches not store the response. |
maxAge |
Duration | ✓ | Contains information about the maximum duration to keep content in a cache. |
option |
Enumeration | ✓ | The option for downstream caching, either ALLOW_CACHING to allow downstream caching, ALLOW_CACHING_REQUIRES_REVALIDATION to allow downstream caching, but require origin revalidation, NOT_ALLOW_CACHING to disallow downstream caching, PASS_CACHEABILITY_HEADERS_FROM_ORIGIN to pass cacheability headers from your origin, or DO_NOT_SEND_HEADERS to disallow sending headers and apply browser defaults. |
CacheSettings.errorCaching : Contains information about error caching settings. |
|||
enabled |
Boolean | ✓ | Whether you enabled error caching. |
maxAge |
Duration | ✓ | Contains information about the maximum duration to keep error responses in a cache. |
preserveStale |
Boolean, Null | ✓ | Whether to preserve stale responses when the origin is unreachable and content revalidation isn’t possible. |
CacheSettings.resources : Contains information about caching settings for each resource associated with an endpoint version. The resources are available through a map of resourceId keys. |
|||
cacheKey |
Cache |
○ | Contains information about cache key settings. |
inherits |
Boolean | ○ | Whether the resource inherits the top-level API caching settings. |
maxAge |
Duration | ○ | Contains information about the maximum duration of keeping content in a cache. If set, overwrites the max age instructions set at the endpoint level. |
option |
Enumeration | ○ | The resource caching option, either CACHE to enable caching in Akamai platform servers according to the instructions you specify, BYPASS_CACHE to send requests straight to origin and disallow caching in downstream caches, NO_STORE to disallow caching in Akamai platform servers, HONOR_ORIGIN_CACHE_CONTROL to apply caching instructions specified in your origin’s Cache-Control header, HONOR_ORIGIN_EXPIRES to apply caching instructions specified in your origin’s Expires header, or HONOR_ORIGIN_CACHE_CONTROL_AND_EXPIRES to apply caching instructions specified in your origin’s Cache-Control and Expires headers. If set, overwrites the caching instructions set at the endpoint level. |
serveStale |
Boolean | ○ | Whether to serve stale objects when the origin is unreachable and content revalidation is not possible. |
{apiResourceId} |
Cache |
○ | Contains information about caching settings configured for a resource within your API. |
CacheSettings.resources.{apiResourceId} : Contains information about caching settings configured for a resource within your API. |
|||
enabled |
Boolean | ✓ | Whether you enabled caching for the resource. If set, overwrites the endpoint-level caching settings. |
methods |
Array | ○ | Read-only. The methods associated with the resource, either POST , GET , PUT , DELETE , HEAD , OPTIONS , or PATCH . |
path |
String | ○ | Read-only. The URL path relative to the hostnames on which the resource resides. |
GraphQLCacheSettings
Contains information about GraphQL caching settings configured for an endpoint. GraphQL caching settings specify properties such as the query and body parameters that contain GraphQL queries, maximum age of cached content, and downstream cacheability. You can configure GraphQL caching settings if the API Gateway product is in your contract.
Download schema:
graphQLDto-schema.json
Sample GET:
{
"detectError": false,
"nestingLevel": null,
"queryParamName": "query",
"maxQuerySize": null,
"bodyParamName": "query",
"cacheOrigin": false,
"cacheResponseOnError": false,
"enabled": true,
"maxAge": {
"duration": 40,
"unit": "SECONDS"
},
"downstreamCaching": {
"markAsPrivate": false,
"headers": "CACHE_CONTROL_AND_EXPIRES",
"maxAge": null,
"lifetime": "SMALLER_VALUE",
"option": "NOT_ALLOW_CACHING"
}
}
GraphQLCacheSettings members
Member | Type | Required | Description |
---|---|---|---|
GraphQLCacheSettings : Contains information about GraphQL caching settings configured for an endpoint. GraphQL caching settings specify properties such as the query and body parameters that contain GraphQL queries, maximum age of cached content, and downstream cacheability. You can configure GraphQL caching settings if the API Gateway product is in your contract. |
|||
bodyParamName |
String, Null | ○ | The name of the JSON body parameter that contains a GraphQL query in an incoming POST request. If the request’s content type is application/json , this is the name of the key that contains a GraphQL query as its value. If the request’s content type is application/graphql , edge servers treat the entire request body as a GraphQL query. |
cache |
Boolean, Null | ○ | Whether edge servers should cache the response to a GraphQL-type request in case errors are present in the response body. |
detectError |
Boolean, Null | ○ | By default, GraphQL queries return partial data if only a portion of a request fails. In such cases, status codes don’t indicate errors. Instead, an errors array in a response body contains error details. This indicates whether edge servers should inspect the response body for the errors array. |
downstream |
Graph |
○ | Contains information about downstream caching settings. Downstream caching refers to the caching instructions associated with objects sent with responses toward clients—browsers, mobile devices, or client proxies. |
enabled |
Boolean | ✓ | Whether you enabled GraphQL caching for the endpoint. |
maxAge |
Duration | ○ | Contains information about the maximum duration to keep content in a cache. |
maxQuerySize |
Integer | ○ | The maximum size of the query. A post body or a get response can’t exceed 4 KBs. |
nestingLevel |
String | ○ | The number of supported nesting levels within a query. The maximum number is 100. |
queryParamName |
String, Null | ○ | The name of the query parameter that contains a GraphQL query in an incoming GET or POST request. |
GraphQLCacheSettings.downstreamCaching : Contains information about downstream caching settings. Downstream caching refers to the caching instructions associated with objects sent with responses toward clients—browsers, mobile devices, or client proxies. |
|||
headers |
Enumeration | ✓ | The policy for sending headers downstream, either CACHE_CONTROL_AND_EXPIRES to send both Cache-Control and Expires headers, CACHE_CONTROL to send only the Cache-Control header, EXPIRES to send only the Expires header, or SAME_AS_ORIGIN to send the same headers as your origin. |
lifetime |
Enumeration | ✓ | The cache lifetime policy, either SMALLER_VALUE for a value smaller than specified in the origin header or the remaining edge TTL, GREATER_VALUE for a value greater than specified in the origin header or the remaining edge TTL, REMAINING_EDGE_TTL for a remaining edge TTL, FULL_EDGE_TTL for a full edge TTL, FIXED_VALUE for a value that you specify, or CALCULATES_EXPIRES_FROM_ORIGIN_CACHE_CONTROL for calculating the maximum age from the origin Cache-Control header. |
markAsPrivate |
Boolean, Null | ✓ | Whether to disallow storing responses in a shared cache. This is useful when you want to set a maximum age for the end client, but have shared caches not store the response. |
maxAge |
Duration | ✓ | Contains information about the maximum duration to keep content in a cache. |
option |
Enumeration | ✓ | The option for downstream caching, either ALLOW_CACHING to allow downstream caching, ALLOW_CACHING_REQUIRES_REVALIDATION to allow downstream caching, but require origin revalidation, NOT_ALLOW_CACHING to disallow downstream caching, PASS_CACHEABILITY_HEADERS_FROM_ORIGIN to pass cacheability headers from your origin, or DO_NOT_SEND_HEADERS to disallow sending headers and apply browser defaults. |
ApiPrivacySettings
Contains information about API privacy settings configured for an endpoint and its associated resources. You can configure API privacy settings if the API Gateway product is in your contract.
Download schema:
apiPrivacySettingsDto-schema.json
Sample GET:
{
"public": false,
"resources": {
"2926712": {
"public": false,
"path": "/book/{bookId}",
"inheritsFromEndpoint": true,
"notes": "A book item within the bookstore API.",
"methods": {
"GET": {
"public": false,
"inheritsFromEndpoint": true
},
"POST": {
"public": false,
"inheritsFromEndpoint": true
}
}
}
}
}
ApiPrivacySettings members
Member | Type | Required | Description |
---|---|---|---|
ApiPrivacySettings : Contains information about API privacy settings configured for an endpoint and its associated resources. You can configure API privacy settings if the API Gateway product is in your contract. |
|||
public |
Boolean | ✓ | Whether the endpoint is public, that is, accessible without an API key. |
resources |
Api |
○ | Contains information about each resource’s privacy settings. |
ApiPrivacySettings.resources : Contains information about each resource’s privacy settings. |
|||
{apiResourceId} |
Api |
○ | Contains information about a resource’s privacy settings. |
ApiPrivacySettings.resources.{apiResourceId} : Contains information about a resource’s privacy settings. |
|||
inherits |
Boolean | ○ | Read-only. Whether the resource inherits the top-level API privacy settings. |
methods |
Api |
○ | The methods associated with the resource, either POST , GET , PUT , DELETE , HEAD , OPTIONS , or PATCH . |
notes |
String | ○ | Read-only. The notes describing the purpose of the resource. |
path |
String | ✓ | Read-only. The URL path relative to the hostnames on which the resource resides. |
public |
Boolean | ✓ | Whether the resource is public, that is, accessible without an API key. |
ApiPrivacySettings.resources.{apiResourceId}.methods : The methods associated with the resource, either POST , GET , PUT , DELETE , HEAD , OPTIONS , or PATCH . |
|||
{GET\|POST\|PUT\|DELETE\|HEAD\|OPTIONS\|PATCH} |
Api |
○ | Contains information about a method’s privacy settings. |
ApiPrivacySettings.resources.{apiResourceId}.methods.{GET|POST|PUT|DELETE|HEAD|OPTIONS|PATCH} : Contains information about a method’s privacy settings. |
|||
inherits |
Boolean | ○ | Read-only. Whether the method inherits the top-level API privacy settings. |
public |
Boolean | ○ | Whether the method is public, that is, accessible without an API key. |
RoutingSettings
Contains information about an incoming request’s routing settings configured for an endpoint. Routing settings specify routing, forwarding, and SureRoute instructions for an endpoint version. You can configure routing settings if the API Gateway product is in your contract and you’re taking part in the API Gateway beta program.
Download schema:
routing-schema.json
Sample GET:
{
"rules": [
{
"name": "/test.html",
"description": null,
"forwardPath": "DEFAULT_PATH",
"origin": "rapidzik.hereokuapp.com",
"customForwardPath": null,
"forwardPort": null,
"forwardHostHeader": null,
"conditions": [
{
"type": "METHOD",
"operator": "IS",
"value": "GET"
},
{
"type": "HOSTNAME",
"operator": "IS",
"value": "*.www.sqa.rapid.com"
}
]
}
],
"sureRoute": [
{
"origin": "rapidzik.hereokuapp.com",
"testObjectPath": "/test.html",
"forceSslForward": false,
"raceKeyMode": "CUSTOM",
"raceKey": "some-custom-key.com",
"raceStatTtl": {
"duration": 30,
"unit": "MINUTES"
}
}
]
}
RoutingSettings members
Member | Type | Required | Description |
---|---|---|---|
RoutingSettings : Contains information about an incoming request’s routing settings configured for an endpoint. Routing settings specify routing, forwarding, and SureRoute instructions for an endpoint version. You can configure routing settings if the API Gateway product is in your contract and you’re taking part in the API Gateway beta program. |
|||
rules |
Routing |
○ | Consists of criteria that identifies which incoming requests to process for an endpoint. |
sureRoute |
Routing |
○ | Specifies the SureRoute settings configured for an endpoint. |
RoutingSettings.rules[] : Consists of criteria that identifies which incoming requests to process for an endpoint. |
|||
conditions |
Routing |
○ | A set of criteria that determines the action the API takes when an incoming request for an endpoint meets the criteria. |
custom |
String, Null | ○ | Specifies the request’s new forward path when the forwardPath value is CUSTOM_PATH . |
description |
String, Null | ○ | Descriptive text for the rule. |
forward |
String, Null | ○ | Specifies the request’s new host header. |
forwardPath |
Enumeration | ○ | Specifies the request’s forward path mode, either CUSTOM_PATH or DEFAULT_PATH . |
forwardPort |
Number, Null | ○ | Specifies the request’s new port number. |
name |
String | ✓ | A unique identifier for the rule. |
origin |
String | ✓ | Specifies the request’s new origin server destination. |
RoutingSettings.rules[].conditions[] : A set of criteria that determines the action the API takes when an incoming request for an endpoint meets the criteria. |
|||
operator |
Enumeration | ○ | Compares the incoming request to the type and value members. The only value currently available is IS . |
type |
Enumeration | ○ | Specifies the query string value to match. Use RESOURCE to match on a resource like JSON or XML. Use METHOD to match on the request method in the request header. Use HOSTNAME to match on the hostname in the request’s incoming Host header. |
value |
String, Number | ○ | Specifies the string you’re trying to match. For flexible URL path matching, use * and ? . |
RoutingSettings.sureRoute[] : Specifies the SureRoute settings configured for an endpoint. |
|||
forceSslForward |
Boolean | ✓ | Forces SureRoute to use SSL when requesting the test object from your alternate origin server. Set the value to true when the origin doesn’t respond to HTTP requests or responds with a redirect to HTTPS. |
origin |
String | ✓ | Specifies the origin server where the SureRoute definitions are applied. |
raceKey |
String, Null | ○ | Specifies a custom key to store race results. |
raceKeyMode |
Enumeration, Null | ○ | Specifies which hostname to use to store race results. Either DEFAULT for the race destination’s hostname or CUSTOM for a custom hostname. |
raceStatTtl |
Routing |
✓ | Specifies the TTL to hold the SureRoute race results. Races only run when certain thresholds exceed their limit. If traffic drops below the thresholds, the edge server continues to use the last race results to determine the optimal route until this TTL expires. When traffic next increases over the thresholds, the edge server uses the direct route until SureRoute determines a new optimal route. |
testObjectPath |
Null | ✓ | Specifies the test object’s path on your alternate origin server. SureRoute uses this path in races to test routes. For example, /akamai/testobject.html . |
RoutingSettings.sureRoute[].raceStatTtl : Specifies the TTL to hold the SureRoute race results. Races only run when certain thresholds exceed their limit. If traffic drops below the thresholds, the edge server continues to use the last race results to determine the optimal route until this TTL expires. When traffic next increases over the thresholds, the edge server uses the direct route until SureRoute determines a new optimal route. |
|||
duration |
Integer | ✓ | The maximum duration of content caching in the selected unit of time. |
unit |
Enumeration | ✓ | The unit of time for content caching, either DAYS , HOURS , MINUTES , or SECONDS . |
GzipSettings
Contains information about GZIP compression settings configured for an endpoint. This feature ensures proper content compression for bandwidth savings. You can configure GZIP compression settings if the API Gateway product is in your contract.
Download schema:
gzipDto-schema.json
Sample GET:
{
"compressResponse": "ALWAYS"
}
GzipSettings members
Member | Type | Required | Description |
---|---|---|---|
GzipSettings : Contains information about GZIP compression settings configured for an endpoint. This feature ensures proper content compression for bandwidth savings. You can configure GZIP compression settings if the API Gateway product is in your contract. |
|||
compressResponse |
Enumeration | ✓ | The type of GZIP compression configuration that you select, either ALWAYS for compressing all responses without restrictions, NEVER for no GZIP compression, or SAME_AS_ORIGIN for the same compression rules as specified for your origin server using the Content-Encoding header. |
CorsSettings
Contains information about cross-origin resource sharing (CORS) settings configured for an endpoint. CORS enables clients to request restricted resources from external domains outside the domain that served the first resource. You can configure CORS settings if the API Gateway product is in your contract.
Download schema:
corsDto-schema.json
Sample GET:
{
"enabled": true,
"allowCredentials": false,
"preflightMaxAge": 86400,
"allowedOrigins": [
"*"
],
"allowedHeaders": [
"Akamai-Cors-Allowed"
],
"allowedMethods": [
"GET"
],
"exposedHeaders": [
"Akamai-Cors-Exposed"
]
}
CorsSettings members
Member | Type | Required | Description |
---|---|---|---|
CorsSettings : Contains information about cross-origin resource sharing (CORS) settings configured for an endpoint. CORS enables clients to request restricted resources from external domains outside the domain that served the first resource. You can configure CORS settings if the API Gateway product is in your contract. |
|||
allowCredentials |
Boolean | ○ | Whether you allow credentialed HTTP requests to access your resources. Credentials may be cookies or TLS client certificates. |
allowedHeaders |
Array | ○ | The HTTP header names that you allow using the Access-Control-Allow-Headers header. |
allowedMethods |
Array | ○ | The HTTP methods that you allow using the Access-Control-Allow-Methods header, either GET , PUT , POST , DELETE , OPTIONS , PATCH , or HEAD . |
allowedOrigins |
Array | ○ | The origin hostnames that you allow using the Access-Control-Allow-Origin header. The wildcard (* ) means all hostnames. |
enabled |
Boolean | ✓ | Whether you enabled CORS for the endpoint. |
exposedHeaders |
Array | ○ | The headers that you expose using the Access-Control-Expose-Headers header. By exposing a header, you allow clients to access it. |
preflightMaxAge |
Integer | ○ | The maximum time in seconds for caching responses to preflight requests. |
ErrorSettings
Contains information about error response settings configured for an endpoint. If an inbound client request fails, API Gateway returns a default error response with a JSON-formatted description and a status code. You can customize the descriptions, status codes, and headers of selected error responses to help API consumers identify the cause of an error and troubleshoot effectively. You can configure error response settings if the API Gateway product is in your contract.
Download schema:
errorResponsesDto-schema.json
Sample GET:
{
"API_KEY_INVALID": {
"overrideDefaults": false,
"statusCode": 401,
"body": "{\"title\":\"The API key you provided does not exist.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
},
"API_KEY_FORBIDDEN": {
"overrideDefaults": false,
"statusCode": 403,
"body": "{\"title\":\"The API key you provided does not have access to the requested resource.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
},
"QUOTA_EXCEEDED": {
"overrideDefaults": false,
"statusCode": 429,
"body": "{\"title\":\"The quota limit for the API key you provided has been exceeded during the current time period.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
},
"JWT_SIGNATURE_INVALID": {
"overrideDefaults": false,
"statusCode": 401,
"body": "{\"title\":\"The JSON web signature in JWT did not pass the JWT validation.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
},
"JWT_CLAIM_VALUE_INVALID": {
"overrideDefaults": false,
"statusCode": 401,
"body": "{\"title\":\"The JWT claim value did not pass the JWT validation.\" }",
"headers": [
{
"name": "Content-Type",
"value": "application/problem+json"
}
]
}
}
ErrorSettings members
Member | Type | Required | Description |
---|---|---|---|
ErrorSettings : Contains information about error response settings configured for an endpoint. If an inbound client request fails, API Gateway returns a default error response with a JSON-formatted description and a status code. You can customize the descriptions, status codes, and headers of selected error responses to help API consumers identify the cause of an error and troubleshoot effectively. You can configure error response settings if the API Gateway product is in your contract. |
|||
{errorType} |
Error |
○ | Contains error responses, keyed by different error types. For possible values, see ErrorSettings.{errorType} values. |
ErrorSettings.{errorType} : Contains error responses, keyed by different error types. For possible values, see ErrorSettings.{errorType} values. |
|||
body |
String, Null | ○ | The response body to return in case of the error. The value should have the proper formatting to reflect the content type. For example, in case of a JSON body format, enclose the text in curly brackets ({} ). |
headers |
Error |
○ | The list of HTTP headers to return in case of the error. By default, API Gateway returns the Content-Type header with a value of application/problem+json which reflects the default response body. If the body member indicates a different content type, set the Content-Type header to the appropriate value. For example, in case of an XML body, the value could be application/problem+xml . |
overrideDefaults |
Boolean | ○ | Read-only. Whether you overrode the default error response. |
statusCode |
Integer | ✓ | The status code to return in case of the error. |
ErrorSettings.{errorType}.headers[] : The list of HTTP headers to return in case of the error. By default, API Gateway returns the Content-Type header with a value of application/problem+json which reflects the default response body. If the body member indicates a different content type, set the Content-Type header to the appropriate value. For example, in case of an XML body, the value could be application/problem+xml . |
|||
name |
String | ✓ | The name of the HTTP header to return in case of the error. |
value |
String | ✓ | The value of the HTTP header to return in case of the error. |
ErrorSettings.{errorType} values
This section lists all available error type values that you can enter for the type
URL parameter in the Get an error response and Edit an error response operations. The ErrorSettings object uses these values as keys indicating different types of customizable errors.
Value | Description |
---|---|
API_KEY_FORBIDDEN |
The API key in the request doesn’t have access to the requested resource. |
API_KEY_INVALID |
The API key in the request doesn’t exist. |
JWT_CLAIM_VALUE_INVALID |
The JWT claim value didn’t pass the JWT validation. |
JWT_SIGNATURE_INVALID |
The JSON web signature in JWT didn’t pass the JWT validation. |
QUOTA_EXCEEDED |
The quota limit for the API key included in the request has been exceeded during the current time period. |
JwtSettings
Contains information about JSON web token (JWT) validation settings configured for an endpoint. JWT is an open standard (RFC 7519) that defines a compact and self-contained method for securely transmitting JSON-encoded information between parties. It’s often used for authentication purposes. You can configure JWT validation settings if the API Gateway product is in your contract.
Download schema:
jwtDto-schema.json
Sample GET:
{
"enabled": true,
"settings": {
"location": "HEADER",
"paramName": "Authorization",
"clockSkew": 10,
"validation": {
"rsaPublicKeyB": null,
"rsaPublicKeyA": {
"name": "publicKey",
"content": "-----BEGIN PUBLIC KEY-----\nMIIBIjwE9GQg+OR0WYHtq4AKsvK2eucDs06ejWRDb+uDN\n80jxZCxfweelZKvYT9Qdms/1SJv\nrQIDAQAB\n-----END PUBLIC KEY-----"
},
"claims": [
{
"name": "aud",
"validate": false,
"required": false,
"type": "ARRAY",
"value": []
},
{
"name": "iss",
"validate": true,
"required": false,
"value": "Akamai",
"type": "STRING"
},
{
"name": "sub",
"validate": true,
"required": false,
"value": "^[a-zA-Z0-9_]*$",
"type": "REGEX"
},
{
"name": "exp",
"validate": true,
"required": false,
"value": null,
"type": "TIMESTAMP"
},
{
"name": "nbf",
"validate": true,
"required": false,
"value": null,
"type": "TIMESTAMP"
},
{
"name": "dept",
"validate": true,
"required": false,
"value": "IT",
"type": "STRING"
},
{
"name": "roles",
"validate": true,
"required": false,
"type": "ARRAY",
"value": [
"admin",
"premium_user",
"regular_user"
]
}
]
}
},
"resources": {
"2926712": {
"enabled": true,
"path": "/book/{bookId}",
"inheritsFromEndpoint": true,
"notes": "A book item within the bookstore API.",
"methods": [
"POST",
"GET"
]
},
"2935128": {
"enabled": true,
"path": "/user/{userId}",
"inheritsFromEndpoint": true,
"notes": "A registered bookstore user.",
"methods": [
"POST",
"GET",
"PUT"
]
},
"2935139": {
"enabled": true,
"path": "/magazine/{magazineId}",
"inheritsFromEndpoint": true,
"notes": "A magazine item within the bookstore API.",
"methods": [
"GET"
]
}
}
}
JwtSettings members
Member | Type | Required | Description |
---|---|---|---|
JwtSettings : Contains information about JSON web token (JWT) validation settings configured for an endpoint. JWT is an open standard (RFC 7519) that defines a compact and self-contained method for securely transmitting JSON-encoded information between parties. It’s often used for authentication purposes. You can configure JWT validation settings if the API Gateway product is in your contract. |
|||
enabled |
Boolean | ✓ | Whether you enabled JWT validation for the endpoint. |
resources |
Jwt |
○ | Contains information about JWT validation settings for each resource associated with an endpoint version. The resources are available through a map of resourceId keys. |
settings |
Jwt |
○ | Contains information about endpoint-level JWT settings. |
JwtSettings.resources : Contains information about JWT validation settings for each resource associated with an endpoint version. The resources are available through a map of resourceId keys. |
|||
{apiResourceId} |
Jwt |
○ | Contains information about JWT settings configured for a resource. |
JwtSettings.resources.{apiResourceId} : Contains information about JWT settings configured for a resource. |
|||
enabled |
Boolean | ✓ | Whether you enabled JWT validation for the resource. |
inherits |
Boolean | ○ | Read-only. Whether the resource inherits the top-level JWT settings. |
methods |
Array | ○ | Read-only. The methods associated with the resource, either POST , GET , PUT , DELETE , HEAD , OPTIONS , or PATCH . |
notes |
String, Null | ○ | Read-only. The description of the resource. |
path |
String | ○ | Read-only. The URL path relative to the hostnames on which the resource resides. |
JwtSettings.settings : Contains information about endpoint-level JWT settings. |
|||
clockSkew |
Integer | ✓ | The allowed time difference in seconds between the server and client clocks when validating the exp and nbf JWT claims. The recommended value is 10. |
location |
Enumeration | ✓ | The location of the JWT in incoming requests, either HEADER for a request header, COOKIE , or QUERY for a query parameter. |
paramName |
String | ✓ | The name of the header, cookie, or query parameter that you specified for the JWT location. |
validation |
Jwt |
○ | Contains information about the JWT validation details, such as RSA public keys and JWT claims. |
JwtSettings.settings.validation : Contains information about the JWT validation details, such as RSA public keys and JWT claims. |
|||
claims |
Jwt |
○ | The collection of custom and reserved JWT claims that API Gateway validates in incoming requests. Reserved claims are predefined (as per RFC 7519) and serve as a starting point for your JWT claim configuration. Custom claims refer to both private and public claims and you can define them at will. To prevent claim name collisions, you can register public claims at the IANA JSON Web Token Claims registry or give them collision-resistant names, such as universally unique identifiers (UUIDs) or object identifiers (OIDs). Private claims usually contain information specific to your organization, such as internal user ID. They’re different from public claims as they’re not registered at the IANA JSON Web Token Claims registry, and should be used with care. |
jwks |
Jwt |
○ | Contains information about a JSON web key set to load public keys from. Specify this object only if the corresponding method member is JWKS . |
method |
Enumeration | ○ | The method of delivering RSA public keys for JWT validation. Either INLINE_PUBLIC_KEY for periodical manual uploads of public keys, or JWKS for a dynamic upload of public keys from specific JWKS URIs. |
rsaPublicKeyA |
Jwt |
○ | Contains information about the primary RSA public key that you use for JWT validation. The value is null if the corresponding method member is JWKS . |
rsaPublicKeyB |
Jwt |
○ | Contains information about the backup RSA public key for use during key rotations. |
JwtSettings.settings.validation.claims[] : The collection of custom and reserved JWT claims that API Gateway validates in incoming requests. Reserved claims are predefined (as per RFC 7519) and serve as a starting point for your JWT claim configuration. Custom claims refer to both private and public claims and you can define them at will. To prevent claim name collisions, you can register public claims at the IANA JSON Web Token Claims registry or give them collision-resistant names, such as universally unique identifiers (UUIDs) or object identifiers (OIDs). Private claims usually contain information specific to your organization, such as internal user ID. They’re different from public claims as they’re not registered at the IANA JSON Web Token Claims registry, and should be used with care. |
|||
name |
String | ○ | The name of the JWT claim. For reserved claims, it can either be aud to identify the audience that the JWT is intended for, iss to identify the issuer of the JWT claim, sub to identify the subject of the JWT, exp to identify the expiration time on or after which the token isn’t accepted for processing, or nbf to identify the time before which the token isn’t accepted for processing. For custom claims, you can use all alphanumeric characters and these characters: [-_] . The value isn’t case-sensitive for reserved claims and case-sensitive for custom claims. For example, if you enter AUD for a value, the system automatically converts it to aud , but scope and SCOPE represent two different values. |
required |
Boolean | ○ | Whether the presence of the JWT claim is needed in incoming requests. |
type |
Enumeration | ○ | The data type of the JWT claim’s value, either ARRAY , STRING , INTEGER , BOOLEAN , or REGEX if it’s a regular expression. |
validate |
Boolean | ○ | Whether to validate the value of the JWT claim at the edge. |
value |
Array, String, Boolean, Number, Null | ○ | The value of the JWT claim, represented as a string, boolean or number if it’s a single value, or as an array if there’s more than one value. If the value is a string, it cannot exceed 200 characters. If the value is an array, it cannot contain more than 100 items. |
JwtSettings.settings.validation.jwks : Contains information about a JSON web key set to load public keys from. Specify this object only if the corresponding method member is JWKS . |
|||
certChain |
Jwt |
○ | Contains information about a PEM file with the certificate to use for validation of hostnames included in the hosts member. |
hosts |
Array | ○ | The list of hostnames that store JSON web key sets. Each hostname needs to be digitally signed with the certificate chain described in the corresponding certChain field. |
publicKeyMaxAge |
Jwt |
○ | Contains information about the maximum duration to keep a public key in a cache. |
JwtSettings.settings.validation.jwks.certChain : Contains information about a PEM file with the certificate to use for validation of hostnames included in the hosts member. |
|||
content |
String | ○ | The contents of the PEM file that contains the certificate. |
name |
String | ○ | The name of the PEM file that contains the certificate. |
JwtSettings.settings.validation.jwks.publicKeyMaxAge : Contains information about the maximum duration to keep a public key in a cache. |
|||
duration |
Integer | ✓ | The maximum duration of content caching in the selected unit of time. |
unit |
Enumeration | ✓ | The unit of time for content caching, either DAYS , HOURS , MINUTES , or SECONDS . |
JwtSettings.settings.validation.rsaPublicKeyA : Contains information about the primary RSA public key that you use for JWT validation. The value is null if the corresponding method member is JWKS . |
|||
content |
String | ○ | The content of the file containing the primary RSA key. |
name |
String | ○ | The name of the file containing the primary RSA key. |
JwtSettings.settings.validation.rsaPublicKeyB : Contains information about the backup RSA public key for use during key rotations. |
|||
content |
String | ○ | The content of the file containing the backup RSA key. |
name |
String | ○ | The name of the file containing the backup RSA key. |
OauthScopeDefinition
Deprecated. Contains information about an OAuth scope.
Download schema:
oauthScope-schema.json
Sample GET:
{
"name": "http://bookstore.api.com/bookstore/users/id.read",
"description": "Allow a client app to view user IDs."
}
OauthScopeDefinition members
Member | Type | Required | Description |
---|---|---|---|
OauthScopeDefinition : Contains information about an OAuth scope. |
|||
description |
String | ○ | The description of the scope. |
name |
String | ○ | The name of the scope. |
OauthScopesAssignments
Deprecated. Contains information about OAuth scopes configured for an endpoint. You can configure OAuth scopes if the API Gateway product is in your contract and you’re taking part in the API Gateway beta program.
Download schema:
oauthDto-schema.json
Sample GET:
{
"enabled": true,
"resources": {
"100": {
"path": "/books/{bookId}",
"notes": null,
"scopes": [
"admin:calendar"
],
"methods": {
"GET": {
"notes": null,
"scopes": [
"read:calendar"
]
},
"POST": {
"notes": null,
"scopes": [
"write:calendar"
]
}
}
},
"101": {
"path": "/users/{userId}",
"notes": null,
"scopes": [],
"methods": {
"GET": {
"notes": null,
"scopes": [
"read:mail"
]
},
"POST": {
"notes": null,
"scopes": []
},
"PUT": {
"notes": null,
"scopes": []
},
"DELETE": {
"notes": null,
"scopes": []
}
}
},
"102": {
"path": "/contacts",
"notes": "Core contacts API resource",
"scopes": [
"contacts"
],
"methods": {
"GET": {
"notes": null,
"scopes": []
},
"PUT": {
"notes": null,
"scopes": []
},
"DELETE": {
"notes": null,
"scopes": []
}
}
}
}
}
OauthScopesAssignments members
Member | Type | Required | Description |
---|---|---|---|
OauthScopesAssignments : Contains information about OAuth scopes configured for an endpoint. You can configure OAuth scopes if the API Gateway product is in your contract and you’re taking part in the API Gateway beta program. |
|||
enabled |
Boolean | ✓ | Whether you enabled the OAuth scopes assignment for the endpoint. |
resources |
Oauth |
○ | Contains information about OAuth scopes assigned to each resource associated with an endpoint version. The resources are available through a map of resourceId keys. |
OauthScopesAssignments.resources : Contains information about OAuth scopes assigned to each resource associated with an endpoint version. The resources are available through a map of resourceId keys. |
|||
{apiResourceId} |
Oauth |
○ | Contains information about OAuth scopes assigned to a resource. |
OauthScopesAssignments.resources.{apiResourceId} : Contains information about OAuth scopes assigned to a resource. |
|||
methods |
Oauth |
○ | Contains information about OAuth scopes assigned to each method associated with a resource. The methods are available through a map of apiResourceMethod keys. |
notes |
String, Null | ○ | Read-only. The description of the resource. |
path |
String | ○ | Read-only. The URL path relative to the hostnames on which the resource resides. |
scopes |
Array | ○ | The scopes that define the level of client apps’ access to the resource and its associated methods. |
OauthScopesAssignments.resources.{apiResourceId}.methods : Contains information about OAuth scopes assigned to each method associated with a resource. The methods are available through a map of apiResourceMethod keys. |
|||
{api |
Oauth |
○ | Contains information about OAuth scopes assigned to a method. |
OauthScopesAssignments.resources.{apiResourceId}.methods.{apiResourceMethod} : Contains information about OAuth scopes assigned to a method. |
|||
notes |
String, Null | ○ | Read-only. The description of the method. |
scopes |
Array | ○ | The scopes that define the level of client apps’ access to the method. |
Category
Contains information about an endpoint category.
Download schema:
categoryDto-schema.json
Sample GET response:
{
"createDate": "2019-06-17T12:40:14+0000",
"updateDate": "2019-06-17T12:40:14+0000",
"apiCategoryId": 9902,
"apiCategoryName": "Sales",
"apiCategoryDescription": "The applications related to the Sales department.",
"link": "/api-definitions/v2/categories/9902",
"lockVersion": 0
}
Category members
Member | Type | Required | Description |
---|---|---|---|
Category : Contains information about an endpoint category. |
|||
api |
String, Null | ○ | The description of the category that you may use to tag related endpoints. If you specify null or an empty string in the request, the JSON response doesn’t include this field. |
apiCategoryId |
Integer | ○ | Read-only. The unique identifier for the category. |
apiCategoryName |
String | ✓ | The unique-per-account name of the category. Any empty value reflects back as an __UNCATEGORIZED__ keyword. |
createDate |
String | ○ | Read-only. The ISO–6801 timestamp indicating when you created the category. |
createdBy |
String | ○ | The identifier for the user who created the category. |
link |
String | ○ | The location of the navigable resource within this API, for use by API clients. |
lockVersion |
Number | ○ | The identifier used for optimistic locking. See Concurrency control for details. |
updateDate |
String | ○ | Read-only. The ISO–6801 timestamp indicating when you last modified the category. |
updatedBy |
String | ○ | The identifier for the user who last modified the category. |
usageCount |
Integer | ○ | The number of endpoints that share the category. |
AcgPair
Contains information about a pairing of contract and group under which you provision the security and delivery settings for an endpoint.
Download schema:
aCGPickerRow-schema.json
Sample GET response:
[
{
"displayName": "Bookstore Users",
"acgId": "3-1Cgoa",
"groupId": 58220,
"contractId": "3-1Cgoa"
},
{
"displayName": "Bookstore Users - Developers",
"acgId": "3-1Cgoa.G75683",
"groupId": 75683,
"contractId": "3-1Cgoa"
}
]
AcgPair members
Member | Type | Required | Description |
---|---|---|---|
AcgPair : Contains information about a pairing of contract and group under which you provision the security and delivery settings for an endpoint. |
|||
acgId |
String | ○ | The unique identifier for the pairing of contract and group. |
contractId |
String | ○ | The unique identifier for the Akamai contract within the pairing. |
displayName |
String | ○ | The descriptive name for the pairing of contract and group. |
groupId |
Number | ○ | The unique identifier for the group within the pairing. |
CacheKey
Contains information about the cache key settings configured for an endpoint or resource.
Download schema:
cacheKeyDto-schema.json
CacheKey members
Member | Type | Required | Description |
---|---|---|---|
CacheKey : Contains information about the cache key settings configured for an endpoint or resource. |
|||
customize |
Boolean | ✓ | Whether you want to customize cache key settings for an endpoint. |
exactMatch |
Boolean, Null | ○ | Whether query parameters in incoming requests should match exactly the string items in the corresponding parameters member. If false, even the parameters that just begin with the strings you specified in the parameters member will match. This is only relevant if you set the corresponding option member to either INCLUDE or IGNORE . |
option |
Enumeration, Null | ○ | The option for cache key customization. For possible values, see CacheKey.option values. If you select INCLUDE or IGNORE , also specify the corresponding parameters member. |
parameters |
Array, Null | ○ | The list of parameters to include in or exclude from cache keys, depending on the option you selected. This is only relevant if you set the corresponding option member to either INCLUDE or IGNORE . |
CacheKey.option values
This section describes each available cache key customization option
.
Value | Description |
---|---|
IGNORE |
Exclude only specific query parameters from a cache key. |
IGNORE_ALL |
Exclude all query parameters from a cache key. |
INCLUDE |
Include only specific query parameters as part of a cache key. |
INCLUDE_ALL_ALPHABETIZE_ORDER |
Include all query parameters as part of a cache key and sort them alphabetically. |
INCLUDE_ALL_PRESERVE_ORDER |
Include all query parameters as part of a cache key and keep their default order. |
Duration
Contains information about the maximum duration to keep a public key in a cache.
Download schema:
durationDto-schema.json
Duration members
Member | Type | Required | Description |
---|---|---|---|
Duration : Contains information about the maximum duration to keep a public key in a cache. |
|||
duration |
Integer | ✓ | The maximum duration of content caching in the selected unit of time. |
unit |
Enumeration | ✓ | The unit of time for content caching, either DAYS , HOURS , MINUTES , or SECONDS . |
ImportFile
Contains information about an API definition file to import.
Download schema:
importFileDto-schema.json
Sample POST request:
{
"importFileFormat": "swagger",
"importFileSource": "BODY_BASE64",
"importFileContent": "ewogICJzd2FnZ2VyIjogIjIuMCIsCiAgImluZm8iOiB7CiAgICAidmVyc2lvbiI6ICIxLjAuMCIsCiAgICAidGl0bGUiOiAiQm9va3N0b3JlIEFQSSIsCiAgICAiZGVzY3JpcHRpb24iOiAiQW4gQVBJIGZvciBib29rc3RvcmUgdXNlcnMgYWxsb3dpbmcgdGhlbSB0byByZXRyaWV2ZSBib29rIGl0ZW1zLCBhZGQgbmV3IGl0ZW1zIChhZG1pbiB1c2VycyksIGFuZCBtb2RpZnkgZXhpc3RpbmcgaXRlbXMuIgogIH0sCiAgImhvc3QiOiAiYm9va3N0b3JlLmFwaS5ha2FtYWkuY29tIiwKICAic2NoZW1lcyI6IFsKICAgICJodHRwIiwKICAgICJodHRwcyIKICBdLAogICJzZWN1cml0eURlZmluaXRpb25zIjogewogICAgImFwaV9rZXkiOiB7CiAgICAgICJ0eXBlIjogImFwaUtleSIsCiAgICAgICJuYW1lIjogImFwaUtleSIsCiAgICAgICJpbiI6ICJoZWFkZXIiCiAgICB9CiAgfSwKICAiYmFzZVBhdGgiOiAiL2Jvb2tzdG9yZSIsCiAgInBhdGhzIjogewogICAgIi9ib29rcyI6IHsKICAgICAgImdldCI6IHsKICAgICAgICAiZGVzY3JpcHRpb24iOiAiTGlzdHMgYWxsIGJvb2sgaXRlbXMuIiwKICAgICAgICAib3BlcmF0aW9uSWQiOiAiZ2V0Qm9va3MiLAogICAgICAgICJwcm9kdWNlcyI6IFsKICAgICAgICAgICJhcHBsaWNhdGlvbi9qc29uIgogICAgICAgIF0sCiAgICAgICAgInJlc3BvbnNlcyI6IHsKICAgICAgICAgICIyMDAiOiB7CiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJCb29rIHJlc3BvbnNlLiIsCiAgICAgICAgICAgICJzY2hlbWEiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvYm9vayIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sCiAgICAgICJwb3N0IjogewogICAgICAgICJkZXNjcmlwdGlvbiI6ICJDcmVhdGVzIGEgYm9vayBpdGVtIGluIHRoZSBib29rc3RvcmUuIiwKICAgICAgICAib3BlcmF0aW9uSWQiOiAicG9zdEJvb2siLAogICAgICAgICJwcm9kdWNlcyI6IFsKICAgICAgICAgICJhcHBsaWNhdGlvbi9qc29uIgogICAgICAgIF0sCiAgICAgICAgInBhcmFtZXRlcnMiOiBbewogICAgICAgICAgIm5hbWUiOiAiYm9vayIsCiAgICAgICAgICAiaW4iOiAiYm9keSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBib29rIHRvIGFkZCB0byB0aGUgYm9va3N0b3JlLiIsCiAgICAgICAgICAicmVxdWlyZWQiOiB0cnVlLAogICAgICAgICAgInNjaGVtYSI6IHsKICAgICAgICAgICAgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9uZXdCb29rIgogICAgICAgICAgfQogICAgICAgIH1dLAogICAgICAgICJyZXNwb25zZXMiOiB7CiAgICAgICAgICAiMjAwIjogewogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQm9vayByZXNwb25zZS4iLAogICAgICAgICAgICAic2NoZW1hIjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9ib29rIgogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIi9ib29rcy97aWR9IjogewogICAgICAiZ2V0IjogewogICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIGEgYm9vayBpdGVtLiIsCiAgICAgICAgIm9wZXJhdGlvbklkIjogImdldEJvb2siLAogICAgICAgICJwcm9kdWNlcyI6IFsKICAgICAgICAgICJhcHBsaWNhdGlvbi9qc29uIgogICAgICAgIF0sCiAgICAgICAgInBhcmFtZXRlcnMiOiBbewogICAgICAgICAgIm5hbWUiOiAiaWQiLAogICAgICAgICAgImluIjogInBhdGgiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkEgc3BlY2lmaWMgSUQgb2YgYSBib29rIGl0ZW0gdG8gcmV0dXJuLiIsCiAgICAgICAgICAicmVxdWlyZWQiOiB0cnVlLAogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIKICAgICAgICB9XSwKICAgICAgICAicmVzcG9uc2VzIjogewogICAgICAgICAgIjIwMCI6IHsKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkJvb2sgcmVzcG9uc2UuIiwKICAgICAgICAgICAgInNjaGVtYSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvYm9vayIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlbGV0ZSI6IHsKICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVsZXRlcyBhIGJvb2sgaXRlbSBmcm9tIHRoZSBib29rc3RvcmUuIiwKICAgICAgICAib3BlcmF0aW9uSWQiOiAiZGVsZXRlQm9vayIsCiAgICAgICAgInByb2R1Y2VzIjogWwogICAgICAgICAgImFwcGxpY2F0aW9uL2pzb24iCiAgICAgICAgXSwKICAgICAgICAicGFyYW1ldGVycyI6IFt7CiAgICAgICAgICAibmFtZSI6ICJpZCIsCiAgICAgICAgICAiaW4iOiAicGF0aCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBzcGVjaWZpYyBJRCBvZiBhIGJvb2sgaXRlbSB0byBkZWxldGUuIiwKICAgICAgICAgICJyZXF1aXJlZCI6IHRydWUsCiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIgogICAgICAgIH1dLAogICAgICAgICJyZXNwb25zZXMiOiB7CiAgICAgICAgICAiMjA0IjogewogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQm9vayBkZWxldGVkIgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KfQ==",
"contractId": "3-13H55B5",
"groupId": 44681
}
ImportFile members
Member | Type | Required | Description |
---|---|---|---|
ImportFile : Contains information about an API definition file to import. |
|||
contractId |
String | ○ | The unique identifier for the contract under which to provision the endpoint. |
groupId |
Number | ○ | The unique identifier for the group under which to provision the endpoint. |
import |
String | ○ | The content of the API definition file encoded in Base64 (see RFC 4648 for details). Specify this only if you set the corresponding importFileSource to BODY_BASE64 . |
importFileFormat |
Enumeration | ✓ | The format of the API definition file, either raml or swagger . You cam import RAML 0.8 files and Swagger 2.0 or 3.0 files. |
importFileSource |
Enumeration | ✓ | The location of the API definition file, either URL if you store the file on the web, or BODY_BASE64 if you encode the file contents in the request body. |
importUrl |
String | ○ | The URL from which to get the API definition file. Specify this only if you set the corresponding importFileSource to URL . |
root |
String | ○ | If the import file located at the importUrl is a ZIP archive, this identifies the API definition’s filename within the archive. |
ApiVersionDetails
Contains information about a major API version. This refers to REST API versioning and is a different concept than the endpoint configuration versions you create at Akamai.
Download schema:
apiVersionInfo-schema.json
ApiVersionDetails members
Member | Type | Required | Description |
---|---|---|---|
ApiVersionDetails : Contains information about a major API version. This refers to REST API versioning and is a different concept than the endpoint configuration versions you create at Akamai. |
|||
location |
Enumeration | ✓ | The location of the API version value in an incoming request. Either HEADER , BASE_PATH , or QUERY parameter. |
parameterName |
String | ○ | The name of the header or query parameter that includes the API version value. This is applicable only if the corresponding location member is either HEADER or QUERY . |
value |
String | ○ | The expected API version value in an incoming request. |
HostAcgPair
Contains information about a hostname and access control group where the hostname is registered.
Download schema:
acgsHost-schema.json
Sample GET response:
[
{
"hostname": "www.bookstore.api.akamai.com",
"acgId": "WAA-3-1AINU1T",
"contractId": "3-1AINU1T"
},
{
"hostname": "www.bookstore2.api.akamai.com",
"acgId": "WAA-3-WNNG6F",
"contractId": "3-WNNG6F"
}
]
HostAcgPair members
Member | Type | Required | Description |
---|---|---|---|
HostAcgPair : Contains information about a hostname and access control group where the hostname is registered. |
|||
acgId |
String | ○ | The unique identifier for the access control group where the hostname is registered. |
contractId |
String | ○ | The unique identifier for the Akamai contract within the access control group. |
hostname |
String | ○ | The hostname that may receive traffic for an endpoint. |
Errors
This section provides details on the data object that reflects the API’s common response to error cases, and lists the API’s range of response status codes for both error and success cases.
Error responses
When the API encounters a problem, it responds with an object that
adheres to the HTTP problem details
standard. This sample shows an authorization error, where the type
value is a non-navigable URI, and the instance
may be useful if you
need to communicate about the problem with your Akamai support representative:
{
"type": "https://problems.luna.akamaiapis.net/api-definitions/error-types/UNAUTHORIZED",
"title": "Unauthorized Access/Action",
"status": 403,
"detail": "You don't have access to the end point.",
"instance": "https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749"
}
HTTP status codes
This section lists the full range of response codes the API may generate:
Code | Description |
---|---|
200 | The operation was successful. |
201 | Resource successfully created. |
204 | Successfully processed request. |
400 | Bad request. |
401 | Authentication failure. |
403 | Access is forbidden. |
404 | Resource not found. |
405 | Method not supported. |
409 | Conflict with current state of resource. |
412 | An Etag or If-Match header doesn’t match, indicating the content has been modified. See Concurrency control for more information. |
500 | Internal server error. |
Error types
This table lists each of the API’s error type strings you may
encounter. Problem responses provide this data as
the type
member, each with this common URL prefix:
https://problems.luna.akamaiapis.net/api-definitions/error-types/
Error type | Description |
---|---|
activation-for-other-version-already-pending |
You cannot activate the endpoint version because another version’s activation is pending on the Akamai network. |
activation-for-path-already-pending |
At least one base path and hostname combination that you specified for an endpoint is currently being activated on the Akamai network. |
allow-any-domain-is-not-allowed |
For the CORS configuration, you cannot use a wildcard (* ) in the allowedOrigins field when the allowCredentials field is set to true . |
api-privacy-key-location-not-set |
For the API privacy configuration, to define an endpoint version as private, you need to first specify the apiKeyLocation value for the endpoint version. |
empty-contract |
You need to specify a contract ID when creating or cloning an endpoint. |
empty-group |
You need to specify a Control Center group ID when creating or cloning an endpoint. |
empty-hosts |
You need to include at least one hostname in the apiEndPointHosts array when creating or cloning an endpoint. |
endpoint-name-not-unique |
An endpoint with the name that you specified already exists. |
endpoint-invalid-basepath |
The basePath that you specified doesn’t meet the syntactic requirements for a base path. Ensure that the base path starts with a forward slash (/ ) and doesn’t end with one. |
endpoint-invalid-host |
At least one element that you included in the apiEndPointHosts array doesn’t meet the syntactic requirements outlined in RFC 952 and RFC 1123. |
endpoint-path-already-active |
At least one base path and hostname combination that you specified is already active on the Akamai network. |
endpoint-path-already-used |
At least one base path and hostname combination that you specified already exists in another endpoint configuration. |
endpoint-version-already-active |
You cannot activate the endpoint version because it’s already active on the Akamai network. |
endpoint-version-is-pending |
You cannot modify the endpoint version because it has pending changes that are being propagated to the Akamai network. |
endpoint-version-locked |
You cannot modify the endpoint version because it has already been activated on the Akamai network. |
endpoint-version-not-active |
You cannot deactivate the endpoint version because it isn’t currently active on the Akamai network. |
endpoint-version-not-found |
You cannot modify the endpoint version because it doesn’t exist. |
greater-than-max |
The numerical JSON value is too large. |
import-invalid-syntax |
The import file that you provided contains syntactic errors. For details on forming an API definition file, see either the Swagger specification or the RAML specification. |
import-invalid-schema |
The import file that you provided isn’t a valid Swagger 2.0 or RAML 0.8 file. For details on forming an API definition file, see either the Swagger specification or the RAML specification. |
import-hostnames-mismatch |
The hostnames in your imported API definition file don’t match the hostnames configured for the endpoint. This is just to inform you that the system didn’t replace the original hostnames. |
import-ref-not-found |
The importUrl that you specified for the import operation doesn’t point to an API definition file. |
invalid-category |
The apiCategoryId that you specified isn’t associated with any endpoints in the system. |
invalid-contract |
The contract ID that you specified when creating or cloning an endpoint doesn’t exist. |
invalid-header |
The HTTP header value provided for the CORS configuration contains invalid characters. |
invalid-http-method |
The JSON value isn’t an HTTP method name string. This is for JSON fields that expect HTTP methods for values. |
invalid-json-value |
The JSON value doesn’t meet the validation criteria for the corresponding JSON field. |
invalid-origin |
The origin hostname doesn’t meet the syntactic requirements outlined in RFC 952 and RFC 1123. |
jwt-public-key-duplicated |
The primary and backup RSA keys uploaded for JWT validation purposes are identical. |
less-than-min |
The numerical JSON value is too small. |
multiple-type-parameters-not-supported |
The system only supports single-type parameters in imported API definitions files. |
not-null |
The JSON value is null, and the corresponding JSON field doesn’t accept null values. |
raml-version-not-supported |
The system doesn’t support the RAML version of your imported API definition file. The currently supported version is RAML 0.8. |
required-param-missing |
The JSON value specified as required in the schema is missing from the request body. |
resource-invalid-path |
The resourcePath that you specified doesn’t meet the syntactic requirements for a path. Ensure that the resource path starts with a forward slash (/ ) and doesn’t end with one. |
resource-name-not-unique |
A resource with the name that you specified already exists. |
resource-not-found |
The endpoint, version, or resource with the ID that you specified doesn’t exist. |
swagger-version-not-supported |
The system doesn’t support the Swagger version of your imported API definition file. The currently supported version is Swagger 2.0. |
type-mismatch |
The JSON value is of a different data type than expected in the corresponding JSON field. |
unrecognized-json-field |
The JSON field isn’t present in the corresponding JSON schema. |