API Endpoint Definition API Data

This section provides details for each type of data object the API exchanges.

Whenever [n] 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.

The data schema tables below list membership requirements as follows:

Member is required to be present, regardless of whether 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’s either ignored, or causes an error.

EndpointList

Encapsulates information about a collection of requested endpoints.

Download schema: apiEndpointListDto-schema.json

EndpointList Members

Member Type Required Description
apiEndPoints Endpoint Array The collection of 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

Encapsulates information about an endpoint and its associated resources.

Download schema: apiEndpointCloneDto-schema.json, apiEndpointWithResourceDto-schema.json

Sample GET:

{
    "createdBy": "joe1",
    "createDate": "2017-11-17T19:27:07+0000",
    "updateDate": "2017-11-17T19:27:07+0000",
    "updatedBy": "joe1",
    "apiEndPointId": 314252,
    "apiEndPointName": "Membership Benefits",
    "description": "Provides information about membership benefits and available services.",
    "basePath": "/api/v2",
    "apiEndPointScheme": "http/https",
    "consumeType": "any",
    "groupId": 44681,
    "versionNumber": 1,
    "clonedFromVersion": null,
    "apiEndPointLocked": false,
    "stagingVersion": {
        "versionNumber": null,
        "status": null
    },
    "productionVersion": {
        "versionNumber": null,
        "status": null
    },
    "protectedByApiKey": false,
    "apiEndPointHosts": [
        "api-service.example.com"
    ],
    "apiCategoryIds": [
        161
    ],
    "contractId": "3-13H55B5",
    "securityScheme": {
        "securitySchemeType": "apikey",
        "securitySchemeDetail": {
            "apiKeyLocation": "header",
            "apiKeyName": "header-101"
        }
    },
    "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
    },
    "stagingStatus": null,
    "productionStatus": null,
    "apiResources": [
        {
            "apiResourceId": 765432,
            "apiResourceName": "cloud security",
            "resourcePath": "/resources/{resourceId}",
            "description": "resource description",
            "apiResourceMethods": [
                {
                    "apiResourceMethodId": 54362,
                    "apiResourceMethod": "GET",
                    "apiParameters": [
                        {
                            "apiParameterId": 23245,
                            "apiParameterRequired": true,
                            "apiParameterName": "endpoint-id",
                            "apiParameterLocation": "path",
                            "apiParameterType": "integer",
                            "apiParameterNotes": null,
                            "array": false,
                            "apiParameterRestriction": {
                                "rangeRestriction": {
                                    "rangeMin": 6,
                                    "rangeMax": 15
                                }
                            }
                        },
                        {
                            "apiParameterId": 43212,
                            "apiParameterRequired": true,
                            "apiParameterName": "resourceId",
                            "apiParameterLocation": "path",
                            "apiParameterType": "string",
                            "apiParameterNotes": null,
                            "array": false,
                            "apiParameterRestriction": null
                        }
                    ]
                },
                {
                    "apiResourceMethodId": 43245,
                    "apiResourceMethod": "POST",
                    "apiParameters": [
                        {
                            "apiParameterId": 54353,
                            "apiParameterRequired": true,
                            "apiParameterName": "endpoint-id",
                            "apiParameterLocation": "path",
                            "apiParameterType": "integer",
                            "apiParameterNotes": null,
                            "array": false,
                            "apiParameterRestriction": null
                        },
                        {
                            "apiParameterId": 32314,
                            "apiParameterRequired": true,
                            "apiParameterName": "resourceId",
                            "apiParameterLocation": "path",
                            "apiParameterType": "string",
                            "apiParameterNotes": null,
                            "array": false,
                            "apiParameterRestriction": {
                                "lengthRestriction": {
                                    "lengthMax": 15,
                                    "lengthMin": 6
                                }
                            }
                        },
                        {
                            "apiParameterId": 32454,
                            "apiParameterRequired": true,
                            "apiParameterName": "post-body",
                            "apiParameterLocation": "body",
                            "apiParameterType": "json/xml",
                            "apiParameterNotes": null,
                            "array": false,
                            "apiParameterRestriction": null,
                            "apiChildParameters": [
                                {
                                    "apiParameterId": 32456,
                                    "apiParameterRequired": true,
                                    "apiParameterName": "id",
                                    "apiParameterLocation": "body",
                                    "apiParameterType": "integer",
                                    "apiParameterNotes": null,
                                    "array": false,
                                    "apiParameterRestriction": {
                                        "rangeRestriction": {
                                            "rangeMin": 6,
                                            "rangeMax": 15
                                        },
                                        "xmlConversionRule": {
                                            "name": null,
                                            "prefix": "idx",
                                            "namespace": "https://www.abc.com/schema/xap.xsd",
                                            "attribute": false,
                                            "wrapped": false
                                        }
                                    }
                                },
                                {
                                    "apiParameterId": 32124,
                                    "apiParameterRequired": true,
                                    "apiParameterName": "name",
                                    "apiParameterLocation": "body",
                                    "apiParameterType": "String",
                                    "apiParameterNotes": null,
                                    "array": false,
                                    "apiParameterRestriction": null
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ],
    "lockVersion": 1
}

Endpoint Members

Member Type Clone Create/Modify Description
akamaiSecurityRestrictions Endpoint.akamaiSecurityRestrictions, Null Encapsulates 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. At least one hostname is required 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.
apiEndPointLocked Boolean, Null Read-only. Whether the endpoint version is read-only.
apiEndPointName String The name of the endpoint.
apiEndPointScheme Enumeration, Null The URL scheme to which the endpoint may respond, either http, https, or http/https for both.
apiResources Resource Array The resources associated with the endpoint.
basePath String The URL path that serves as a root prefix for all resources’ resourcePath values for the endpoint. This is / if empty. Do not append a / character to the path.
clonedFromVersion 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 The description of the endpoint.
groupId Integer Read-only. The unique identifier for the group in the Luna portal under which you provisioned security and delivery settings for this API.
lockVersion Integer Read-only. The identifier for the last modification of an endpoint version, used for optimistic locking. See Concurrency Control for details.
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.
productionVersion Endpoint.productionVersion, Null Read-only. Encapsulates information about an endpoint version’s activation status on the production network.
protectedByApiKey Boolean Read-only. Whether you enabled API key protection for the endpoint version by making the version private.
securityScheme Endpoint.securityScheme, Null Encapsulates information about the key with which users may access 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.stagingVersion, Null Read-only. Encapsulates 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.
versionNumber Integer The endpoint version number. For the clone operation, this is the source endpoint version number.

Endpoint.akamaiSecurityRestrictions  

Encapsulates 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.

Member Type Clone Create/Modify Description
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.productionVersion  

Encapsulates information about an endpoint version’s activation status on the production network.

Member Type Clone Create/Modify Description
status Enumeration, Null 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.
versionNumber Integer The endpoint version number.

Endpoint.securityScheme  

Encapsulates information about the key with which users may access the endpoint.

Member Type Clone Create/Modify Description
securitySchemeDetail Endpoint.securityScheme.securitySchemeDetail Encapsulates information about the location of the API key.
securitySchemeType Enumeration The type of security scheme implemented for the endpoint. The only valid value is apikey.

Endpoint.securityScheme.securitySchemeDetail  

Encapsulates information about the location of the API key.

Member Type Clone Create/Modify Description
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.stagingVersion  

Encapsulates information about an endpoint version’s activation status on the staging network.

Member Type Clone Create/Modify Description
status Enumeration, Null The 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.
versionNumber Integer The endpoint version number.

VersionList

Encapsulates information about all versions of an endpoint.

Download schema: apiEndpointVersionListDto-schema.json

Sample GET:

{
    "apiEndPointId": 288194,
    "apiEndPointName": "AAG Automation",
    "apiVersions": [
        {
            "createdBy": "aaguser",
            "createDate": "2017-09-06T13:02:53+0000",
            "updateDate": "2017-09-06T13:02:53+0000",
            "updatedBy": "aaguser",
            "apiEndPointVersionId": 320167,
            "basePath": "/aag/automation",
            "description": null,
            "basedOn": null,
            "stagingStatus": null,
            "productionStatus": null,
            "stagingDate": null,
            "productionDate": null,
            "isVersionLocked": false,
            "availableActions": [
                "CLONE",
                "DELETE",
                "VIEW_AAG_SETTINGS",
                "EDIT_AAG_SETTINGS",
                "EDIT_ENDPOINT_DEFINITION",
                "ACTIVATE_ON_STAGING",
                "ACTIVATE_ON_PRODUCTION"
            ],
            "versionNumber": 1,
            "lockVersion": 0
        },
        {
            "createdBy": "aaguser",
            "createDate": "2017-09-06T13:02:54+0000",
            "updateDate": "2017-09-06T13:08:13+0000",
            "updatedBy": "aaguser",
            "apiEndPointVersionId": 320168,
            "basePath": "/aag/automation",
            "description": null,
            "basedOn": 1,
            "stagingStatus": "DEACTIVATED",
            "productionStatus": null,
            "stagingDate": "2017-09-06T13:13:04+0000",
            "productionDate": null,
            "isVersionLocked": true,
            "availableActions": [
                "CLONE",
                "VIEW_AAG_SETTINGS",
                "ACTIVATE_ON_STAGING",
                "ACTIVATE_ON_PRODUCTION"
            ],
            "versionNumber": 2,
            "lockVersion": 3
        },
        {
            "createdBy": "aaguser",
            "createDate": "2017-09-06T13:08:12+0000",
            "updateDate": "2017-09-06T13:18:25+0000",
            "updatedBy": "aaguser",
            "apiEndPointVersionId": 320169,
            "basePath": "/aag/automation",
            "description": null,
            "basedOn": 1,
            "stagingStatus": "DEACTIVATED",
            "productionStatus": null,
            "stagingDate": "2017-09-06T13:23:04+0000",
            "productionDate": null,
            "isVersionLocked": true,
            "availableActions": [
                "CLONE",
                "VIEW_AAG_SETTINGS",
                "ACTIVATE_ON_STAGING",
                "ACTIVATE_ON_PRODUCTION"
            ],
            "versionNumber": 3,
            "lockVersion": 3
        },
        {
            "createdBy": "aaguser",
            "createDate": "2017-09-06T13:08:16+0000",
            "updateDate": "2017-09-06T13:24:09+0000",
            "updatedBy": "aaguser",
            "apiEndPointVersionId": 320170,
            "basePath": "/aag/automation",
            "description": null,
            "basedOn": 1,
            "stagingStatus": "DEACTIVATED",
            "productionStatus": null,
            "stagingDate": "2017-09-06T13:30:06+0000",
            "productionDate": null,
            "isVersionLocked": true,
            "availableActions": [
                "CLONE",
                "VIEW_AAG_SETTINGS",
                "ACTIVATE_ON_STAGING",
                "ACTIVATE_ON_PRODUCTION"
            ],
            "versionNumber": 4,
            "lockVersion": 3
        },
        {
            "createdBy": "aaguser",
            "createDate": "2017-09-06T13:18:26+0000",
            "updateDate": "2017-09-06T13:18:26+0000",
            "updatedBy": "aaguser",
            "apiEndPointVersionId": 320171,
            "basePath": "/aag/automation",
            "description": null,
            "basedOn": 1,
            "stagingStatus": null,
            "productionStatus": null,
            "stagingDate": null,
            "productionDate": null,
            "isVersionLocked": false,
            "availableActions": [
                "CLONE",
                "DELETE",
                "VIEW_AAG_SETTINGS",
                "EDIT_AAG_SETTINGS",
                "EDIT_ENDPOINT_DEFINITION",
                "ACTIVATE_ON_STAGING",
                "ACTIVATE_ON_PRODUCTION"
            ],
            "versionNumber": 5,
            "lockVersion": 0
        },
        {
            "createdBy": "aaguser",
            "createDate": "2017-09-06T13:18:29+0000",
            "updateDate": "2017-09-06T13:18:29+0000",
            "updatedBy": "aaguser",
            "apiEndPointVersionId": 320172,
            "basePath": "/aag/automation",
            "description": null,
            "basedOn": 1,
            "stagingStatus": null,
            "productionStatus": null,
            "stagingDate": null,
            "productionDate": null,
            "isVersionLocked": false,
            "availableActions": [
                "CLONE",
                "DELETE",
                "VIEW_AAG_SETTINGS",
                "EDIT_AAG_SETTINGS",
                "EDIT_ENDPOINT_DEFINITION",
                "ACTIVATE_ON_STAGING",
                "ACTIVATE_ON_PRODUCTION"
            ],
            "versionNumber": 6,
            "lockVersion": 0
        },
        {
            "createdBy": "aaguser",
            "createDate": "2017-09-06T13:18:31+0000",
            "updateDate": "2017-09-06T13:18:31+0000",
            "updatedBy": "aaguser",
            "apiEndPointVersionId": 320173,
            "basePath": "/aag/automation",
            "description": null,
            "basedOn": 1,
            "stagingStatus": null,
            "productionStatus": null,
            "stagingDate": null,
            "productionDate": null,
            "isVersionLocked": false,
            "availableActions": [
                "CLONE",
                "DELETE",
                "VIEW_AAG_SETTINGS",
                "EDIT_AAG_SETTINGS",
                "EDIT_ENDPOINT_DEFINITION",
                "ACTIVATE_ON_STAGING",
                "ACTIVATE_ON_PRODUCTION"
            ],
            "versionNumber": 7,
            "lockVersion": 0
        },
        {
            "createdBy": "aaguser",
            "createDate": "2017-09-06T13:18:33+0000",
            "updateDate": "2017-09-06T13:18:33+0000",
            "updatedBy": "aaguser",
            "apiEndPointVersionId": 320174,
            "basePath": "/aag/automation",
            "description": null,
            "basedOn": 1,
            "stagingStatus": null,
            "productionStatus": null,
            "stagingDate": null,
            "productionDate": null,
            "isVersionLocked": false,
            "availableActions": [
                "CLONE",
                "DELETE",
                "VIEW_AAG_SETTINGS",
                "EDIT_AAG_SETTINGS",
                "EDIT_ENDPOINT_DEFINITION",
                "ACTIVATE_ON_STAGING",
                "ACTIVATE_ON_PRODUCTION"
            ],
            "versionNumber": 8,
            "lockVersion": 0
        },
        {
            "createdBy": "aaguser",
            "createDate": "2017-09-06T13:18:34+0000",
            "updateDate": "2017-09-06T13:18:34+0000",
            "updatedBy": "aaguser",
            "apiEndPointVersionId": 320175,
            "basePath": "/aag/automation",
            "description": null,
            "basedOn": 1,
            "stagingStatus": null,
            "productionStatus": null,
            "stagingDate": null,
            "productionDate": null,
            "isVersionLocked": false,
            "availableActions": [
                "CLONE",
                "DELETE",
                "VIEW_AAG_SETTINGS",
                "EDIT_AAG_SETTINGS",
                "EDIT_ENDPOINT_DEFINITION",
                "ACTIVATE_ON_STAGING",
                "ACTIVATE_ON_PRODUCTION"
            ],
            "versionNumber": 9,
            "lockVersion": 0
        },
        {
            "createdBy": "aaguser",
            "createDate": "2017-09-06T13:18:38+0000",
            "updateDate": "2017-09-06T13:24:06+0000",
            "updatedBy": "aaguser",
            "apiEndPointVersionId": 320176,
            "basePath": "/aag/automation",
            "description": null,
            "basedOn": 1,
            "stagingStatus": null,
            "productionStatus": "DEACTIVATED",
            "stagingDate": null,
            "productionDate": "2017-09-06T13:31:04+0000",
            "isVersionLocked": true,
            "availableActions": [
                "CLONE",
                "VIEW_AAG_SETTINGS",
                "ACTIVATE_ON_STAGING",
                "ACTIVATE_ON_PRODUCTION"
            ],
            "versionNumber": 10,
            "lockVersion": 4
        },
        {
            "createdBy": "aaguser",
            "createDate": "2017-09-06T13:24:07+0000",
            "updateDate": "2017-09-06T13:24:09+0000",
            "updatedBy": "aaguser",
            "apiEndPointVersionId": 320177,
            "basePath": "/aag/automation",
            "description": null,
            "basedOn": 1,
            "stagingStatus": "ACTIVE",
            "productionStatus": null,
            "stagingDate": "2017-09-06T13:30:06+0000",
            "productionDate": null,
            "isVersionLocked": true,
            "availableActions": [
                "CLONE",
                "VIEW_AAG_SETTINGS",
                "DEACTIVATE_ON_STAGING",
                "ACTIVATE_ON_PRODUCTION"
            ],
            "versionNumber": 11,
            "lockVersion": 2
        },
        {
            "createdBy": "aaguser",
            "createDate": "2017-09-06T13:24:12+0000",
            "updateDate": "2017-09-06T13:24:12+0000",
            "updatedBy": "aaguser",
            "apiEndPointVersionId": 320178,
            "basePath": "/aag/automation",
            "description": null,
            "basedOn": 1,
            "stagingStatus": null,
            "productionStatus": null,
            "stagingDate": null,
            "productionDate": null,
            "isVersionLocked": false,
            "availableActions": [
                "CLONE",
                "DELETE",
                "VIEW_AAG_SETTINGS",
                "EDIT_AAG_SETTINGS",
                "EDIT_ENDPOINT_DEFINITION",
                "ACTIVATE_ON_STAGING",
                "ACTIVATE_ON_PRODUCTION"
            ],
            "versionNumber": 12,
            "lockVersion": 0
        },
        {
            "createdBy": "aaguser",
            "createDate": "2017-09-06T13:24:14+0000",
            "updateDate": "2017-09-06T13:24:14+0000",
            "updatedBy": "aaguser",
            "apiEndPointVersionId": 320179,
            "basePath": "/aag/automation",
            "description": null,
            "basedOn": 1,
            "stagingStatus": null,
            "productionStatus": null,
            "stagingDate": null,
            "productionDate": null,
            "isVersionLocked": false,
            "availableActions": [
                "CLONE",
                "DELETE",
                "VIEW_AAG_SETTINGS",
                "EDIT_AAG_SETTINGS",
                "EDIT_ENDPOINT_DEFINITION",
                "ACTIVATE_ON_STAGING",
                "ACTIVATE_ON_PRODUCTION"
            ],
            "versionNumber": 13,
            "lockVersion": 0
        }
    ]
}

VersionList Members

Member Type Required Description
apiEndPointId Integer The unique identifier for the endpoint.
apiEndPointName String The name of the endpoint.
apiVersions VersionList.apiVersions[n] Encapsulates information about each endpoint version within a collection.

VersionList.apiVersions[n]  

Encapsulates information about each endpoint version within a collection.

Member Type Required Description
apiEndPointVersionId 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[n].availableActions Values.
basedOn Integer, Null For cloned versions, the unique identifier for the source version.
basePath String The URL path that serves as a root prefix for all resources’ resourcePath values. This is / if empty. Do not append a / character to the path.
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.
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[n].availableActions Values

The following 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 privacy, JWT validation, CORS, Caching, and GZIP compression 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 privacy, JWT validation, CORS, Caching, and GZIP compression settings.
EDIT_ENDPOINT_DEFINITION You can edit the version’s endpoint definition and resource settings.
RESOURCE You can add and edit resources associated with the version.
VIEW_AAG_SETTINGS You can view the version’s API privacy, JWT validation, CORS, Caching, and GZIP compression settings.

Resource

Encapsulates information about a Resource associated with an Endpoint.

Download schema: apiResourceMethParamsDto-schema.json

Sample GET:

{
    "apiResourceId": 12893,
    "apiResourceName": "cloud security",
    "resourcePath": "/resources/{resourceId}",
    "description": "resource description",
    "lockVersion": 3,
    "apiResourceClonedFromId": null,
    "apiResourceLogicId": 14180,
    "createdBy": "rsmith",
    "createDate": "2013-10-07T17:41:52+0000",
    "updatedBy": "rsmith",
    "updateDate": "2015-10-07T17:41:52+0000",
    "apiResourceMethods": [
        {
            "apiResourceMethodId": 1902,
            "apiResourceMethod": "GET",
            "apiResourceMethodLogicId": 25615,
            "apiParameters": [
                {
                    "apiParameterId": 9230,
                    "apiParameterRequired": true,
                    "apiParameterName": "endpoint-id",
                    "apiParameterLocation": "path",
                    "apiParameterType": "integer",
                    "apiParameterNotes": null,
                    "apiParamLogicId": 32649,
                    "array": false,
                    "apiParameterRestriction": {
                        "rangeRestriction": {
                            "rangeMin": 6,
                            "rangeMax": 15
                        }
                    }
                },
                {
                    "apiParameterId": 8793,
                    "apiParameterRequired": true,
                    "apiParameterName": "resourceId",
                    "apiParameterLocation": "path",
                    "apiParameterType": "string",
                    "apiParameterNotes": null,
                    "apiParamLogicId": 32650,
                    "array": false,
                    "apiParameterRestriction": null
                }
            ]
        }
    ]
}

Resource Members

Member Type Required Description
apiResourceClonedFromId 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.
apiResourceLogicId Integer, Null Read-only. The unique identifier for the resource across all endpoint versions.
apiResourceMethods Method Array The collection of HTTP methods to which the resource may respond.
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.
link String, Null Read-only. The location of the navigable resource within this API, for use by API clients. See Hypermedia for details.
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

Encapsulates information about an HTTP method to which a resource may respond.

Download schema: apiMethodParametersDto-schema.json

Method Members

Member Type Required Description
apiParameters Parameter Array The collection of parameters assigned to the method.
apiResourceMethod Enumeration The core HTTP method to which the resource may respond, either get, put, post, delete, head, patch, or options.
apiResourceMethodId Integer, Null Read-only. The unique identifier for the resource’s allowed method.
apiResourceMethodLogicId Integer, Null Read-only. The unique identifier for the resource’s method across all endpoint versions.

Parameter

Encapsulates information about a method’s parameter.

Download schema: apiParameterDto-schema.json

Parameter Members

Member Type Required Description
apiChildParameters 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.
apiParameterLocation Enumeration, Null The parameter location in the request, either header, cookie, query, or body.
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.
apiParameterNotes String, Null The description to clarify the parameter’s function.
apiParameterRequired Boolean Whether the parameter is required. If the corresponding apiParameterLocation is path, set this member to true.
apiParameterRestriction Parameter.apiParameterRestriction, Null Encapsulates 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.
apiResourceMethParamId 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.

Parameter.apiParameterRestriction  

Encapsulates information about restrictions and XML representation rules specified for the parameter.

Member Type Required Description
arrayRestriction Parameter.apiParameterRestriction.arrayRestriction, Null Encapsulates information about array restrictions for array type parameters. Define this object only if you enabled the corresponding array member.
lengthRestriction Parameter.apiParameterRestriction.lengthRestriction, Null Encapsulates information about length restrictions for string type parameters.
numberRangeRestriction Parameter.apiParameterRestriction.numberRangeRestriction, Null Encapsulates information about range restrictions for number type parameters.
rangeRestriction Parameter.apiParameterRestriction.rangeRestriction, Null Encapsulates information about range restrictions for integer type parameters.
xmlConversionRule Parameter.apiParameterRestriction.xmlConversionRule Encapsulates information about an XML representation of a JSON-encoded parameter.

Parameter.apiParameterRestriction.arrayRestriction  

Encapsulates information about array restrictions for array type parameters. Define this object only if you enabled the corresponding array member.

Member Type Required Description
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 multiple parameter instances instead of multiple 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  

Encapsulates information about length restrictions for string type parameters.

Member Type Required Description
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  

Encapsulates information about range restrictions for number type parameters.

Member Type Required Description
numberRangeMax Number, Null The maximum range restriction.
numberRangeMin Number, Null The minimum range restriction.

Parameter.apiParameterRestriction.rangeRestriction  

Encapsulates information about range restrictions for integer type parameters.

Member Type Required Description
rangeMax Integer, Null The maximum range restriction.
rangeMin Integer, Null The minimum range restriction.

Parameter.apiParameterRestriction.xmlConversionRule  

Encapsulates information about an XML representation of a JSON-encoded parameter.

Member Type Required Description
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

Encapsulates 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": "Swagger Petstore",
        "description": "A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification",
        "basePath": "/api",
        "apiEndPointScheme": "http",
        "consumeType": "json",
        "groupId": null,
        "versionNumber": null,
        "clonedFromVersion": null,
        "apiEndPointLocked": null,
        "stagingVersion": null,
        "productionVersion": null,
        "protectedByApiKey": false,
        "apiProtectVersion": null,
        "apiEndPointHosts": [
            "petstore.swagger.io"
        ],
        "apiCategoryIds": null,
        "contractId": null,
        "securityScheme": null,
        "akamaiSecurityRestrictions": null,
        "stagingStatus": null,
        "productionStatus": null,
        "apiResources": [
            {
                "createdBy": null,
                "createDate": null,
                "updateDate": null,
                "updatedBy": null,
                "apiResourceId": null,
                "apiResourceName": "/pets",
                "resourcePath": "/pets",
                "description": null,
                "link": null,
                "apiResourceClonedFromId": null,
                "apiResourceLogicId": null,
                "private": false,
                "apiResourceMethods": [
                    {
                        "apiResourceMethodId": null,
                        "apiResourceMethod": "POST",
                        "apiParameters": [],
                        "apiResourceMethodLogicId": null
                    }
                ],
                "lockVersion": -1
            }
        ],
        "lockVersion": -1
    },
    "problems": [
        {
            "type": "/api-definitions/error-types/IMPORT-INVALID-SCHEMA",
            "title": "Invalid schema",
            "detail": "object instance has properties which are not allowed by the schema: [\"unrecognizable\"]",
            "pointer": "/paths/~1pets/post",
            "level": "error",
            "domain": "validation",
            "keyword": "additionalProperties"
        }
    ]
}

ImportResult Members

Member Type Required Description
apiEndpointDetails Endpoint Encapsulates information about the imported endpoint.
problems ImportResult.problems[n] Encapsulates debugging information for error responses.

ImportResult.problems[n]  

Encapsulates debugging information for error responses.

Member Type Required Description
detail String The detailed error message.
errors ImportResult.problems[n] The collection of nested error responses.
instance String The non-referencable 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

Encapsulates information about an endpoint version activation.

Download schema: activationDto-schema.json

Sample POST request:

{
    "networks": [
        "STAGING",
        "PRODUCTION"
    ],
    "notificationRecipients": [
        "joe@example.com"
    ],
    "notes": "Activating endpoint in both networks."
}

Activation Members

Member Type Required Description
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.
notificationRecipients Array The email addresses where the system sends the activation notification.

CacheSettings

Encapsulates information about caching settings configured for an endpoint. Caching settings specify properties such as the maximum age of cached content, caching HTTP error responses, and downstream cacheability. You can set specific caching instructions for each resource within an endpoint version. You can configure caching settings if the Akamai API Gateway product is in your contract.

Download schema: cacheSettingsDto-schema.json

Sample GET:

{
    "enabled": true,
    "option": "CACHE",
    "maxAge": {
        "duration": 123,
        "unit": "SECONDS"
    },
    "serveStale": false,
    "downstreamCaching": {
        "option": "NOT_ALLOW_CACHING",
        "lifetime": "SMALLER_VALUE",
        "maxAge": null,
        "headers": "CACHE_CONTROL_AND_EXPIRES",
        "markAsPrivate": false
    },
    "errorCaching": {
        "enabled": false,
        "maxAge": null,
        "preserveStale": false
    },
    "resources": {
        "12083": {
            "path": "/1",
            "methods": [
                "HEAD",
                "DELETE",
                "POST",
                "GET",
                "PUT"
            ],
            "option": "CACHE",
            "maxAge": {
                "duration": 123,
                "unit": "SECONDS"
            },
            "serveStale": false,
            "inheritsFromEndpoint": true
        },
        "12084": {
            "path": "/2",
            "methods": [
                "HEAD",
                "DELETE",
                "POST",
                "GET",
                "OPTIONS",
                "PUT",
                "PATCH"
            ],
            "option": "BYPASS_CACHE",
            "maxAge": null,
            "serveStale": false,
            "inheritsFromEndpoint": false
        }
    }
}

CacheSettings Members

Member Type Required Description
downstreamCaching CacheSettings.downstreamCaching Encapsulates 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 CacheSettings.errorCaching Encapsulates information about error caching settings.
maxAge CacheSettings.resources.maxAge Encapsulates 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 CacheSettings.resources Encapsulates 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 is not possible.

CacheSettings.downstreamCaching  

Encapsulates 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.

Member Type Required Description
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 CacheSettings.resources.maxAge Encapsulates 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.downstreamCaching.maxAge  

Encapsulates information about the maximum duration to keep content in a cache.

Member Type Required Description
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.

CacheSettings.errorCaching  

Encapsulates information about error caching settings.

Member Type Required Description
enabled Boolean Whether you enabled error caching.
maxAge CacheSettings.resources.maxAge Encapsulates information about the maximum duration to keep content in a cache.
preserveStale Boolean, Null Whether to preserve stale responses when the origin is unreachable and content revalidation is not possible.

CacheSettings.errorCaching.maxAge  

Encapsulates information about the maximum duration to keep content in a cache.

Member Type Required Description
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.

CacheSettings.maxAge  

Encapsulates information about the maximum duration to keep content in a cache.

Member Type Required Description
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.

CacheSettings.resources  

Encapsulates information about caching settings for each resource associated with an endpoint version. The resources are available through a map of resourceId keys.

Member Type Required Description
inheritsFromEndpoint Boolean Read-only. Whether the resource inherits the top-level API caching settings.
maxAge CacheSettings.resources.maxAge Encapsulates information about the maximum duration to keep content in a cache.
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.

CacheSettings.resources.maxAge  

Encapsulates information about the maximum duration to keep content in a cache.

Member Type Required Description
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.

CacheSettings.resources.{apiResourceId}  

Encapsulates information about caching settings configured for a resource within your API.

Member Type Required Description
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.

ApiPrivacySettings

Encapsulates information about API privacy settings configured for an endpoint and its associated resources. You can configure API privacy settings if the Akamai API Gateway product is in your contract.

Download schema: apiPrivacySettingsDto-schema.json

Sample GET:

{
    "resources": {
        "6362": {
            "path": "/add",
            "methods": [
                "HEAD",
                "DELETE",
                "POST",
                "GET",
                "OPTIONS",
                "PUT",
                "PATCH"
            ],
            "notes": "Public resource with all methods",
            "public": true,
            "inheritsFromEndpoint": true
        }
    },
    "public": true
}

ApiPrivacySettings Members

Member Type Required Description
public Boolean Whether the endpoint is public, that is, accessible without an API key.
resources ApiPrivacySettings.resources Encapsulates information about each resource’s privacy settings.

ApiPrivacySettings.resources.{apiResourceId}  

Encapsulates information about a resource’s privacy settings.

Member Type Required Description
inheritsFromEndpoint Boolean Read-only. Whether the resource inherits the top-level API privacy settings.
methods Array Read-only. 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.

GzipSettings

Encapsulates 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 Akamai API Gateway product is in your contract.

Download schema: gzipDto-schema.json

Sample GET:

{
    "compressResponse": "ALWAYS"
}

GzipSettings Members

Member Type Required Description
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 via the Content-Encoding header.

CorsSettings

Encapsulates 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 Akamai API Gateway product is in your contract.

Download schema: corsDto-schema.json

Sample GET:

{
    "enabled": true,
    "allowedOrigins": [
        "*"
    ],
    "allowedHeaders": [
        "Akamai-Cors-Allowed"
    ],
    "allowedMethods": [
        "GET"
    ],
    "allowCredentials": false,
    "exposedHeaders": [
        "Akamai-Cors-Exposed"
    ],
    "preflightMaxAge": 86400
}

CorsSettings Members

Member Type Required Description
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 via the Access-Control-Allow-Headers header.
allowedMethods Array The HTTP methods that you allow via the Access-Control-Allow-Methods header, either GET, PUT, POST, DELETE, OPTIONS, PATCH, or HEAD.
allowedOrigins Array The origin hostnames that you allow via 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 via 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.

JwtSettings

Encapsulates 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 is often used for authentication purposes. You can configure JWT validation settings if the Akamai API Gateway product is in your contract.

Download schema: jwtDto-schema.json

Sample GET:

{
    "enabled": true,
    "settings": {
        "location": "COOKIE",
        "paramName": "cookieWT",
        "clockSkew": 0,
        "validation": {
            "claims": [
                {
                    "name": "aud",
                    "validate": true,
                    "required": false,
                    "value": [
                        "ala"
                    ],
                    "type": "ARRAY"
                },
                {
                    "name": "iss",
                    "validate": true,
                    "required": true,
                    "value": "kot",
                    "type": "STRING"
                },
                {
                    "name": "sub",
                    "validate": true,
                    "required": false,
                    "value": "kozak",
                    "type": "STRING"
                },
                {
                    "name": "exp",
                    "validate": false,
                    "required": false,
                    "value": null,
                    "type": "TIMESTAMP"
                },
                {
                    "name": "nbf",
                    "validate": false,
                    "required": false,
                    "value": null,
                    "type": "TIMESTAMP"
                }
            ],
            "rsaPublicKeyA": {
                "name": "id_rsa-2.pub",
                "content": "-----BEGIN PUBLIC KEY-----\nMIIBIjwE9GQg+OR0WYHtq4AKsvK2eucDs06ejWRDb+uDN\n80jxZCxfweelZKvYT9Qdms/1SJv\nrQIDAQAB\n-----END PUBLIC KEY-----\n"
            },
            "rsaPublicKeyB": null
        }
    },
    "resources": {
        "11904": {
            "enabled": true,
            "path": "/endpoint1",
            "methods": [
                "HEAD",
                "DELETE",
                "POST",
                "GET",
                "OPTIONS",
                "PUT",
                "PATCH"
            ],
            "notes": null,
            "inheritsFromEndpoint": true
        },
        "11903": {
            "enabled": false,
            "path": "/endpoint2",
            "methods": [
                "HEAD",
                "DELETE",
                "POST",
                "GET",
                "OPTIONS",
                "PUT",
                "PATCH"
            ],
            "notes": null,
            "inheritsFromEndpoint": false
        }
    }
}

JwtSettings Members

Member Type Required Description
enabled Boolean Whether you enabled JWT validation for the endpoint.
resources JwtSettings.resources Encapsulates information about JWT validation settings for each resource associated with an endpoint version. The resources are available through a map of resourceId keys.
settings JwtSettings.settings Encapsulates information about endpoint-level JWT settings.

JwtSettings.resources.{apiResourceId}  

Encapsulates information about JWT settings configured for a resource.

Member Type Required Description
enabled Boolean Whether you enabled JWT validation for the resource.
inheritsFromEndpoint 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  

Encapsulates information about endpoint-level JWT settings.

Member Type Required Description
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 JwtSettings.settings.validation, Null Encapsulates information about the JWT validation details, such as RSA public keys and JWT claims.

JwtSettings.settings.validation  

Encapsulates information about the JWT validation details, such as RSA public keys and JWT claims.

Member Type Required Description
claims JwtSettings.settings.validation.claims[n] Encapsulates information about a reserved JWT claim.
rsaPublicKeyA JwtSettings.settings.validation.rsaPublicKeyA Encapsulates information about the primary RSA public key that you use for JWT validation.
rsaPublicKeyB JwtSettings.settings.validation.rsaPublicKeyB, Null Encapsulates information about the backup RSA public key for use during key rotations.

JwtSettings.settings.validation.claims[n]  

Encapsulates information about a reserved JWT claim.

Member Type Required Description
name Enumeration The name of the reserved claim, either 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 is not accepted for processing, or nbf to identify the time before which the token is not accepted for processing. This value is not case-sensitive. For example, if you enter AUD for a value, the system automatically converts it to aud.
required Boolean Whether the presence of the JWT claim is required in incoming requests.
type Enumeration The data type of the JWT claim’s value, either ARRAY or STRING.
validate Boolean Whether to validate the value of the JWT claim at the edge.
value Array, String, Null The value of the JWT claim, represented as a string if it’s a single value, or as an array if there is more than one value. The array type only applies to the aud claim value.

JwtSettings.settings.validation.rsaPublicKeyA  

Encapsulates information about the primary RSA public key that you use for JWT validation.

Member Type Required Description
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  

Encapsulates information about the backup RSA public key for use during key rotations.

Member Type Required Description
content String The content of the file containing the backup RSA key.
name String The name of the file containing the backup RSA key.

Category

Encapsulates information about an endpoint category.

Download schema: categoryDto-schema.json

Sample GET response:

{
    "apiCategoryId": 13,
    "apiCategoryName": "Media Delivery",
    "apiCategoryDescription": "web media delivery apis",
    "link": "/api-definitions/v2/categories/13",
    "lockVersion": 139793907,
    "createdBy": "rdslj@akamai.com",
    "createDate": "2013-10-07T17:41:52+0000",
    "updatedBy": "rajdj@akamai.com",
    "updateDate": "2013-10-07T17:41:52+0000"
}

Category Members

Member Type Required Description
apiCategoryDescription String The description of the category that you may use to tag related endpoints.
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. See Hypermedia for details.
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

Encapsulates 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": "xxxx-3-1Cgoa - 3-1Cgoa",
        "acgId": "3-1Cgoa",
        "groupId": 58220,
        "contractId": "3-1Cgoa"
    },
    {
        "displayName": "Dev Team - 3-1Cgoa",
        "acgId": "3-1Cgoa.G75683",
        "groupId": 75683,
        "contractId": "3-1Cgoa"
    }
]

AcgPair Members

Member Type Required Description
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.

Last modified: 5/10/2018