{
  "id": "@itentialopensource/adapter-akamai_property_manager",
  "type": "Adapter",
  "export": "AkamaiPropertyManager",
  "title": "Akamai_property_manager",
  "src": "adapter.js",
  "roles": [
    "admin"
  ],
  "methods": [
    {
      "name": "iapUpdateAdapterConfiguration",
      "summary": "Updates the adapter configuration",
      "description": "Updates the adapter configuration file with the provided changes",
      "input": [
        {
          "name": "configFile",
          "type": "string",
          "info": "The name of the file to change",
          "required": true,
          "schema": {
            "title": "configFile",
            "type": "string"
          }
        },
        {
          "name": "changes",
          "type": "object",
          "info": "JSON object containing the configuration changes",
          "required": true,
          "schema": {
            "title": "changes",
            "type": "object"
          }
        },
        {
          "name": "entity",
          "type": "string",
          "info": "The entity in which the changes are being made",
          "required": false,
          "schema": {
            "title": "entity",
            "type": "string"
          }
        },
        {
          "name": "type",
          "type": "string",
          "info": "The type of file to change - action, schema, or mock",
          "required": false,
          "schema": {
            "title": "type",
            "type": "string"
          }
        },
        {
          "name": "action",
          "type": "string",
          "info": "The action to be changed",
          "required": false,
          "schema": {
            "title": "action",
            "type": "string"
          }
        },
        {
          "name" : "replace",
          "type": "boolean",
          "info": "True to replace entire mock data, false to merge/append",
          "required": false,
          "schema": {
            "title": "replace",
            "type" : "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapUpdateAdapterConfiguration"
      },
      "task": true
    },
    {
      "name": "iapSuspendAdapter",
      "summary": "Suspends the adapter",
      "description": "Suspends the adapter",
      "input": [
        {
          "name": "mode",
          "type": "enum",
          "enumerals": [
            "pause",
            "error"
          ],
          "info": "How incoming requests are handled. Defaults to 'pause'",
          "description": "How incoming requests are handled. Defaults to 'pause'",
          "schema": {
            "title": "mode",
            "type": "string"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter suspended status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapSuspendAdapter"
      },
      "task": true
    },
    {
      "name": "iapUnsuspendAdapter",
      "summary": "Unsuspends the adapter",
      "description": "Unsuspends the adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter suspended status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapUnsuspendAdapter"
      },
      "task": true
    },
    {
      "name": "iapGetAdapterQueue",
      "summary": "Return the requests that are waiting in the queue if throttling is enabled",
      "description": "Return the requests that are waiting in the queue if throttling is enabled",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter queue",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapGetAdapterQueue"
      },
      "task": true
    },
    {
      "name": "iapFindAdapterPath",
      "summary": "Provides the ability to see if a particular API path is supported by the adapter",
      "description": "Provides the ability to see if a particular API path is supported by the adapter",
      "input": [
        {
          "name": "apiPath",
          "type": "string",
          "info": "The API Path you want to check - make sure to not include base path and version",
          "description": "The API Path you want to check - make sure to not include base path and version",
          "schema": {
            "title": "apiPath",
            "type": "string"
          },
          "required": true
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapFindAdapterPath"
      },
      "task": true
    },
    {
      "name": "iapTroubleshootAdapter",
      "summary": "Runs troubleshoot script for adapter",
      "description": "Runs troubleshoot script for adapter",
      "input": [
        {
          "name": "props",
          "type": "object",
          "info": "Object containing configuration, healthcheck and auth properties {'connProps':{'host': 'api.service.com', 'base_path': '/', 'protocol': 'http', 'port': 443, 'version': 'v1'},'healthCheckEndpoint': '/healthcheck', 'auth': {'auth_method': 'no authentication', 'username': 'username', 'password': 'password'}}",
          "required": true,
          "schema": {
            "title": "props",
            "type": "object"
          }
        },
        {
          "name": "persistFlag",
          "type": "boolean",
          "info": "Whether the input properties should be saved",
          "required": true,
          "schema": {
            "title": "persistFlag",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapTroubleshootAdapter"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterHealthcheck",
      "summary": "Runs healthcheck script for adapter",
      "description": "Runs healthcheck script for adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "boolean",
        "description": "Whether healthcheck passed or failed",
        "schema": {
          "title": "result",
          "type": "boolean"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterHealthcheck"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterConnectivity",
      "summary": "Runs connectivity check script for adapter",
      "description": "Runs connectivity check script for adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterConnectivity"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterBasicGet",
      "summary": "Runs basicGet script for adapter",
      "description": "Runs basicGet script for adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterBasicGet"
      },
      "task": true
    },
    {
      "name": "iapMoveAdapterEntitiesToDB",
      "summary": "Moves entities from an adapter into the IAP database",
      "description": "Moves entities from an adapter into the IAP database",
      "input": [],
      "output": {
        "name": "res",
        "type": "object",
        "description": "A JSON Object containing status, code and the response from the mongo transaction",
        "schema": {
          "title": "res",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapMoveAdapterEntitiesToDB"
      },
      "task": true
    },
    {
      "name": "iapDeactivateTasks",
      "summary": "Deactivate the inputted tasks",
      "description": "Deactivate the inputted tasks",
      "input": [
        {
          "name": "tasks",
          "type": "array",
          "description": "Tasks to deactivate",
          "schema": {
            "title": "tasks",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing success status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapDeactivateTasks"
      },
      "task": true
    },
    {
      "name": "iapActivateTasks",
      "summary": "Activate the inputted tasks",
      "description": "activate the inputted tasks",
      "input": [
        {
          "name": "tasks",
          "type": "array",
          "description": "Tasks to activate",
          "schema": {
            "title": "tasks",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing success status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapActivateTasks"
      },
      "task": true
    },
    {
      "name": "iapPopulateEntityCache",
      "summary": "Populate the cache for the given entities",
      "description": "Populate the cache for the given entities",
      "input": [
        {
          "name": "entityTypes",
          "type": "array",
          "info": "the entity type(s) to populate",
          "required": true,
          "schema": {
            "title": "entityTypes",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapPopulateEntityCache"
      },
      "task": true
    },
    {
      "name": "iapRetrieveEntitiesCache",
      "summary": "Retrieves data from cache for specified entity type",
      "description": "Retrieves data from cache for specified entity type",
      "input": [
        {
          "name": "entityType",
          "type": "string",
          "info": "entity of which to retrieve",
          "required": true,
          "schema": {
            "title": "entityType",
            "type": "string"
          }
        },
        {
          "name": "options",
          "type": "object",
          "info": "settings of which data to return and how to return it",
          "required": false,
          "schema": {
            "title": "options",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRetrieveEntitiesCache"
      },
      "task": true
    },
    {
      "name": "getDevice",
      "summary": "Get the Appliance",
      "description": "Get the Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDevice"
      },
      "task": false
    },
    {
      "name": "getDevicesFiltered",
      "summary": "Get Appliances that match the filter",
      "description": "Get Appliances that match the filter",
      "input": [
        {
          "name": "options",
          "type": "object",
          "info": "options - e.g. { 'start': 1, 'limit': 20, 'filter': { 'name': 'abc123' } }",
          "required": true,
          "schema": {
            "title": "options",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "array",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "array"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDevicesFiltered"
      },
      "task": false
    },
    {
      "name": "isAlive",
      "summary": "Checks the status for the provided Appliance",
      "description": "Checks the status for the provided Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "boolean",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "boolean"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/isAlive"
      },
      "task": false
    },
    {
      "name": "getConfig",
      "summary": "Gets a config for the provided Appliance",
      "description": "Gets a config for the provided Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The format to be returned - this is ignored as we always return json",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getConfig"
      },
      "task": false
    },
    {
      "name": "iapGetDeviceCount",
      "summary": "Gets a device count from the system",
      "description": "Gets a device count from the system",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapGetDeviceCount"
      },
      "task": false
    },
    {
      "name": "iapExpandedGenericAdapterRequest",
      "summary": "Makes the requested generic call with additional options",
      "description": "Makes the requested generic call with additional options via metadata",
      "input": [
        {
          "name": "metadata",
          "type": "object",
          "info": "metadata for the call (optional)",
          "description": "metadata for the call - allows for many enhancements (optional)",
          "schema": {
            "title": "metadata",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": false
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": false
        },
        {
          "name": "pathVars",
          "type": "object",
          "info": "the parameters to be put within the url path (optional)",
          "description": "the parameters to be put within the url path (optional)",
          "schema": {
            "title": "pathVars",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapExpandedGenericAdapterRequest"
      },
      "task": true
    },
    {
      "name": "genericAdapterRequest",
      "summary": "Makes the requested generic call",
      "description": "Makes the requested generic call",
      "input": [
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/genericAdapterRequest"
      },
      "task": true
    },
    {
      "name": "genericAdapterRequestNoBasePath",
      "summary": "Makes the requested generic call",
      "description": "Makes the requested generic call",
      "input": [
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/genericAdapterRequestNoBasePath"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterLint",
      "summary": "Run the adapter lint script to return the results",
      "description": "Run the adapter lint script to return the results",
      "input": [],
      "output": {
        "name": "result",
        "type": "string",
        "description": "A string containing the run results",
        "schema": {
          "title": "result",
          "type": "string"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapRunAdapterLint"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterTests",
      "summary": "Run the adapter test scripts (baseunit and unit) to return the results",
      "description": "Run the adapter test scripts (baseunit and unit) to return the results",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapRunAdapterTests"
      },
      "task": true
    },
    {
      "name": "iapGetAdapterInventory",
      "summary": "Provide inventory information abbout the adapter",
      "description": "Provide inventory information abbout the adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapGetAdapterInventory"
      },
      "task": true
    },
    {
      "name": "bulkactivateasetofproperties",
      "summary": "Bulk activate a set of properties",
      "description": "XXX Bulk activate a set of property versions.\n(Alternately, perform a bulk [fallback](doc:fast-validation) to the previous\nactivation within an hour of the previous bulk activation.)\nBase the set of versions to activate on the results of a\n[bulk patch](https://dash.readme.com/project/papi-akamai/v1/refs/get_bulk-rules-patch-requests-bulkpatchid)\noperation, which you use to create a\n[BulkActivation](#bulkactivation) POST object.\nThis operation launches an asynchronous process to update\nproperties...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified contract. For bulk operations, you can\nspecify `contractId` and `groupId` independently fro...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified group. For bulk operations, you can\nspecify `contractId` and `groupId` independently from e...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"activatePropertyVersions\": [{\"network\": \"string\", \"note\": \"string\", \"propertyId\": \"string\", \"propertyVersion\": 123, \"notifyEmails\": \"array\", \"acknowledgeAllWarnings\": \"boolean\", \"acknowledgeWarnings\": \"array\"}], \"defaultActivationSettings\": {\"acknowledgeAllWarnings\": \"boolean\", \"fastPush\": \"boolean\", \"notifyEmails\": \"array\", \"useFastFallback\": \"boolean\"}}",
          "required": true,
          "schema": {
            "title": "BulkactivateasetofpropertiesRequest",
            "required": [
              "activatePropertyVersions",
              "defaultActivationSettings"
            ],
            "type": "object",
            "properties": {
              "activatePropertyVersions": {
                "type": "array",
                "items": {
                  "title": "ActivatePropertyVersion",
                  "required": [
                    "network",
                    "note",
                    "propertyId",
                    "propertyVersion"
                  ],
                  "type": "object",
                  "properties": {
                    "network": {
                      "type": "string"
                    },
                    "note": {
                      "type": "string"
                    },
                    "propertyId": {
                      "type": "string"
                    },
                    "propertyVersion": {
                      "type": "integer"
                    },
                    "notifyEmails": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": ""
                    },
                    "acknowledgeAllWarnings": {
                      "type": "boolean"
                    },
                    "acknowledgeWarnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": ""
                    }
                  },
                  "example": {
                    "network": "STAGING",
                    "note": "Some activation note",
                    "propertyId": "prp_1",
                    "propertyVersion": 2
                  }
                },
                "description": ""
              },
              "defaultActivationSettings": {
                "title": "DefaultActivationSettings",
                "required": [
                  "acknowledgeAllWarnings",
                  "fastPush",
                  "notifyEmails",
                  "useFastFallback"
                ],
                "type": "object",
                "properties": {
                  "acknowledgeAllWarnings": {
                    "type": "boolean"
                  },
                  "fastPush": {
                    "type": "boolean"
                  },
                  "notifyEmails": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": ""
                  },
                  "useFastFallback": {
                    "type": "boolean"
                  }
                },
                "example": {
                  "acknowledgeAllWarnings": true,
                  "fastPush": true,
                  "notifyEmails": [
                    "you@example.com",
                    "them@example.com"
                  ],
                  "useFastFallback": false
                }
              }
            },
            "example": {
              "activatePropertyVersions": [
                {
                  "network": "STAGING",
                  "note": "Some activation note",
                  "propertyId": "prp_1",
                  "propertyVersion": 2
                },
                {
                  "network": "STAGING",
                  "note": "Sample activation",
                  "notifyEmails": [
                    "someoneElse@somewhere.com"
                  ],
                  "propertyId": "prp_15",
                  "propertyVersion": 3
                },
                {
                  "acknowledgeAllWarnings": false,
                  "acknowledgeWarnings": [
                    "msg_123",
                    "msg_234"
                  ],
                  "network": "PRODUCTION",
                  "note": "created by xyz",
                  "propertyId": "prp_3",
                  "propertyVersion": 11
                }
              ],
              "defaultActivationSettings": {
                "acknowledgeAllWarnings": true,
                "fastPush": true,
                "notifyEmails": [
                  "you@example.com",
                  "them@example.com"
                ],
                "useFastFallback": false
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/bulkactivateasetofproperties"
      },
      "task": true
    },
    {
      "name": "listbulkActivatedproperties",
      "summary": "List bulk-activated properties",
      "description": "List all activations that result from a [bulk activation request](https://papi-akamai.readme.io/reference/bulkactivations#post_bulk-activations), and poll the asynchronous process's status. Once the overall `bulkActivationStatus` is `COMPLETE`, check each activation's `activationStatus` to confirm it's `ACTIVATED`. The response is a [BulkActivation](#bulkactivation) GET object. See [Bulk Search and Update](doc:learn-about-bulk) for overall guidance on this feature.",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified contract. For bulk operations, you can\nspecify `contractId` and `groupId` independently fro...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified group. For bulk operations, you can\nspecify `contractId` and `groupId` independently from e...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "bulkActivationId",
          "type": "string",
          "info": "(Required) Identifies each bulk activation job.: string",
          "required": true,
          "schema": {
            "title": "bulkActivationId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/listbulkActivatedproperties"
      },
      "task": true
    },
    {
      "name": "listactivations",
      "summary": "List activations",
      "description": "This lists all activations for all versions of a property, on both production and staging networks.",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Unique identifier for the contract.\nThe parameter is optional if the property has been\nprovisioned under only one contract.\nOtherwise you need to specify it along with th...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Unique identifier for the group.\nThe parameter is optional if the property has been\nprovisioned under only one group.\nOtherwise you need to specify it along with the `con...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/listactivations"
      },
      "task": true
    },
    {
      "name": "createanewactivationordeactivation",
      "summary": "Create a new activation or deactivation",
      "description": "This operation creates a new property activation, which\ndeactivates any current activation. After a necessary delay,\nthis activates your property version's rule tree and set of\nhostnames across Akamai's network of edge servers, modifying how\nyour edge content responds to end-user requests.\nIf there's a problem with the property you activated, you may\nhave the option to fall back to the previous version. Within an\nhour of activating, POSTing another activation with\n`\\\"useFastFallback\\\":true` in t...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Unique identifier for the contract.\nThe parameter is optional if the property has been\nprovisioned under only one contract.\nOtherwise you need to specify it along with th...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Unique identifier for the group.\nThe parameter is optional if the property has been\nprovisioned under only one group.\nOtherwise you need to specify it along with the `con...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"acknowledgeWarnings\": \"array\", \"network\": \"string\", \"note\": \"string\", \"notifyEmails\": \"array\", \"propertyVersion\": 123, \"useFastFallback\": \"boolean\"}",
          "required": true,
          "schema": {
            "title": "CreateanewactivationordeactivationRequest",
            "required": [
              "acknowledgeWarnings",
              "network",
              "note",
              "notifyEmails",
              "propertyVersion",
              "useFastFallback"
            ],
            "type": "object",
            "properties": {
              "acknowledgeWarnings": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": ""
              },
              "network": {
                "type": "string"
              },
              "note": {
                "type": "string"
              },
              "notifyEmails": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": ""
              },
              "propertyVersion": {
                "type": "integer"
              },
              "useFastFallback": {
                "type": "boolean"
              }
            },
            "example": {
              "acknowledgeWarnings": [
                "msg_baa4560881774a45b5fd25f5b1eab021d7c40b4f"
              ],
              "network": "STAGING",
              "note": "Sample activation",
              "notifyEmails": [
                "you@example.com",
                "them@example.com"
              ],
              "propertyVersion": 1,
              "useFastFallback": false
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createanewactivationordeactivation"
      },
      "task": true
    },
    {
      "name": "bulkversionasetofproperties",
      "summary": "Bulk version a set of properties",
      "description": "POST a [BulkVersion](#bulkversion) object to create new\nversions of a set of properties based on any previous version.\nThis operation launches an asynchronous process to increment\nversions. To check its progress,\nrun the [List bulk-versioned properties](https://papi-akamai.readme.io/reference/bulkproperty-version-creationsbulkcreateid#get_bulk-property-version-creations-bulkcreateid)\noperation, whose link is available in the `Location` header or\n`bulkCreateVersionLink` member of this operation's...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified contract. For bulk operations, you can\nspecify `contractId` and `groupId` independently fro...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified group. For bulk operations, you can\nspecify `contractId` and `groupId` independently from e...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"createPropertyVersions\": [{\"createFromVersion\": 123, \"createFromVersionEtag\": \"string\", \"propertyId\": \"string\"}]}",
          "required": true,
          "schema": {
            "title": "BulkversionasetofpropertiesRequest",
            "required": [
              "createPropertyVersions"
            ],
            "type": "object",
            "properties": {
              "createPropertyVersions": {
                "type": "array",
                "items": {
                  "title": "CreatePropertyVersion",
                  "required": [
                    "createFromVersion",
                    "createFromVersionEtag",
                    "propertyId"
                  ],
                  "type": "object",
                  "properties": {
                    "createFromVersion": {
                      "type": "integer"
                    },
                    "createFromVersionEtag": {
                      "type": "string"
                    },
                    "propertyId": {
                      "type": "string"
                    }
                  },
                  "example": {
                    "createFromVersion": 1,
                    "createFromVersionEtag": "2641910c585cf67b",
                    "propertyId": "prp_1"
                  }
                },
                "description": ""
              }
            },
            "example": {
              "createPropertyVersions": [
                {
                  "createFromVersion": 1,
                  "createFromVersionEtag": "2641910c585cf67b",
                  "propertyId": "prp_1"
                },
                {
                  "createFromVersion": 2,
                  "createFromVersionEtag": "343410c585cf67fc",
                  "propertyId": "prp_15"
                },
                {
                  "createFromVersion": 10,
                  "createFromVersionEtag": "6c7v5c65c6cvcv65",
                  "propertyId": "prp_3"
                }
              ]
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/bulkversionasetofproperties"
      },
      "task": true
    },
    {
      "name": "listbulkVersionedproperties",
      "summary": "List bulk-versioned properties",
      "description": "List all new property versions that result from a [bulk versioning request](https://papi-akamai.readme.io/reference/bulkproperty-version-creations#post_bulk-property-version-creations), and poll the asynchronous process's status. The response is a [BulkVersion](#bulkversion) GET object. After the `bulkCreateVersionsStatus` is `COMPLETE`, use the new version numbers along with search paths from a [bulk search](https://papi-akamai.readme.io/reference/bulkrules-search-requests#post_bulk-rules-searc...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified contract. For bulk operations, you can\nspecify `contractId` and `groupId` independently fro...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified group. For bulk operations, you can\nspecify `contractId` and `groupId` independently from e...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "bulkCreateId",
          "type": "string",
          "info": "(Required) Identifies each bulk-versioning job.: string",
          "required": true,
          "schema": {
            "title": "bulkCreateId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/listbulkVersionedproperties"
      },
      "task": true
    },
    {
      "name": "bulkpatchasetofproperties",
      "summary": "Bulk patch a set of properties",
      "description": "Apply a series of JSON Patch\noperations to modify a set of property versions. Form this set\nof `patches` based on the\n[JSONPath](http://goessner.net/articles/JsonPath/) locations\nfrom a [bulk search](https://papi-akamai.readme.io/reference/bulkrules-search-requests#post_bulk-rules-search-requests) response. Specify a set\nof new property versions based on the results of a\n[bulk versioning](https://papi-akamai.readme.io/reference/bulkproperty-version-creations#post_bulk-property-version-creations)...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified contract. For bulk operations, you can\nspecify `contractId` and `groupId` independently fro...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified group. For bulk operations, you can\nspecify `contractId` and `groupId` independently from e...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"patchPropertyVersions\": [{\"etag\": \"string\", \"patches\": [{\"op\": \"string\", \"path\": \"string\", \"value\": \"string\"}], \"propertyId\": \"string\", \"propertyVersion\": 123}]}",
          "required": true,
          "schema": {
            "title": "BulkpatchasetofpropertiesRequest",
            "required": [
              "patchPropertyVersions"
            ],
            "type": "object",
            "properties": {
              "patchPropertyVersions": {
                "type": "array",
                "items": {
                  "title": "PatchPropertyVersion",
                  "required": [
                    "etag",
                    "patches",
                    "propertyId",
                    "propertyVersion"
                  ],
                  "type": "object",
                  "properties": {
                    "etag": {
                      "type": "string"
                    },
                    "patches": {
                      "type": "array",
                      "items": {
                        "title": "Patch",
                        "required": [
                          "op",
                          "path",
                          "value"
                        ],
                        "type": "object",
                        "properties": {
                          "op": {
                            "type": "string"
                          },
                          "path": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "example": {
                          "op": "replace",
                          "path": "/rules/children/1/features/3/option/enabled",
                          "value": "on"
                        }
                      },
                      "description": ""
                    },
                    "propertyId": {
                      "type": "string"
                    },
                    "propertyVersion": {
                      "type": "integer"
                    }
                  },
                  "example": {
                    "etag": "a87v5c65c6821bc",
                    "patches": [
                      {
                        "op": "replace",
                        "path": "/rules/children/1/features/3/option/enabled",
                        "value": "on"
                      },
                      {
                        "op": "replace",
                        "path": "/rules/children/1/features/0/option/enabled",
                        "value": "on"
                      }
                    ],
                    "propertyId": "prp_1",
                    "propertyVersion": 1
                  }
                },
                "description": ""
              }
            },
            "example": {
              "patchPropertyVersions": [
                {
                  "etag": "a87v5c65c6821bc",
                  "patches": [
                    {
                      "op": "replace",
                      "path": "/rules/children/1/features/3/option/enabled",
                      "value": "on"
                    },
                    {
                      "op": "replace",
                      "path": "/rules/children/1/features/0/option/enabled",
                      "value": "on"
                    }
                  ],
                  "propertyId": "prp_1",
                  "propertyVersion": 1
                },
                {
                  "etag": "6c7v5c65c6cvcv65",
                  "patches": [
                    {
                      "op": "replace",
                      "path": "/rules/children/1/children/0/features/1/enabled",
                      "value": "on"
                    }
                  ],
                  "propertyId": "prp_15",
                  "propertyVersion": 2
                },
                {
                  "etag": "1f8903bcde2f3",
                  "patches": [
                    {
                      "op": "replace",
                      "path": "/rules/children/0/children/1/children/2/features/1/enabled",
                      "value": "on"
                    }
                  ],
                  "propertyId": "prp_3",
                  "propertyVersion": 10
                }
              ]
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/bulkpatchasetofproperties"
      },
      "task": true
    },
    {
      "name": "listbulkPatchedproperties",
      "summary": "List bulk-patched properties",
      "description": "List all modified property versions that result from a [bulk patch](https://papi-akamai.readme.io/reference/bulkrules-patch-requests#post_bulk-rules-patch-requests) request, and poll the asynchronous process's status. The response is a [BulkPatch](#bulkpatch) object. Once the overall `bulkPatchStatus` is `COMPLETE`, you can feed all successfully updated property versions whose `status` is `UPDATED` into a subsequent request to [bulk activate](https://papi-akamai.readme.io/reference/bulkactivatio...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified contract. For bulk operations, you can\nspecify `contractId` and `groupId` independently fro...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified group. For bulk operations, you can\nspecify `contractId` and `groupId` independently from e...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "bulkPatchId",
          "type": "string",
          "info": "(Required) Identifies each bulk patch job.: string",
          "required": true,
          "schema": {
            "title": "bulkPatchId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/listbulkPatchedproperties"
      },
      "task": true
    },
    {
      "name": "bulksearchasetofproperties",
      "summary": "Bulk search a set of properties",
      "description": "POST a\n[BulkSearch](#bulksearch) object to search across all active\nproperty versions, specifying a\n[JSONPath](http://goessner.net/articles/JsonPath/) expression to\nmatch their rule trees. This operation launches an asynchronous\nprocess to gather search results. To check its progress, run the\n[List bulk search results](https://papi-akamai.readme.io/reference/bulkrules-search-requestsbulksearchid#get_bulk-rules-search-requests-bulksearchid) operation, whose link\nis available in the `Location` hea...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified contract. For bulk operations, you can\nspecify `contractId` and `groupId` independently fro...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified group. For bulk operations, you can\nspecify `contractId` and `groupId` independently from e...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"bulkSearchQuery\": {\"bulkSearchQualifiers\": \"array\", \"match\": \"string\", \"syntax\": \"string\"}}",
          "required": true,
          "schema": {
            "title": "BulksearchasetofpropertiesRequest",
            "required": [
              "bulkSearchQuery"
            ],
            "type": "object",
            "properties": {
              "bulkSearchQuery": {
                "title": "BulkSearchQuery",
                "required": [
                  "bulkSearchQualifiers",
                  "match",
                  "syntax"
                ],
                "type": "object",
                "properties": {
                  "bulkSearchQualifiers": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": ""
                  },
                  "match": {
                    "type": "string"
                  },
                  "syntax": {
                    "type": "string"
                  }
                },
                "example": {
                  "bulkSearchQualifiers": [
                    "$.options[?(@.secure==\"true\")]",
                    "$..features[?(@.name==\"origin\")].options[?(@.hostname==\"old.origin.example.com\")]"
                  ],
                  "match": "$..conditions[?(@.name == \"ext\" && \"mp3\" in @.options.value && \"mp4\" nin @.options.value)].options.value[?(@ == \"mp3\")]",
                  "syntax": "JSONPATH"
                }
              }
            },
            "example": {
              "bulkSearchQuery": {
                "bulkSearchQualifiers": [
                  "$.options[?(@.secure==\"true\")]",
                  "$..features[?(@.name==\"origin\")].options[?(@.hostname==\"old.origin.example.com\")]"
                ],
                "match": "$..conditions[?(@.name == \"ext\" && \"mp3\" in @.options.value && \"mp4\" nin @.options.value)].options.value[?(@ == \"mp3\")]",
                "syntax": "JSONPATH"
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/bulksearchasetofproperties"
      },
      "task": true
    },
    {
      "name": "listbulksearchresults",
      "summary": "List bulk search results",
      "description": "List all property versions that result from a [bulk search request](https://papi-akamai.readme.io/reference/bulkrules-search-requests#post_bulk-rules-search-requests). Run this operation to poll the asynchronous process's status. The response is a [BulkSearch](#bulksearch) GET object. Once the `searchTargetStatus` is `COMPLETE`, you can feed the `results` into a [bulk versioning](https://papi-akamai.readme.io/reference/bulkproperty-version-creations#post_bulk-property-version-creations) operatio...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified contract. For bulk operations, you can\nspecify `contractId` and `groupId` independently fro...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified group. For bulk operations, you can\nspecify `contractId` and `groupId` independently from e...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "bulkSearchId",
          "type": "string",
          "info": "(Required) Identifies each bulk search job.: string",
          "required": true,
          "schema": {
            "title": "bulkSearchId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/listbulksearchresults"
      },
      "task": true
    },
    {
      "name": "synchronouslybulksearchasetofproperties",
      "summary": "Synchronously bulk search a set of properties",
      "description": "Provides an alternative to the asynchronous [Bulk search a set of\nproperties](https://papi-akamai.readme.io/reference/bulkrules-search-requests#post_bulk-rules-search-requests) operation. It yields completed\nbulk search results directly, but with possibly high latency,\nmaking it more appropriate to target for small-batch searches.\nPOST a [BulkSearch](#bulksearch) object to search across all\nactive property versions, specifying a\n[JSONPath](http://goessner.net/articles/JsonPath/) expression to\nma...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified contract. For bulk operations, you can\nspecify `contractId` and `groupId` independently fro...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Optionally filters bulk searches to properties provisioned\nunder the specified group. For bulk operations, you can\nspecify `contractId` and `groupId` independently from e...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"bulkSearchQuery\": {\"bulkSearchQualifiers\": \"array\", \"match\": \"string\", \"syntax\": \"string\"}}",
          "required": true,
          "schema": {
            "title": "SynchronouslybulksearchasetofpropertiesRequest",
            "required": [
              "bulkSearchQuery"
            ],
            "type": "object",
            "properties": {
              "bulkSearchQuery": {
                "title": "BulkSearchQuery",
                "required": [
                  "bulkSearchQualifiers",
                  "match",
                  "syntax"
                ],
                "type": "object",
                "properties": {
                  "bulkSearchQualifiers": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": ""
                  },
                  "match": {
                    "type": "string"
                  },
                  "syntax": {
                    "type": "string"
                  }
                },
                "example": {
                  "bulkSearchQualifiers": [
                    "$.options[?(@.secure==\"true\")]",
                    "$..features[?(@.name==\"origin\")].options[?(@.hostname==\"old.origin.example.com\")]"
                  ],
                  "match": "$..conditions[?(@.name == \"ext\" && \"mp3\" in @.options.value && \"mp4\" nin @.options.value)].options.value[?(@ == \"mp3\")]",
                  "syntax": "JSONPATH"
                }
              }
            },
            "example": {
              "bulkSearchQuery": {
                "bulkSearchQualifiers": [
                  "$.options[?(@.secure==\"true\")]",
                  "$..features[?(@.name==\"origin\")].options[?(@.hostname==\"old.origin.example.com\")]"
                ],
                "match": "$..conditions[?(@.name == \"ext\" && \"mp3\" in @.options.value && \"mp4\" nin @.options.value)].options.value[?(@ == \"mp3\")]",
                "syntax": "JSONPATH"
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/synchronouslybulksearchasetofproperties"
      },
      "task": true
    },
    {
      "name": "getclientsettings",
      "summary": "Get client settings",
      "description": "Get the current set of default values that apply to API clients keyed by the current authorization token.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getclientsettings"
      },
      "task": true
    },
    {
      "name": "updateclientsettings",
      "summary": "Update client settings",
      "description": "Update the current set of default values\nthat apply to API clients keyed by the current authorization\ntoken.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"ruleFormat\": \"string\", \"usePrefixes\": \"boolean\"}",
          "required": true,
          "schema": {
            "title": "UpdateclientsettingsRequest",
            "required": [
              "ruleFormat",
              "usePrefixes"
            ],
            "type": "object",
            "properties": {
              "ruleFormat": {
                "type": "string"
              },
              "usePrefixes": {
                "type": "boolean"
              }
            },
            "example": {
              "ruleFormat": "v2015-08-08",
              "usePrefixes": true
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateclientsettings"
      },
      "task": true
    },
    {
      "name": "listCPcodes",
      "summary": "List CP codes",
      "description": "This operation lists CP codes available within your contract and group pairing, which you assign to a property within its rule tree. CP codes include information about the product under which they were generated. When [creating a new property](https://papi-akamai.readme.io/reference/properties#post_properties), you should apply the same product under which the associated CP code was created.",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "(Required) Unique identifier for the contract.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `ctr_` prefix.: string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "(Required) Unique identifier for the group.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `grp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/listCPcodes"
      },
      "task": true
    },
    {
      "name": "createanewCPcode",
      "summary": "Create a new CP code",
      "description": "To create a new CP code, you need to\nassociate it with a product. You can assign any CP code within\na property's rule tree as detailed in the\n[Rule Trees](doc:rule-trees)\nsection. You should match the same `productId` that's assigned\nto properties that invoke the CP code to the one assigned to the\nCP code, otherwise you may get a warning.",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "(Required) Unique identifier for the contract.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `ctr_` prefix.: string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "(Required) Unique identifier for the group.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `grp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"cpcodeName\": \"string\", \"productId\": \"string\"}",
          "required": true,
          "schema": {
            "title": "CreateanewCPcodeRequest",
            "required": [
              "cpcodeName",
              "productId"
            ],
            "type": "object",
            "properties": {
              "cpcodeName": {
                "type": "string"
              },
              "productId": {
                "type": "string"
              }
            },
            "example": {
              "cpcodeName": "SME WAA",
              "productId": "prd_Web_App_Accel"
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createanewCPcode"
      },
      "task": true
    },
    {
      "name": "getaCPcode",
      "summary": "Get a CP code",
      "description": "This operation gets details about a CP code.",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "(Required) Unique identifier for the contract.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `ctr_` prefix.: string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "(Required) Unique identifier for the group.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `grp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "cpcodeId",
          "type": "string",
          "info": "(Required) Unique identifier for the CP code.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `cpc_` prefix.: string",
          "required": true,
          "schema": {
            "title": "cpcodeId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getaCPcode"
      },
      "task": true
    },
    {
      "name": "deleteacustombehavior",
      "summary": "Delete a custom behavior",
      "description": "Update status to DELETED. Operation\nis Akamai-internal.",
      "input": [
        {
          "name": "behaviorId",
          "type": "string",
          "info": "(Required) Unique identifier for the custom behavior.: string",
          "required": true,
          "schema": {
            "title": "behaviorId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteacustombehavior"
      },
      "task": true
    },
    {
      "name": "getacustombehavior",
      "summary": "Get a custom behavior",
      "description": "Get information for a single custom behavior. Use this operation if you want to examine the custom behavior's XML metadata source.",
      "input": [
        {
          "name": "behaviorId",
          "type": "string",
          "info": "(Required) Unique identifier for the custom behavior.: string",
          "required": true,
          "schema": {
            "title": "behaviorId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getacustombehavior"
      },
      "task": true
    },
    {
      "name": "lockacustombehavior",
      "summary": "Lock a custom behavior",
      "description": "updating status to 'LOCKED'. Operation\nis Akamai-internal.",
      "input": [
        {
          "name": "lock",
          "type": "boolean",
          "info": "Lock custom behavior when 'true'.: boolean",
          "required": true,
          "schema": {
            "title": "lock",
            "type": "boolean"
          }
        },
        {
          "name": "behaviorId",
          "type": "string",
          "info": "(Required) Unique identifier for the custom behavior.: string",
          "required": true,
          "schema": {
            "title": "behaviorId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "type": "string",
            "example": "\"adipisicing anim et pariatur\""
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/lockacustombehavior"
      },
      "task": true
    },
    {
      "name": "listcustombehaviors",
      "summary": "List custom behaviors",
      "description": "Lists the set of custom XML metadata behaviors configured for you by Akamai representatives. Referencing the relevant `behaviorId` from a [`customBehavior`](http://learn.akamai.com/en-us/api/core_features/property_manager/vlatest.html#custombehavior) within the rule tree injects the custom XML within the rest of the rule tree's metadata XML. See [Custom behaviors and overrides](doc:custom-behaviors-and-overrides) for guidance on custom overrides.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/listcustombehaviors"
      },
      "task": true
    },
    {
      "name": "createanewcustombehavior",
      "summary": "Create a new custom behavior",
      "description": "Operation is Akamai-internal.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"approvedByUser\": \"string\", \"description\": \"string\", \"displayName\": \"string\", \"name\": \"string\", \"sharingLevel\": \"string\", \"xml\": \"string\"}",
          "required": true,
          "schema": {
            "title": "CreateanewcustombehaviorRequest",
            "required": [
              "approvedByUser",
              "description",
              "displayName",
              "name",
              "sharingLevel",
              "xml"
            ],
            "type": "object",
            "properties": {
              "approvedByUser": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "displayName": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "sharingLevel": {
                "type": "string"
              },
              "xml": {
                "type": "string"
              }
            },
            "example": {
              "approvedByUser": "jlandis",
              "description": "MDC Behavior\n",
              "displayName": "Multiple Domain Configuration",
              "name": "mdc",
              "sharingLevel": "ACCOUNT",
              "xml": "<comment:info>This is where the Metadata goes</comment:info>"
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createanewcustombehavior"
      },
      "task": true
    },
    {
      "name": "deleteacustomoverride",
      "summary": "Delete a custom override",
      "description": "Operation is Akamai-internal.",
      "input": [
        {
          "name": "overrideId",
          "type": "string",
          "info": "(Required) Unique identifier for the custom override.: string",
          "required": true,
          "schema": {
            "title": "overrideId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteacustomoverride"
      },
      "task": true
    },
    {
      "name": "getacustomoverride",
      "summary": "Get a custom override",
      "description": "Get information for a single custom override. Use this operation if you want to examine the override's XML metadata.",
      "input": [
        {
          "name": "overrideId",
          "type": "string",
          "info": "(Required) Unique identifier for the custom override.: string",
          "required": true,
          "schema": {
            "title": "overrideId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getacustomoverride"
      },
      "task": true
    },
    {
      "name": "lockacustomoverride",
      "summary": "Lock a custom override",
      "description": "Update status to 'LOCKED'. Operation is Akamai-internal.",
      "input": [
        {
          "name": "lock",
          "type": "boolean",
          "info": "Lock custom override when 'true'.: boolean",
          "required": true,
          "schema": {
            "title": "lock",
            "type": "boolean"
          }
        },
        {
          "name": "overrideId",
          "type": "string",
          "info": "(Required) Unique identifier for the custom override.: string",
          "required": true,
          "schema": {
            "title": "overrideId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "type": "string",
            "example": "\"adipisicing anim et pariatur\""
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/lockacustomoverride"
      },
      "task": true
    },
    {
      "name": "listcustomoverrides",
      "summary": "List custom overrides",
      "description": "Lists the set of custom XML metadata overrides configured for you by Akamai representatives. Referencing the relevant `overrideId` from a [Rule.customOverride](#efe4941f) object makes the custom XML append to the rest of the metadata XML defined by the rule tree, typically to restore state. See [Custom behaviors and overrides](doc:custom-behaviors-and-overrides) for guidance on custom overrides.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/listcustomoverrides"
      },
      "task": true
    },
    {
      "name": "createanewcustomoverride",
      "summary": "Create a new custom override",
      "description": "Operation is Akamai-internal.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"approvedByUser\": \"string\", \"description\": \"string\", \"displayName\": \"string\", \"name\": \"string\", \"sharingLevel\": \"string\", \"xml\": \"string\"}",
          "required": true,
          "schema": {
            "title": "CreateanewcustomoverrideRequest",
            "required": [
              "approvedByUser",
              "description",
              "displayName",
              "name",
              "sharingLevel",
              "xml"
            ],
            "type": "object",
            "properties": {
              "approvedByUser": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "displayName": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "sharingLevel": {
                "type": "string"
              },
              "xml": {
                "type": "string"
              }
            },
            "example": {
              "approvedByUser": "jlandis",
              "description": "MDC Behavior\n",
              "displayName": "Multiple Domain Configuration",
              "name": "mdc",
              "sharingLevel": "ACCOUNT",
              "xml": "<comment:info>This is where the Metadata goes</comment:info>"
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createanewcustomoverride"
      },
      "task": true
    },
    {
      "name": "listedgehostnames",
      "summary": "List edge hostnames",
      "description": "This lists all edge hostnames available under a contract. To assign any of these hostnames to a property, run [Update a property's hostnames](https://papi-akamai.readme.io/reference/propertiespropertyidversionspropertyversionhostnames#put_properties-propertyid-versions-propertyversion-hostnames). Use the [Edge Hostname API](https://developer.akamai.com/api/core_features/edge_hostnames/v1.html#getcertificatefortheedgehostname) (HAPI) to modify edge hostnames, or delete any that aren't currently a...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "(Required) Unique identifier for the contract.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `ctr_` prefix.: string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "(Required) Unique identifier for the group.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `grp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "options",
          "type": "string",
          "info": "Comma-separated list of options to enable; `mapDetails`\nenables extra mapping-related information.: string",
          "required": true,
          "schema": {
            "title": "options",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/listedgehostnames"
      },
      "task": true
    },
    {
      "name": "createanewedgehostname",
      "summary": "Create a new edge hostname",
      "description": "This operation creates a new edge hostname. As detailed in the sections below, you can use three approaches to secure new edge hostnames: [Standard TLS](doc:standard-tls-edge-hostname), [Enhanced TLS](doc:enhanced-tls-edge-hostname), or a [Shared Certificate](doc:shared-certificate-edge-hostname). You can [assign a use case](doc:assign-a-use-case-to-an-edge-hostname) mapping profile to optimize the hostname to serve specific types of traffic. For more information, see [Create edge hostnames usin...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "(Required) Unique identifier for the contract.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `ctr_` prefix.: string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "(Required) Unique identifier for the group.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `grp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "options",
          "type": "string",
          "info": "Comma-separated list of options to enable; `mapDetails`\nenables extra mapping-related information.: string",
          "required": true,
          "schema": {
            "title": "options",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"domainPrefix\": \"string\", \"domainSuffix\": \"string\", \"ipVersionBehavior\": \"string\", \"productId\": \"string\", \"secureNetwork\": \"string\", \"useCases\": [{\"option\": \"string\", \"type\": \"string\", \"useCase\": \"string\"}]}",
          "required": true,
          "schema": {
            "title": "CreateanewedgehostnameRequest",
            "required": [
              "domainPrefix",
              "domainSuffix",
              "ipVersionBehavior",
              "productId",
              "secureNetwork",
              "useCases"
            ],
            "type": "object",
            "properties": {
              "domainPrefix": {
                "type": "string"
              },
              "domainSuffix": {
                "type": "string"
              },
              "ipVersionBehavior": {
                "type": "string"
              },
              "productId": {
                "type": "string"
              },
              "secureNetwork": {
                "type": "string"
              },
              "useCases": {
                "type": "array",
                "items": {
                  "title": "UseCase",
                  "required": [
                    "option",
                    "type",
                    "useCase"
                  ],
                  "type": "object",
                  "properties": {
                    "option": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    },
                    "useCase": {
                      "type": "string"
                    }
                  },
                  "example": {
                    "option": "BACKGROUND",
                    "type": "GLOBAL",
                    "useCase": "Download_Mode"
                  }
                },
                "description": ""
              }
            },
            "example": {
              "domainPrefix": "www.example.com",
              "domainSuffix": "edgesuite.net",
              "ipVersionBehavior": "IPV4",
              "productId": "prd_Dynamic_Site_Del",
              "secureNetwork": "STANDARD_TLS",
              "useCases": [
                {
                  "option": "BACKGROUND",
                  "type": "GLOBAL",
                  "useCase": "Download_Mode"
                }
              ]
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createanewedgehostname"
      },
      "task": true
    },
    {
      "name": "getanedgehostname",
      "summary": "Get an edge hostname",
      "description": "This polls the state of an edge hostname, typically after [creating a new edge hostname](https://papi-akamai.readme.io/reference/edgehostnames#post_edgehostnames). The response tells you whether the CNAME has been fully distributed across the network. If the hostname's `status` is `ACTIVE`, the process is complete. Until then, you typically see values of `ZONE1`, `ZONE2`, `ZONE3`, or simply `PENDING`.",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "(Required) Unique identifier for the contract.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `ctr_` prefix.: string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "(Required) Unique identifier for the group.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `grp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "options",
          "type": "string",
          "info": "Comma-separated list of options to enable; `mapDetails`\nenables extra mapping-related information.: string",
          "required": true,
          "schema": {
            "title": "options",
            "type": "string"
          }
        },
        {
          "name": "edgeHostnameId",
          "type": "string",
          "info": "(Required) Unique identifier for the edge hostname.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `ehn_` prefix.: string",
          "required": true,
          "schema": {
            "title": "edgeHostnameId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getanedgehostname"
      },
      "task": true
    },
    {
      "name": "listproducts",
      "summary": "List products",
      "description": "This operation lists the set of products that are available under a given contract. You need a product identifier to create new edge hostnames, CP codes, or properties. The range of rule behaviors available within a property is determined by the assigned product.",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "(Required) Unique identifier for the contract.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `ctr_` prefix.: string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/listproducts"
      },
      "task": true
    },
    {
      "name": "listusecases",
      "summary": "List use cases",
      "description": "For a given product, this lists Akamai-provided use case scenarios that help optimally map different types of traffic across the Akamai edge network. Optionally run this operation to gather values before [creating a new edge hostname](https://papi-akamai.readme.io/reference/edgehostnames#post_edgehostnames).",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "(Required) Unique identifier for the contract.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `ctr_` prefix.: string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "productId",
          "type": "string",
          "info": "(Required) Unique identifier for the product.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prd_` prefix.: string",
          "required": true,
          "schema": {
            "title": "productId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/listusecases"
      },
      "task": true
    },
    {
      "name": "cancelapendingactivation",
      "summary": "Cancel a pending activation",
      "description": "If you detect a problem with a property version while its\nactivation is still `PENDING`, this operation allows you to\ncancel it. Make a DELETE request on the response's\n`activationLink` from running [Activate a\nproperty](https://papi-akamai.readme.io/reference/propertiespropertyidactivations#post_properties-propertyid-activations). Once you DELETE the\nactivation, it no longer appears in the [list of\nactivations](https://papi-akamai.readme.io/reference-link/get_properties-propertyid-activations),...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "(Required) Unique identifier for the contract.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `ctr_` prefix.: string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "(Required) Unique identifier for the group.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `grp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        },
        {
          "name": "activationId",
          "type": "string",
          "info": "(Required) Unique identifier for the activation.: string",
          "required": true,
          "schema": {
            "title": "activationId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/cancelapendingactivation"
      },
      "task": true
    },
    {
      "name": "getanactivation",
      "summary": "Get an activation",
      "description": "Gets details about an activation. You typically get a single activation from an `activationLink` when [launching a new activation](https://papi-akamai.readme.io/reference/propertiespropertyidactivations#post_properties-propertyid-activations) and following up to poll its `status`. For activations whose `status` is `PENDING`, a `Retry-After` header provides an estimate for when it's likely to change.",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "(Required) Unique identifier for the contract.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `ctr_` prefix.: string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "(Required) Unique identifier for the group.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `grp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        },
        {
          "name": "activationId",
          "type": "string",
          "info": "(Required) Unique identifier for the activation.: string",
          "required": true,
          "schema": {
            "title": "activationId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getanactivation"
      },
      "task": true
    },
    {
      "name": "listapropertyShostnames",
      "summary": "List a property's hostnames",
      "description": "This lists all the hostnames assigned to a property version, which may be a subset of [all available edge hostnames](https://papi-akamai.readme.io/reference/edgehostnames#get_edgehostnames).",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Unique identifier for the contract.\nThe parameter is optional if the property has been\nprovisioned under only one contract.\nOtherwise you need to specify it along with th...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Unique identifier for the group.\nThe parameter is optional if the property has been\nprovisioned under only one group.\nOtherwise you need to specify it along with the `con...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "validateHostnames",
          "type": "boolean",
          "info": "When `false` (the default), skips validation tests that\nwould identify potential hostname-related problems within\nthe response object's `errors` and `warnings` arrays. Se...(description truncated): boolean",
          "required": true,
          "schema": {
            "title": "validateHostnames",
            "type": "boolean"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        },
        {
          "name": "propertyVersion",
          "type": "string",
          "info": "(Required) Property's incremental version number.: string",
          "required": true,
          "schema": {
            "title": "propertyVersion",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/listapropertyShostnames"
      },
      "task": true
    },
    {
      "name": "updateapropertyShostnames",
      "summary": "Update a property's hostnames",
      "description": "Modify the set of hostname entries for a property version. For\neach hostname entry, specify a `cnameFrom` along with either a\n`cnameTo` or `edgeHostnameId`.\nIf you remove a hostname from an active property configuration,\nyou can then reassign it to another property, or use the\n[Edge Hostname API](https://developer.akamai.com/api/core_features/edge_hostnames/v1.html#getcertificatefortheedgehostname)\n(HAPI) to delete the edge hostname.\n\nThere are no POST or DELETE operations to add or remove\nhostn...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Unique identifier for the contract.\nThe parameter is optional if the property has been\nprovisioned under only one contract.\nOtherwise you need to specify it along with th...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Unique identifier for the group.\nThe parameter is optional if the property has been\nprovisioned under only one group.\nOtherwise you need to specify it along with the `con...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "validateHostnames",
          "type": "boolean",
          "info": "When `false` (the default), skips validation tests that\nwould identify potential hostname-related problems within\nthe response object's `errors` and `warnings` arrays. Se...(description truncated): boolean",
          "required": true,
          "schema": {
            "title": "validateHostnames",
            "type": "boolean"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        },
        {
          "name": "propertyVersion",
          "type": "string",
          "info": "(Required) Property's incremental version number.: string",
          "required": true,
          "schema": {
            "title": "propertyVersion",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "array",
          "info": ": array",
          "required": true,
          "schema": {
            "type": "array",
            "items": {
              "type": "object"
            },
            "description": "",
            "example": [
              {
                "cnameFrom": "m.example.com",
                "cnameTo": "example.com.edgesuite.net",
                "cnameType": "EDGE_HOSTNAME"
              },
              {
                "cnameFrom": "example3.com",
                "cnameType": "EDGE_HOSTNAME",
                "edgeHostnameId": "ehn_895824"
              }
            ]
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateapropertyShostnames"
      },
      "task": true
    },
    {
      "name": "getaruletree",
      "summary": "Get a rule tree",
      "description": "This gets the entire rule tree for a property version. See the [Rule Trees](doc:rule-trees) section for details on the response object's structure. Also use this operation to update from one rule format to another more recent version, incrementing the assigned set of features. See [Update rules to a newer set of features](doc:update-rules-to-a-newer-set-of-features).",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Unique identifier for the contract.\nThe parameter is optional if the property has been\nprovisioned under only one contract.\nOtherwise you need to specify it along with th...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Unique identifier for the group.\nThe parameter is optional if the property has been\nprovisioned under only one group.\nOtherwise you need to specify it along with the `con...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "validateRules",
          "type": "boolean",
          "info": "Set to `true` by default. When `false`, skips validation\ntests that would identify potential problems within the\nresponse object's `errors` and `warnings` arrays. See the...(description truncated): boolean",
          "required": true,
          "schema": {
            "title": "validateRules",
            "type": "boolean"
          }
        },
        {
          "name": "validateMode",
          "type": "string",
          "info": "With `validateRules` enabled, setting this to `fast`\nperforms a quick validation check based on the provided\nJSON. This is faster than the default `full` validation,\nwhic...(description truncated): string",
          "required": true,
          "schema": {
            "title": "validateMode",
            "type": "string"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        },
        {
          "name": "propertyVersion",
          "type": "string",
          "info": "(Required) Property's incremental version number.: string",
          "required": true,
          "schema": {
            "title": "propertyVersion",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getaruletree"
      },
      "task": true
    },
    {
      "name": "patcharuletree",
      "summary": "Patch a rule tree",
      "description": "Selectively modify a rule tree using [JSON\npatch](http://jsonpatch.com) syntax. As a component of the\nlarger [Bulk patch a set of properties](https://papi-akamai.readme.io/reference/bulkrules-patch-requests#post_bulk-rules-patch-requests), this\noperation patches an individual rule tree. See [Bulk Search\nand Update](doc:learn-about-bulk) for more information.\nTo bypass a set of validation tests that may significantly\nslow this operation's execution time, set the `validateRules`\nquery parameter to...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Unique identifier for the contract.\nThe parameter is optional if the property has been\nprovisioned under only one contract.\nOtherwise you need to specify it along with th...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Unique identifier for the group.\nThe parameter is optional if the property has been\nprovisioned under only one group.\nOtherwise you need to specify it along with the `con...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "validateRules",
          "type": "boolean",
          "info": "Set to `true` by default. When `false`, skips validation\ntests that would identify potential problems within the\nresponse object's `errors` and `warnings` arrays. See the...(description truncated): boolean",
          "required": true,
          "schema": {
            "title": "validateRules",
            "type": "boolean"
          }
        },
        {
          "name": "validateMode",
          "type": "string",
          "info": "With `validateRules` enabled, setting this to `fast`\nperforms a quick validation check based on the provided\nJSON. This is faster than the default `full` validation,\nwhic...(description truncated): string",
          "required": true,
          "schema": {
            "title": "validateMode",
            "type": "string"
          }
        },
        {
          "name": "dryRun",
          "type": "boolean",
          "info": "With `validateRules` also enabled, allows for a _dry run_ in\norder to gather any possible errors without saving the rule\ntree.: boolean",
          "required": true,
          "schema": {
            "title": "dryRun",
            "type": "boolean"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        },
        {
          "name": "propertyVersion",
          "type": "string",
          "info": "(Required) Property's incremental version number.: string",
          "required": true,
          "schema": {
            "title": "propertyVersion",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "array",
          "info": ": array",
          "required": true,
          "schema": {
            "type": "array",
            "items": {
              "type": "object"
            },
            "description": "",
            "example": [
              {
                "op": "replace",
                "path": "/rules/options/is_secure",
                "value": true
              },
              {
                "op": "replace",
                "path": "/rules/children/0/name",
                "value": "Handle /my-path"
              }
            ]
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/patcharuletree"
      },
      "task": true
    },
    {
      "name": "updatearuletree",
      "summary": "Update a rule tree",
      "description": "To write a rule tree to a property version, make a PUT request\nto the same resource as the GET request that reads it, passing\nin the rule object in the body of the request. See the\n[Rule Trees](doc:rule-trees)\nsection for details on the rule tree's structure. Use this\noperation also to\n[freeze a set of rules](doc:freeze-a-rule-trees-feature-set)\nto a rule format version to ensure no change in a deployed\nactivation's behavior. Set the `validateRules` query parameter\nto `false` to bypass a set of ...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Unique identifier for the contract.\nThe parameter is optional if the property has been\nprovisioned under only one contract.\nOtherwise you need to specify it along with th...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Unique identifier for the group.\nThe parameter is optional if the property has been\nprovisioned under only one group.\nOtherwise you need to specify it along with the `con...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "validateRules",
          "type": "boolean",
          "info": "Set to `true` by default. When `false`, skips validation\ntests that would identify potential problems within the\nresponse object's `errors` and `warnings` arrays. See the...(description truncated): boolean",
          "required": true,
          "schema": {
            "title": "validateRules",
            "type": "boolean"
          }
        },
        {
          "name": "validateMode",
          "type": "string",
          "info": "With `validateRules` enabled, setting this to `fast`\nperforms a quick validation check based on the provided\nJSON. This is faster than the default `full` validation,\nwhic...(description truncated): string",
          "required": true,
          "schema": {
            "title": "validateMode",
            "type": "string"
          }
        },
        {
          "name": "dryRun",
          "type": "boolean",
          "info": "With `validateRules` also enabled, allows for a _dry run_ in\norder to gather any possible errors without saving the rule\ntree.: boolean",
          "required": true,
          "schema": {
            "title": "dryRun",
            "type": "boolean"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        },
        {
          "name": "propertyVersion",
          "type": "string",
          "info": "(Required) Property's incremental version number.: string",
          "required": true,
          "schema": {
            "title": "propertyVersion",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"rules\": {\"children\": [{\"behaviors\": [{\"behavior\": \"string\", \"name\": \"string\", \"ttl\": \"string\"}], \"criteria\": [{\"name\": \"string\", \"value\": \"array\"}], \"criteriaMustSatisfy\": \"string\", \"name\": \"string\"}], \"name\": \"string\"}}",
          "required": true,
          "schema": {
            "title": "UpdatearuletreeRequest",
            "required": [
              "rules"
            ],
            "type": "object",
            "properties": {
              "rules": {
                "title": "Rules",
                "required": [
                  "children",
                  "name"
                ],
                "type": "object",
                "properties": {
                  "children": {
                    "type": "array",
                    "items": {
                      "title": "Child",
                      "required": [
                        "behaviors",
                        "criteria",
                        "criteriaMustSatisfy",
                        "name"
                      ],
                      "type": "object",
                      "properties": {
                        "behaviors": {
                          "type": "array",
                          "items": {
                            "title": "Behavior",
                            "required": [
                              "behavior",
                              "name",
                              "ttl"
                            ],
                            "type": "object",
                            "properties": {
                              "behavior": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "ttl": {
                                "type": "string"
                              }
                            },
                            "example": {
                              "behavior": "max-age",
                              "name": "caching",
                              "ttl": "1m"
                            }
                          },
                          "description": ""
                        },
                        "criteria": {
                          "type": "array",
                          "items": {
                            "title": "Criterion",
                            "required": [
                              "name",
                              "value"
                            ],
                            "type": "object",
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "value": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": ""
                              }
                            },
                            "example": {
                              "name": "path",
                              "value": [
                                "/my-path"
                              ]
                            }
                          },
                          "description": ""
                        },
                        "criteriaMustSatisfy": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "example": {
                        "behaviors": [
                          {
                            "behavior": "max-age",
                            "name": "caching",
                            "ttl": "1m"
                          }
                        ],
                        "criteria": [
                          {
                            "name": "path",
                            "value": [
                              "/my-path"
                            ]
                          }
                        ],
                        "criteriaMustSatisfy": "all",
                        "name": "Handle /my-path"
                      }
                    },
                    "description": ""
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "example": {
                  "children": [
                    {
                      "behaviors": [
                        {
                          "behavior": "max-age",
                          "name": "caching",
                          "ttl": "1m"
                        }
                      ],
                      "criteria": [
                        {
                          "name": "path",
                          "value": [
                            "/my-path"
                          ]
                        }
                      ],
                      "criteriaMustSatisfy": "all",
                      "name": "Handle /my-path"
                    }
                  ],
                  "name": "default"
                }
              }
            },
            "example": {
              "rules": {
                "children": [
                  {
                    "behaviors": [
                      {
                        "behavior": "max-age",
                        "name": "caching",
                        "ttl": "1m"
                      }
                    ],
                    "criteria": [
                      {
                        "name": "path",
                        "value": [
                          "/my-path"
                        ]
                      }
                    ],
                    "criteriaMustSatisfy": "all",
                    "name": "Handle /my-path"
                  }
                ],
                "name": "default"
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updatearuletree"
      },
      "task": true
    },
    {
      "name": "getaversion",
      "summary": "Get a version",
      "description": "This polls the state of a specific property version, for example to check its activation status. When specifying `Accept: text/xml`, this operation provides the Akamai _metadata_ configuration data that's distributed to edge servers when the property version is activated. This XML data encapsulates the property version's component rules and hostnames, and is available on a read-only basis. Contact your Akamai representative if you need help interpreting it.",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Unique identifier for the contract.\nThe parameter is optional if the property has been\nprovisioned under only one contract.\nOtherwise you need to specify it along with th...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Unique identifier for the group.\nThe parameter is optional if the property has been\nprovisioned under only one group.\nOtherwise you need to specify it along with the `con...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        },
        {
          "name": "propertyVersion",
          "type": "string",
          "info": "(Required) Property's incremental version number.: string",
          "required": true,
          "schema": {
            "title": "propertyVersion",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getaversion"
      },
      "task": true
    },
    {
      "name": "listavailablebehaviors",
      "summary": "List available behaviors",
      "description": "Lists the set of [behaviors](http://learn.akamai.com/en-us/api/core_features/property_manager/vlatest.html#behaviors) you may apply within a property version's rules. The available set is determined by the product under which you created the property, and any additional modules enabled under your account.\n\nNote that this list of available behaviors is more accurate than that specified in the [rule format schema](https://papi-akamai.readme.io/reference/schemasproductsproductidruleformat#get_schem...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Unique identifier for the contract.\nThe parameter is optional if the property has been\nprovisioned under only one contract.\nOtherwise you need to specify it along with th...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Unique identifier for the group.\nThe parameter is optional if the property has been\nprovisioned under only one group.\nOtherwise you need to specify it along with the `con...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        },
        {
          "name": "propertyVersion",
          "type": "string",
          "info": "(Required) Property's incremental version number.: string",
          "required": true,
          "schema": {
            "title": "propertyVersion",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/listavailablebehaviors"
      },
      "task": true
    },
    {
      "name": "listavailablecriteria",
      "summary": "List available criteria",
      "description": "Lists the set of [criteria](http://learn.akamai.com/en-us/api/core_features/property_manager/vlatest.html#criteria) you may apply within a property version's rules. The available set is determined by the product under which you created the property, and any additional modules enabled under your account.\n\nNote that this list of available criteria is more accurate than that specified in the [rule format schema](https://papi-akamai.readme.io/reference/schemasproductsproductidruleformat#get_schemas-...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Unique identifier for the contract.\nThe parameter is optional if the property has been\nprovisioned under only one contract.\nOtherwise you need to specify it along with th...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Unique identifier for the group.\nThe parameter is optional if the property has been\nprovisioned under only one group.\nOtherwise you need to specify it along with the `con...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        },
        {
          "name": "propertyVersion",
          "type": "string",
          "info": "(Required) Property's incremental version number.: string",
          "required": true,
          "schema": {
            "title": "propertyVersion",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/listavailablecriteria"
      },
      "task": true
    },
    {
      "name": "listpropertyversions",
      "summary": "List property versions",
      "description": "Lists the property's versions, with results limited to the 500 most recent versions. Optionally paginate the results. Each property version indicates activation status on different networks, and an `etag` digest useful when [cloning the property](https://papi-akamai.readme.io/reference/properties#post_properties).",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Unique identifier for the contract.\nThe parameter is optional if the property has been\nprovisioned under only one contract.\nOtherwise you need to specify it along with th...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Unique identifier for the group.\nThe parameter is optional if the property has been\nprovisioned under only one group.\nOtherwise you need to specify it along with the `con...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "offset",
          "type": "number",
          "info": "For paginated responses, specifies the page of results to\ninclude, starting from `0`.: 123",
          "required": true,
          "schema": {
            "title": "offset",
            "type": "number"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "For paginated responses, specifies the number of results to\ninclude on each page.: 123",
          "required": true,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/listpropertyversions"
      },
      "task": true
    },
    {
      "name": "createanewpropertyversion",
      "summary": "Create a new property version",
      "description": "Create a new property version\nbased on any previous version. All data from the\n`createFromVersion` populates the new version, including its\nrules and hostnames. Specify `createFromVersionEtag` if you\nwant to ensure you're creating from a version that hasn't\nchanged since you fetched it.",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Unique identifier for the contract.\nThe parameter is optional if the property has been\nprovisioned under only one contract.\nOtherwise you need to specify it along with th...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Unique identifier for the group.\nThe parameter is optional if the property has been\nprovisioned under only one group.\nOtherwise you need to specify it along with the `con...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"createFromVersion\": 123, \"createFromVersionEtag\": \"string\"}",
          "required": true,
          "schema": {
            "title": "CreateanewpropertyversionRequest",
            "required": [
              "createFromVersion",
              "createFromVersionEtag"
            ],
            "type": "object",
            "properties": {
              "createFromVersion": {
                "type": "integer"
              },
              "createFromVersionEtag": {
                "type": "string"
              }
            },
            "example": {
              "createFromVersion": 1,
              "createFromVersionEtag": "2641910c585cf67b"
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createanewpropertyversion"
      },
      "task": true
    },
    {
      "name": "getthelatestversion",
      "summary": "Get the latest version",
      "description": "This operation provides either the latest property version overall, or the latest one active on the production or staging networks. By default, the response yields the property version with the highest number. Specifying an `activatedOn` of `STAGING` or `PRODUCTION` yields the version that's currently active on either network.",
      "input": [
        {
          "name": "activatedOn",
          "type": "string",
          "info": "If present, returns the latest version activated on the\ngiven network, either `STAGING` or `PRODUCTION`.: string",
          "required": true,
          "schema": {
            "title": "activatedOn",
            "type": "string"
          }
        },
        {
          "name": "contractId",
          "type": "string",
          "info": "Unique identifier for the contract.\nThe parameter is optional if the property has been\nprovisioned under only one contract.\nOtherwise you need to specify it along with th...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Unique identifier for the group.\nThe parameter is optional if the property has been\nprovisioned under only one group.\nOtherwise you need to specify it along with the `con...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getthelatestversion"
      },
      "task": true
    },
    {
      "name": "removeaproperty",
      "summary": "Remove a property",
      "description": "Removes a specific property, which you can only do if none of\nits versions are currently active. Activating another\nproperty with the same set of hostnames automatically triggers\na deactivation on the targeted property. See\n[Create a new activation](https://papi-akamai.readme.io/reference/propertiespropertyidactivations#post_properties-propertyid-activations) for details.\nA successful DELETE results in a 200 response with the link to\nthe remaining properties for the given contract and group.\nAtt...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Unique identifier for the contract.\nThe parameter is optional if the property has been\nprovisioned under only one contract.\nOtherwise you need to specify it along with th...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Unique identifier for the group.\nThe parameter is optional if the property has been\nprovisioned under only one group.\nOtherwise you need to specify it along with the `con...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/removeaproperty"
      },
      "task": true
    },
    {
      "name": "getaproperty",
      "summary": "Get a property",
      "description": "This operation gets a specific property. You can call this operation by specifying any of the `propertyId` members from a [list of properties](https://papi-akamai.readme.io/reference/properties#get_properties), or by running a GET on the `propertyLink` response when [creating a new property](https://papi-akamai.readme.io/reference/properties#post_properties).",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "Unique identifier for the contract.\nThe parameter is optional if the property has been\nprovisioned under only one contract.\nOtherwise you need to specify it along with th...(description truncated): string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "Unique identifier for the group.\nThe parameter is optional if the property has been\nprovisioned under only one group.\nOtherwise you need to specify it along with the `con...(description truncated): string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "propertyId",
          "type": "string",
          "info": "(Required) Unique identifier for the property.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "propertyId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getaproperty"
      },
      "task": true
    },
    {
      "name": "listproperties",
      "summary": "List properties",
      "description": "This operation lists properties available for the current contract and group.",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "(Required) Unique identifier for the contract.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `ctr_` prefix.: string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "(Required) Unique identifier for the group.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `grp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/listproperties"
      },
      "task": true
    },
    {
      "name": "createorcloneaproperty",
      "summary": "Create or clone a property",
      "description": "This operation either creates a new property from scratch, or\nbases one on another property's rule tree and optionally its set\nof assigned hostnames.\n\nWhen cloning with `copyHostnames` enabled, you can apply the\nsame set of hostnames as the original property. Regardless,\nthe new property clones the rule tree from the original,\nalong with its assigned `ruleFormat`. Setting\n`cloneFromVersionEtag` allows you to perform an etags check\nto ensure the original property hasn't changed. See\n[Concurrency ...(description truncated)",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "(Required) Unique identifier for the contract.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `ctr_` prefix.: string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "(Required) Unique identifier for the group.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `grp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"cloneFrom\": {\"cloneFromVersionEtag\": \"string\", \"copyHostnames\": \"boolean\", \"propertyId\": \"string\", \"version\": 123}, \"productId\": \"string\", \"propertyName\": \"string\"}",
          "required": true,
          "schema": {
            "title": "CreateorcloneapropertyRequest",
            "required": [
              "cloneFrom",
              "productId",
              "propertyName"
            ],
            "type": "object",
            "properties": {
              "cloneFrom": {
                "title": "CloneFrom",
                "required": [
                  "cloneFromVersionEtag",
                  "copyHostnames",
                  "propertyId",
                  "version"
                ],
                "type": "object",
                "properties": {
                  "cloneFromVersionEtag": {
                    "type": "string"
                  },
                  "copyHostnames": {
                    "type": "boolean"
                  },
                  "propertyId": {
                    "type": "string"
                  },
                  "version": {
                    "type": "integer"
                  }
                },
                "example": {
                  "cloneFromVersionEtag": "a9dfe78cf93090516bde891d009eaf57",
                  "copyHostnames": true,
                  "propertyId": "prp_175780",
                  "version": 2
                }
              },
              "productId": {
                "type": "string"
              },
              "propertyName": {
                "type": "string"
              }
            },
            "example": {
              "cloneFrom": {
                "cloneFromVersionEtag": "a9dfe78cf93090516bde891d009eaf57",
                "copyHostnames": true,
                "propertyId": "prp_175780",
                "version": 2
              },
              "productId": "prd_Alta",
              "propertyName": "my.new.property.com"
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createorcloneaproperty"
      },
      "task": true
    },
    {
      "name": "getaruleformatSschema",
      "summary": "Get a rule format's schema",
      "description": "Get the JSON schema for the given product and rule format, which you can use to validate a rule tree object. Note that your rule tree may still fail to activate if you specify features that are optional within the schema for a product but not currently supported on your contract. To validate the set of currently available features you want to activate, run [List available behaviors](https://papi-akamai.readme.io/reference-link/get_properties-propertyid-versions-propertyversion-available-behavior...(description truncated)",
      "input": [
        {
          "name": "productId",
          "type": "string",
          "info": "(Required) Unique identifier for the product.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `prd_` prefix.: string",
          "required": true,
          "schema": {
            "title": "productId",
            "type": "string"
          }
        },
        {
          "name": "ruleFormat",
          "type": "string",
          "info": "(Required) Name of the rule format, either one frozen to a specific\ndate, or representing the `latest` set of behaviors and\ncriteria.: string",
          "required": true,
          "schema": {
            "title": "ruleFormat",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getaruleformatSschema"
      },
      "task": true
    },
    {
      "name": "getarequestSschema",
      "summary": "Get a request's schema",
      "description": "Fetch the JSON schema for a particular request. These are typically linked from error messages about schema mismatches.",
      "input": [
        {
          "name": "filename",
          "type": "string",
          "info": "(Required) Schema's filename.: string",
          "required": true,
          "schema": {
            "title": "filename",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getarequestSschema"
      },
      "task": true
    },
    {
      "name": "getbuilddetails",
      "summary": "Get build details",
      "description": "Gets information about the current API release. Note that available information about version numbers and build dates are unrelated to the overall API version or to various rule format versions. See [API versioning](doc:api-versioning) for details.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getbuilddetails"
      },
      "task": true
    },
    {
      "name": "listcontracts",
      "summary": "List contracts",
      "description": "You need information about the prevailing contract to access most PAPI interfaces. This operation provides a read-only list of contract names and identifiers. The response provides context on the overall account that enables each contract and keys your API credentials, but you don't need it to access any PAPI objects.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/listcontracts"
      },
      "task": true
    },
    {
      "name": "getdebugClientInfo",
      "summary": "GET debug-client-info",
      "description": "GET debug-client-info",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getdebugClientInfo"
      },
      "task": true
    },
    {
      "name": "listgroups",
      "summary": "List groups",
      "description": "You need information about the prevailing group to access most PAPI interfaces. This operation provides a read-only list of groups, which may contain properties. This operation provides a flat list of groups, along with `parentGroupId` information to structure them as a hierarchy. Each group also lists any available contracts that enable property features, but not which group contains a given property. The [Identity Management: User Administration API](http://learn.akamai.com/en-us/api/core_feat...(description truncated)",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/listgroups"
      },
      "task": true
    },
    {
      "name": "listruleformats",
      "summary": "List rule formats",
      "description": "Gets a list of available rule formats. These dated version strings available in the response's `ruleFormats.items` array allow you to control the set of behaviors and criteria you invoke within a property's rules to apply to edge content, either [freezing](doc:freeze-a-rule-trees-feature-set) a rule tree or [updating](doc:update-rules-to-a-newer-set-of-features) to a new rule format. To validate a rule tree to the requirements of a specific rule format, see [Get a rule format's schema](https://p...(description truncated)",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/listruleformats"
      },
      "task": true
    },
    {
      "name": "searchproperties",
      "summary": "Search properties",
      "description": "This operation searches properties by name, or by the\nhostname or edge hostname for which it's currently\nactive. Specify a [Search](#search) request object with a\nsingle query member. The response lists the matching set of\ncurrently active property versions, and also the latest\nversion if inactive. Each of the response's\n[Version](#version) objects features additional context for\nthe property in which it appears, or the account, contract,\nor group under which the property was provisioned. Note t...(description truncated)",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"propertyName\": \"string\"}",
          "required": true,
          "schema": {
            "title": "SearchpropertiesRequest",
            "required": [
              "propertyName"
            ],
            "type": "object",
            "properties": {
              "propertyName": {
                "type": "string"
              }
            },
            "example": {
              "propertyName": "www.example.com_pm"
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/searchproperties"
      },
      "task": true
    },
    {
      "name": "validateruleswithoutpersistence",
      "summary": "Validate rules without persistence",
      "description": "Operation is Akamai-internal.",
      "input": [
        {
          "name": "contractId",
          "type": "string",
          "info": "(Required) Unique identifier for the contract.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `ctr_` prefix.: string",
          "required": true,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "groupId",
          "type": "string",
          "info": "(Required) Unique identifier for the group.\nSee [ID prefixes](doc:id-prefixes)\nfor details on omitting the value's `grp_` prefix.: string",
          "required": true,
          "schema": {
            "title": "groupId",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"productId\": \"string\", \"propertyName\": \"string\", \"cloneFrom\": {\"propertyId\": \"string\", \"version\": 123, \"copyHostnames\": \"boolean\"}, \"ruleFormat\": \"string\", \"rules\": \"object\"}",
          "required": true,
          "schema": {
            "title": "ValidateruleswithoutpersistenceRequest",
            "required": [
              "productId",
              "propertyName",
              "cloneFrom",
              "ruleFormat",
              "rules"
            ],
            "type": "object",
            "properties": {
              "productId": {
                "type": "string"
              },
              "propertyName": {
                "type": "string"
              },
              "cloneFrom": {
                "title": "CloneFrom1",
                "required": [
                  "propertyId",
                  "version",
                  "copyHostnames"
                ],
                "type": "object",
                "properties": {
                  "propertyId": {
                    "type": "string"
                  },
                  "version": {
                    "type": "integer"
                  },
                  "copyHostnames": {
                    "type": "boolean"
                  }
                },
                "example": {
                  "propertyId": "aliqua magna",
                  "version": 53238157,
                  "copyHostnames": false
                }
              },
              "ruleFormat": {
                "type": "string"
              },
              "rules": {
                "type": "object"
              }
            },
            "example": {
              "productId": "eu fugiat officia magna consectetur",
              "propertyName": "cupidatat ve",
              "cloneFrom": {
                "propertyId": "aliqua magna",
                "version": 53238157,
                "copyHostnames": false
              },
              "ruleFormat": "qui reprehenderit sint",
              "rules": {}
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/validateruleswithoutpersistence"
      },
      "task": true
    }
  ],
  "views": []
}