openapi: 3.0.0
info:
  title: Property Manager API
  description: >-
    Manage your Akamai delivery configurations with the Property Manager API.


    More information on https://developer.akamai.com/api/core_features/property_manager/v1.html


    Don't forget to set your environment with the following variables: (the values for first 4 variables come from the API credentials you downloaded on control.akamai.com. The network can have "staging" or "production")

    host

    access_token

    client_token

    client_secret


    Also two global variables should be set:

    baseUrl which should have a value of "https://{{host}}"

    network which should have a value of "staging" or "production"


    And additional global variable "accountSwitchKey" can be used by API credentials which have the permission to manage other accounts to indicate the account ID you want to manage
  contact: {}
  version: '1.0'
servers:
- url: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/papi/v1
  variables: {}
paths:
  /bulk/activations:
    post:
      tags:
      - activations
      summary: Bulkactivateasetofproperties
      description: >
        XXX Bulk activate a set of property versions.

        (Alternately, perform a bulk [fallback](doc:fast-validation) to the previous

        activation within an hour of the previous bulk activation.)

        Base the set of versions to activate on the results of a

        [bulk patch](https://dash.readme.com/project/papi-akamai/v1/refs/get_bulk-rules-patch-requests-bulkpatchid)

        operation, which you use to create a

        [BulkActivation](#bulkactivation) POST object.

        This operation launches an asynchronous process to update

        properties. To check its progress, run the

        [List bulk-activated properties](https://papi-akamai.readme.io/reference/bulkactivationsbulkactivationid#get_bulk-activations-bulkactivationid)

        operation, whose link is available in the `Location` header or

        `bulkActivationLink` member of this operation's response. See

        [Bulk Search and Update](doc:learn-about-bulk)

        for overall guidance on this feature.
      operationId: Bulkactivateasetofproperties
      parameters:
      - name: contractId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified contract. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified group. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/BulkactivateasetofpropertiesRequest'
              - 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
            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
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /bulk/activations/{bulkActivationId}:
    get:
      tags:
      - activations
      summary: Listbulk-activatedproperties
      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.
      operationId: Listbulk-activatedproperties
      parameters:
      - name: contractId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified contract. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified group. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: bulkActivationId
        in: path
        description: (Required) Identifies each bulk activation job.
        required: true
        style: simple
        schema:
          type: string
          example: '{{bulkActivationId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /properties/{propertyId}/activations:
    get:
      tags:
      - activations
      summary: Listactivations
      description: >
        This lists all activations for all versions of a property, on both production and staging networks.
      operationId: Listactivations
      parameters:
      - name: contractId
        in: query
        description: >-
          Unique identifier for the contract.

          The parameter is optional if the property has been

          provisioned under only one contract.

          Otherwise you need to specify it along with the `groupId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Unique identifier for the group.

          The parameter is optional if the property has been

          provisioned under only one group.

          Otherwise you need to specify it along with the `contractId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    post:
      tags:
      - activations
      summary: Createanewactivationordeactivation
      description: >
        This operation creates a new property activation, which

        deactivates any current activation. After a necessary delay,

        this activates your property version's rule tree and set of

        hostnames across Akamai's network of edge servers, modifying how

        your edge content responds to end-user requests.

        If there's a problem with the property you activated, you may

        have the option to fall back to the previous version. Within an

        hour of activating, POSTing another activation with

        `\"useFastFallback\":true` in the request object disables the

        current activation and falls back to the previous version. This

        fallback takes a few seconds, but the option is available only

        if there have been no changes to the set of property hostnames,

        as indicated by the

        [`canFastFallback`](#8b3213c5)

        member.


        If the activation request produces warnings, a 400 response

        indicates this problem message: `{"type":

        "/papi/v0/activation-warnings-not-acknowledged"}`. Subsequent

        requests succeed if you list the `messageId` values in the

        request's `acknowledgeWarnings` array. Once an activation is

        successful, it responds with a 201 code and provides a

        `Location` header and `activationLink` in the response

        object indicating where to poll the status of the

        activation.


        > __Note__. If you set `activationType` to `DEACTIVATE` in

        the POST request object, the property would deactivate and

        no longer serve any traffic. You'd need to modify your DNS

        configuration and specify a different way to handle the

        traffic. See [Enable traffic for a new edge

        hostname](doc:enable-traffic-for-a-new-edge-hostname) for more information.
      operationId: Createanewactivationordeactivation
      parameters:
      - name: contractId
        in: query
        description: >-
          Unique identifier for the contract.

          The parameter is optional if the property has been

          provisioned under only one contract.

          Otherwise you need to specify it along with the `groupId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Unique identifier for the group.

          The parameter is optional if the property has been

          provisioned under only one group.

          Otherwise you need to specify it along with the `contractId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/CreateanewactivationordeactivationRequest'
              - example:
                  acknowledgeWarnings:
                  - msg_baa4560881774a45b5fd25f5b1eab021d7c40b4f
                  network: STAGING
                  note: Sample activation
                  notifyEmails:
                  - you@example.com
                  - them@example.com
                  propertyVersion: 1
                  useFastFallback: false
            example:
              acknowledgeWarnings:
              - msg_baa4560881774a45b5fd25f5b1eab021d7c40b4f
              network: STAGING
              note: Sample activation
              notifyEmails:
              - you@example.com
              - them@example.com
              propertyVersion: 1
              useFastFallback: false
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /bulk/property-version-creations:
    post:
      tags:
      - property-version-creations
      summary: Bulkversionasetofproperties
      description: >
        POST a [BulkVersion](#bulkversion) object to create new

        versions of a set of properties based on any previous version.

        This operation launches an asynchronous process to increment

        versions. To check its progress,

        run the [List bulk-versioned properties](https://papi-akamai.readme.io/reference/bulkproperty-version-creationsbulkcreateid#get_bulk-property-version-creations-bulkcreateid)

        operation, whose link is available in the `Location` header or

        `bulkCreateVersionLink` member of this operation's response.

        Run this operation only after

        [bulk searching](https://papi-akamai.readme.io/reference/bulkrules-search-requests#post_bulk-rules-search-requests) a set of properties you want

        to change, to prepare new versions to bulk patch. See

        [Bulk Search and Update](doc:learn-about-bulk)

        for guidance on this feature.
      operationId: Bulkversionasetofproperties
      parameters:
      - name: contractId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified contract. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified group. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/BulkversionasetofpropertiesRequest'
              - example:
                  createPropertyVersions:
                  - createFromVersion: 1
                    createFromVersionEtag: 2641910c585cf67b
                    propertyId: prp_1
                  - createFromVersion: 2
                    createFromVersionEtag: 343410c585cf67fc
                    propertyId: prp_15
                  - createFromVersion: 10
                    createFromVersionEtag: 6c7v5c65c6cvcv65
                    propertyId: prp_3
            example:
              createPropertyVersions:
              - createFromVersion: 1
                createFromVersionEtag: 2641910c585cf67b
                propertyId: prp_1
              - createFromVersion: 2
                createFromVersionEtag: 343410c585cf67fc
                propertyId: prp_15
              - createFromVersion: 10
                createFromVersionEtag: 6c7v5c65c6cvcv65
                propertyId: prp_3
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /bulk/property-version-creations/{bulkCreateId}:
    get:
      tags:
      - property-version-creations
      summary: Listbulk-versionedproperties
      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-search-requests) operation to [bulk patch](https://papi-akamai.readme.io/reference/bulkrules-patch-requests#post_bulk-rules-patch-requests) them. See [Bulk Search and Update](doc:learn-about-bulk) for guidance.
      operationId: Listbulk-versionedproperties
      parameters:
      - name: contractId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified contract. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified group. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: bulkCreateId
        in: path
        description: (Required) Identifies each bulk-versioning job.
        required: true
        style: simple
        schema:
          type: string
          example: '{{bulkCreateId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /bulk/rules-patch-requests:
    post:
      tags:
      - rules-patch-requests
      summary: Bulkpatchasetofproperties
      description: >
        Apply a series of JSON Patch

        operations to modify a set of property versions. Form this set

        of `patches` based on the

        [JSONPath](http://goessner.net/articles/JsonPath/) locations

        from a [bulk search](https://papi-akamai.readme.io/reference/bulkrules-search-requests#post_bulk-rules-search-requests) response. Specify a set

        of new property versions based on the results of a

        [bulk versioning](https://papi-akamai.readme.io/reference/bulkproperty-version-creations#post_bulk-property-version-creations) operation. The

        request is a [BulkPatch](#bulkpatch) POST object. This

        operation launches an asynchronous process to update rule

        trees. To check its progress, run the [List bulk-updated

        properties](https://papi-akamai.readme.io/reference/bulkrules-patch-requestsbulkpatchid#get_bulk-rules-patch-requests-bulkpatchid) operation, whose link is available

        in the `Location` header or `bulkPatchLink` member of this

        operation's response. See

        [Bulk Search and Update](doc:learn-about-bulk)

        for overall guidance on this feature.
      operationId: Bulkpatchasetofproperties
      parameters:
      - name: contractId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified contract. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified group. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/BulkpatchasetofpropertiesRequest'
              - 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
            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
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /bulk/rules-patch-requests/{bulkPatchId}:
    get:
      tags:
      - rules-patch-requests
      summary: Listbulk-patchedproperties
      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/bulkactivations#post_bulk-activations) them. See [Bulk Search and Update](doc:learn-about-bulk) for overall guidance on this feature.
      operationId: Listbulk-patchedproperties
      parameters:
      - name: contractId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified contract. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified group. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: bulkPatchId
        in: path
        description: (Required) Identifies each bulk patch job.
        required: true
        style: simple
        schema:
          type: string
          example: '{{bulkPatchId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /bulk/rules-search-requests:
    post:
      tags:
      - rules-search-requests
      summary: Bulksearchasetofproperties
      description: >
        POST a

        [BulkSearch](#bulksearch) object to search across all active

        property versions, specifying a

        [JSONPath](http://goessner.net/articles/JsonPath/) expression to

        match their rule trees. This operation launches an asynchronous

        process to gather search results. To check its progress, run the

        [List bulk search results](https://papi-akamai.readme.io/reference/bulkrules-search-requestsbulksearchid#get_bulk-rules-search-requests-bulksearchid) operation, whose link

        is available in the `Location` header or the `bulkSearchLink`

        member of this operation's response. After gathering completed

        results, you can create new property versions, bulk patch the

        rule trees, then activate them. See

        [Bulk Search and Update](doc:learn-about-bulk)

        for guidance on this feature.

        Run [Synchronously bulk search a set of

        properties](https://papi-akamai.readme.io/reference/bulkrules-search-requests#post_bulk-rules-search-requestssynchronus) as an alternative to

        get completed search results directly.

        To perform simpler

        searches for a property's name or hostnames to which it applies,

        run the [Search properties](https://papi-akamai.readme.io/reference/searchfind-by-value#post_search-find-by-value) operation instead.
      operationId: Bulksearchasetofproperties
      parameters:
      - name: contractId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified contract. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified group. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/BulksearchasetofpropertiesRequest'
              - 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
            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
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /bulk/rules-search-requests/{bulkSearchId}:
    get:
      tags:
      - rules-search-requests
      summary: Listbulksearchresults
      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) operation. Also use the JSON path `matchLocations` to run a [bulk patch](https://papi-akamai.readme.io/reference/bulkrules-patch-requests#post_bulk-rules-patch-requests) operation over the rule trees. See [Bulk Search and Update](doc:learn-about-bulk) for guidance.
      operationId: Listbulksearchresults
      parameters:
      - name: contractId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified contract. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified group. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: bulkSearchId
        in: path
        description: (Required) Identifies each bulk search job.
        required: true
        style: simple
        schema:
          type: string
          example: '{{bulkSearchId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /bulk/rules-search-requests-synch:
    post:
      tags:
      - bulk
      summary: Synchronouslybulksearchasetofproperties
      description: >
        Provides an alternative to the asynchronous [Bulk search a set of

        properties](https://papi-akamai.readme.io/reference/bulkrules-search-requests#post_bulk-rules-search-requests) operation. It yields completed

        bulk search results directly, but with possibly high latency,

        making it more appropriate to target for small-batch searches.

        POST a [BulkSearch](#bulksearch) object to search across all

        active property versions, specifying a

        [JSONPath](http://goessner.net/articles/JsonPath/) expression to

        match their rule trees. After gathering results, you can create

        new property versions, bulk patch the rule trees, then activate

        them. See [Bulk Search and Update](doc:learn-about-bulk) for

        guidance on this feature.

        To perform simpler searches for a property's name or hostnames

        to which it applies, run the [Search

        properties](https://papi-akamai.readme.io/reference/searchfind-by-value#post_search-find-by-value) operation instead.
      operationId: Synchronouslybulksearchasetofproperties
      parameters:
      - name: contractId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified contract. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Optionally filters bulk searches to properties provisioned

          under the specified group. For bulk operations, you can

          specify `contractId` and `groupId` independently from each

          other.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/SynchronouslybulksearchasetofpropertiesRequest'
              - 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
            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
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /client-settings:
    get:
      tags:
      - client-settings
      summary: Getclientsettings
      description: >
        Get the current set of default values that apply to API clients keyed by the current authorization token.
      operationId: Getclientsettings
      parameters: []
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - client-settings
      summary: Updateclientsettings
      description: >
        Update the current set of default values

        that apply to API clients keyed by the current authorization

        token.
      operationId: Updateclientsettings
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/UpdateclientsettingsRequest'
              - example:
                  ruleFormat: v2015-08-08
                  usePrefixes: true
            example:
              ruleFormat: v2015-08-08
              usePrefixes: true
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /cpcodes:
    get:
      tags:
      - cpcodes
      summary: ListCPcodes
      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.
      operationId: ListCPcodes
      parameters:
      - name: contractId
        in: query
        description: >-
          (Required) Unique identifier for the contract.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          (Required) Unique identifier for the group.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    post:
      tags:
      - cpcodes
      summary: CreateanewCPcode
      description: >
        To create a new CP code, you need to

        associate it with a product. You can assign any CP code within

        a property's rule tree as detailed in the

        [Rule Trees](doc:rule-trees)

        section. You should match the same `productId` that's assigned

        to properties that invoke the CP code to the one assigned to the

        CP code, otherwise you may get a warning.
      operationId: CreateanewCPcode
      parameters:
      - name: contractId
        in: query
        description: >-
          (Required) Unique identifier for the contract.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          (Required) Unique identifier for the group.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/CreateanewCPcodeRequest'
              - example:
                  cpcodeName: SME WAA
                  productId: prd_Web_App_Accel
            example:
              cpcodeName: SME WAA
              productId: prd_Web_App_Accel
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /cpcodes/{cpcodeId}:
    get:
      tags:
      - cpcodes
      summary: GetaCPcode
      description: >
        This operation gets details about a CP code.
      operationId: GetaCPcode
      parameters:
      - name: contractId
        in: query
        description: >-
          (Required) Unique identifier for the contract.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          (Required) Unique identifier for the group.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: cpcodeId
        in: path
        description: >-
          (Required) Unique identifier for the CP code.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `cpc_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{cpcodeId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /custom-behaviors/{behaviorId}:
    delete:
      tags:
      - '{behavior Id}'
      summary: Deleteacustombehavior
      description: >
        Update status to DELETED. Operation

        is Akamai-internal.
      operationId: Deleteacustombehavior
      parameters:
      - name: behaviorId
        in: path
        description: (Required) Unique identifier for the custom behavior.
        required: true
        style: simple
        schema:
          type: string
          example: '{{behaviorId}}'
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    get:
      tags:
      - '{behavior Id}'
      summary: Getacustombehavior
      description: >
        Get information for a single custom behavior. Use this operation if you want to examine the custom behavior's XML metadata source.
      operationId: Getacustombehavior
      parameters:
      - name: behaviorId
        in: path
        description: (Required) Unique identifier for the custom behavior.
        required: true
        style: simple
        schema:
          type: string
          example: '{{behaviorId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - '{behavior Id}'
      summary: Lockacustombehavior
      description: >
        updating status to 'LOCKED'. Operation

        is Akamai-internal.
      operationId: Lockacustombehavior
      parameters:
      - name: lock
        in: query
        description: Lock custom behavior when 'true'.
        required: true
        style: form
        explode: true
        schema:
          type: boolean
          example: true
      - name: behaviorId
        in: path
        description: (Required) Unique identifier for the custom behavior.
        required: true
        style: simple
        schema:
          type: string
          example: '{{behaviorId}}'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: string
              example: '"adipisicing anim et pariatur"'
            example: '"adipisicing anim et pariatur"'
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /custom-behaviors:
    get:
      tags:
      - custom-behaviors
      summary: Listcustombehaviors
      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.
      operationId: Listcustombehaviors
      parameters:
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    post:
      tags:
      - custom-behaviors
      summary: Createanewcustombehavior
      description: >
        Operation is Akamai-internal.
      operationId: Createanewcustombehavior
      parameters:
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/CreateanewcustombehaviorRequest'
              - example:
                  approvedByUser: jlandis
                  description: >
                    MDC Behavior
                  displayName: Multiple Domain Configuration
                  name: mdc
                  sharingLevel: ACCOUNT
                  xml: <comment:info>This is where the Metadata goes</comment:info>
            example:
              approvedByUser: jlandis
              description: >
                MDC Behavior
              displayName: Multiple Domain Configuration
              name: mdc
              sharingLevel: ACCOUNT
              xml: <comment:info>This is where the Metadata goes</comment:info>
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /custom-overrides/{overrideId}:
    delete:
      tags:
      - '{override Id}'
      summary: Deleteacustomoverride
      description: >
        Operation is Akamai-internal.
      operationId: Deleteacustomoverride
      parameters:
      - name: overrideId
        in: path
        description: (Required) Unique identifier for the custom override.
        required: true
        style: simple
        schema:
          type: string
          example: '{{overrideId}}'
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    get:
      tags:
      - '{override Id}'
      summary: Getacustomoverride
      description: >
        Get information for a single custom override. Use this operation if you want to examine the override's XML metadata.
      operationId: Getacustomoverride
      parameters:
      - name: overrideId
        in: path
        description: (Required) Unique identifier for the custom override.
        required: true
        style: simple
        schema:
          type: string
          example: '{{overrideId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - '{override Id}'
      summary: Lockacustomoverride
      description: >
        Update status to 'LOCKED'. Operation is Akamai-internal.
      operationId: Lockacustomoverride
      parameters:
      - name: lock
        in: query
        description: Lock custom override when 'true'.
        required: true
        style: form
        explode: true
        schema:
          type: boolean
          example: true
      - name: overrideId
        in: path
        description: (Required) Unique identifier for the custom override.
        required: true
        style: simple
        schema:
          type: string
          example: '{{overrideId}}'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: string
              example: '"adipisicing anim et pariatur"'
            example: '"adipisicing anim et pariatur"'
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /custom-overrides:
    get:
      tags:
      - custom-overrides
      summary: Listcustomoverrides
      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.
      operationId: Listcustomoverrides
      parameters:
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    post:
      tags:
      - custom-overrides
      summary: Createanewcustomoverride
      description: >
        Operation is Akamai-internal.
      operationId: Createanewcustomoverride
      parameters:
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/CreateanewcustomoverrideRequest'
              - example:
                  approvedByUser: jlandis
                  description: >
                    MDC Behavior
                  displayName: Multiple Domain Configuration
                  name: mdc
                  sharingLevel: ACCOUNT
                  xml: <comment:info>This is where the Metadata goes</comment:info>
            example:
              approvedByUser: jlandis
              description: >
                MDC Behavior
              displayName: Multiple Domain Configuration
              name: mdc
              sharingLevel: ACCOUNT
              xml: <comment:info>This is where the Metadata goes</comment:info>
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /edgehostnames:
    get:
      tags:
      - edgehostnames
      summary: Listedgehostnames
      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 assigned to an active property configuration.
      operationId: Listedgehostnames
      parameters:
      - name: contractId
        in: query
        description: >-
          (Required) Unique identifier for the contract.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          (Required) Unique identifier for the group.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: options
        in: query
        description: >-
          Comma-separated list of options to enable; `mapDetails`

          enables extra mapping-related information.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{options}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    post:
      tags:
      - edgehostnames
      summary: Createanewedgehostname
      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 using PAPI](http://learn.akamai.com/en-us/api/learn_akamai/getting_started_with_akamai_developers/core_features/create_edgehostnames.html). Once the hostname is active, you can [Update a property's hostnames](https://papi-akamai.readme.io/reference/propertiespropertyidversionspropertyversionhostnames#put_properties-propertyid-versions-propertyversion-hostnames) to assign it to a property. After you [activate a property](https://papi-akamai.readme.io/reference/propertiespropertyidactivations#post_properties-propertyid-activations), modifying your DNS to map the origin hostname to the edge hostname ultimately enables traffic on the property. For details, see [Enable traffic for a new edge hostname](doc:enable-traffic-for-a-new-edge-hostname). 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 assigned to an active property configuration.
      operationId: Createanewedgehostname
      parameters:
      - name: contractId
        in: query
        description: >-
          (Required) Unique identifier for the contract.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          (Required) Unique identifier for the group.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: options
        in: query
        description: >-
          Comma-separated list of options to enable; `mapDetails`

          enables extra mapping-related information.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{options}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/CreateanewedgehostnameRequest'
              - 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
            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
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /edgehostnames/{edgeHostnameId}:
    get:
      tags:
      - edgehostnames
      summary: Getanedgehostname
      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`.
      operationId: Getanedgehostname
      parameters:
      - name: contractId
        in: query
        description: >-
          (Required) Unique identifier for the contract.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          (Required) Unique identifier for the group.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: options
        in: query
        description: >-
          Comma-separated list of options to enable; `mapDetails`

          enables extra mapping-related information.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{options}}'
      - name: edgeHostnameId
        in: path
        description: >-
          (Required) Unique identifier for the edge hostname.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ehn_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{edgeHostnameId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /products:
    get:
      tags:
      - products
      summary: Listproducts
      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.
      operationId: Listproducts
      parameters:
      - name: contractId
        in: query
        description: >-
          (Required) Unique identifier for the contract.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /products/{productId}/mapping-use-cases:
    get:
      tags:
      - products
      summary: Listusecases
      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).
      operationId: Listusecases
      parameters:
      - name: contractId
        in: query
        description: >-
          (Required) Unique identifier for the contract.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: productId
        in: path
        description: >-
          (Required) Unique identifier for the product.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prd_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{productId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /properties/{propertyId}/activations/{activationId}:
    delete:
      tags:
      - '{activation Id}'
      summary: Cancelapendingactivation
      description: >
        If you detect a problem with a property version while its

        activation is still `PENDING`, this operation allows you to

        cancel it. Make a DELETE request on the response's

        `activationLink` from running [Activate a

        property](https://papi-akamai.readme.io/reference/propertiespropertyidactivations#post_properties-propertyid-activations). Once you DELETE the

        activation, it no longer appears in the [list of

        activations](https://papi-akamai.readme.io/reference-link/get_properties-propertyid-activations), but you can still

        [access it individually](https://papi-akamai.readme.io/reference/propertiespropertyidactivationsactivationid#get_properties-propertyid-activations-activationid). If there

        are unexpected problems with an activation that goes live

        before you're able to cancel it, you often have a one-hour

        window to quickly fall back to a previous activation. See

        [Create a new activation or

        deactivation](https://papi-akamai.readme.io/reference/propertiespropertyidactivations#post_properties-propertyid-activations) for details.


        A successful cancellation results in a 200 response and an

        `ABORTED` status. If the activation is no longer `PENDING`,

        a 422 (unprocessable) error indicates that it can no longer

        be canceled. Canceling an activation that has already been

        canceled results in a 204 response, indicating there's no

        resource to delete. Canceling an unknown activation results

        in a 404 error.


        You can only abort an activation while it's queued for

        deployment across the various network zones with `PENDING`

        status. Once the window has closed and it's been dispatched

        across the network, you can either [reactivate an older

        version](https://papi-akamai.readme.io/reference/propertiespropertyidactivations#post_properties-propertyid-activations), or [create a new

        version](https://papi-akamai.readme.io/reference/propertiespropertyidversions#post_properties-propertyid-versions) that fixes the problem and

        activate that instead.
      operationId: Cancelapendingactivation
      parameters:
      - name: contractId
        in: query
        description: >-
          (Required) Unique identifier for the contract.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          (Required) Unique identifier for the group.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyId}}'
      - name: activationId
        in: path
        description: (Required) Unique identifier for the activation.
        required: true
        style: simple
        schema:
          type: string
          example: '{{activationId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    get:
      tags:
      - '{activation Id}'
      summary: Getanactivation
      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.
      operationId: Getanactivation
      parameters:
      - name: contractId
        in: query
        description: >-
          (Required) Unique identifier for the contract.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          (Required) Unique identifier for the group.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyId}}'
      - name: activationId
        in: path
        description: (Required) Unique identifier for the activation.
        required: true
        style: simple
        schema:
          type: string
          example: '{{activationId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /properties/{propertyId}/versions/{propertyVersion}/hostnames:
    get:
      tags:
      - hostnames
      summary: Listaproperty'shostnames
      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).
      operationId: Listaproperty'shostnames
      parameters:
      - name: contractId
        in: query
        description: >-
          Unique identifier for the contract.

          The parameter is optional if the property has been

          provisioned under only one contract.

          Otherwise you need to specify it along with the `groupId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Unique identifier for the group.

          The parameter is optional if the property has been

          provisioned under only one group.

          Otherwise you need to specify it along with the `contractId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: validateHostnames
        in: query
        description: >-
          When `false` (the default), skips validation tests that

          would identify potential hostname-related problems within

          the response object's `errors` and `warnings` arrays. See

          [Property hostname errors](doc:property-hostname-errors)

          for details on relevant error feedback. See

          [Fast validation, activation, and fallback](doc:fast-validation)

          for details on the delays this might avoid.
        required: true
        style: form
        explode: true
        schema:
          type: boolean
          example: true
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyId}}'
      - name: propertyVersion
        in: path
        description: (Required) Property's incremental version number.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyVersion}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - hostnames
      summary: Updateaproperty'shostnames
      description: >
        Modify the set of hostname entries for a property version. For

        each hostname entry, specify a `cnameFrom` along with either a

        `cnameTo` or `edgeHostnameId`.

        If you remove a hostname from an active property configuration,

        you can then reassign it to another property, or use the

        [Edge Hostname API](https://developer.akamai.com/api/core_features/edge_hostnames/v1.html#getcertificatefortheedgehostname)

        (HAPI) to delete the edge hostname.


        There are no POST or DELETE operations to add or remove

        hostnames from a property, so to assign them you need to

        make a PUT request that specifies the entire set as an

        array. Since the data sent in the PUT request is an array,

        adding an `If-Match` HTTP header is the only way to prevent

        overwriting edits from another client. See [Concurrency

        control](doc:concurrency-control) for more information on this

        technique.


        If you activate a property version that specifies a hostname

        already active on another property, it's removed from that

        property, and a new property version is automatically

        created and activated with the change. Otherwise you don't

        receive any warning when saving a set of overlapping

        hostnames on an inactive version.


        Set the `validateHostnames` query parameter to `false` to

        bypass a set of validation tests that may significantly slow

        this operation's execution time. See [Fast validation,

        activation, and fallback](doc:fast-validation) for guidance on when to

        defer validation. See [JSON problems](doc:json-problem-responses) for

        information on how validation data is embedded within the

        response object.
      operationId: Updateaproperty'shostnames
      parameters:
      - name: contractId
        in: query
        description: >-
          Unique identifier for the contract.

          The parameter is optional if the property has been

          provisioned under only one contract.

          Otherwise you need to specify it along with the `groupId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Unique identifier for the group.

          The parameter is optional if the property has been

          provisioned under only one group.

          Otherwise you need to specify it along with the `contractId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: validateHostnames
        in: query
        description: >-
          When `false` (the default), skips validation tests that

          would identify potential hostname-related problems within

          the response object's `errors` and `warnings` arrays. See

          [Property hostname errors](doc:property-hostname-errors)

          for details on relevant error feedback. See

          [Fast validation, activation, and fallback](doc:fast-validation)

          for details on the delays this might avoid.
        required: true
        style: form
        explode: true
        schema:
          type: boolean
          example: true
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyId}}'
      - name: propertyVersion
        in: path
        description: (Required) Property's incremental version number.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyVersion}}'
      - name: If-Match
        in: header
        description: (Required)
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/UpdateapropertyshostnamesRequest'
              description: ''
              example:
              - cnameFrom: m.example.com
                cnameTo: example.com.edgesuite.net
                cnameType: EDGE_HOSTNAME
              - cnameFrom: example3.com
                cnameType: EDGE_HOSTNAME
                edgeHostnameId: ehn_895824
            example:
            - cnameFrom: m.example.com
              cnameTo: example.com.edgesuite.net
              cnameType: EDGE_HOSTNAME
            - cnameFrom: example3.com
              cnameType: EDGE_HOSTNAME
              edgeHostnameId: ehn_895824
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /properties/{propertyId}/versions/{propertyVersion}/rules:
    get:
      tags:
      - rules
      summary: Getaruletree
      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).
      operationId: Getaruletree
      parameters:
      - name: contractId
        in: query
        description: >-
          Unique identifier for the contract.

          The parameter is optional if the property has been

          provisioned under only one contract.

          Otherwise you need to specify it along with the `groupId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Unique identifier for the group.

          The parameter is optional if the property has been

          provisioned under only one group.

          Otherwise you need to specify it along with the `contractId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: validateRules
        in: query
        description: >-
          Set to `true` by default. When `false`, skips validation

          tests that would identify potential problems within the

          response object's `errors` and `warnings` arrays. See the

          [JSON problems](doc:json-problem-responses)

          section for details on this error feedback. See

          [Fast validation, activation, and fallback](doc:fast-validation)

          for details on the delays this might avoid.
        required: true
        style: form
        explode: true
        schema:
          type: boolean
          example: true
      - name: validateMode
        in: query
        description: >-
          With `validateRules` enabled, setting this to `fast`

          performs a quick validation check based on the provided

          JSON. This is faster than the default `full` validation,

          which performs more extensive checks on the converted XML

          metadata configuration.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: full
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyId}}'
      - name: propertyVersion
        in: path
        description: (Required) Property's incremental version number.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyVersion}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    patch:
      tags:
      - rules
      summary: Patcharuletree
      description: >
        Selectively modify a rule tree using [JSON

        patch](http://jsonpatch.com) syntax. As a component of the

        larger [Bulk patch a set of properties](https://papi-akamai.readme.io/reference/bulkrules-patch-requests#post_bulk-rules-patch-requests), this

        operation patches an individual rule tree. See [Bulk Search

        and Update](doc:learn-about-bulk) for more information.

        To bypass a set of validation tests that may significantly

        slow this operation's execution time, set the `validateRules`

        query parameter to `false` or `validateMode` to `fast`. See

        [Fast validation, activation, and fallback](doc:fast-validation) for more

        information.
      operationId: Patcharuletree
      parameters:
      - name: contractId
        in: query
        description: >-
          Unique identifier for the contract.

          The parameter is optional if the property has been

          provisioned under only one contract.

          Otherwise you need to specify it along with the `groupId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Unique identifier for the group.

          The parameter is optional if the property has been

          provisioned under only one group.

          Otherwise you need to specify it along with the `contractId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: validateRules
        in: query
        description: >-
          Set to `true` by default. When `false`, skips validation

          tests that would identify potential problems within the

          response object's `errors` and `warnings` arrays. See the

          [JSON problems](doc:json-problem-responses)

          section for details on this error feedback. See

          [Fast validation, activation, and fallback](doc:fast-validation)

          for details on the delays this might avoid.
        required: true
        style: form
        explode: true
        schema:
          type: boolean
          example: true
      - name: validateMode
        in: query
        description: >-
          With `validateRules` enabled, setting this to `fast`

          performs a quick validation check based on the provided

          JSON. This is faster than the default `full` validation,

          which performs more extensive checks on the converted XML

          metadata configuration.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: full
      - name: dryRun
        in: query
        description: >-
          With `validateRules` also enabled, allows for a _dry run_ in

          order to gather any possible errors without saving the rule

          tree.
        required: true
        style: form
        explode: true
        schema:
          type: boolean
          example: false
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyId}}'
      - name: propertyVersion
        in: path
        description: (Required) Property's incremental version number.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyVersion}}'
      - name: If-Match
        in: header
        description: (Required)
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PatcharuletreeRequest'
              description: ''
              example:
              - op: replace
                path: /rules/options/is_secure
                value: true
              - op: replace
                path: /rules/children/0/name
                value: Handle /my-path
            example:
            - op: replace
              path: /rules/options/is_secure
              value: true
            - op: replace
              path: /rules/children/0/name
              value: Handle /my-path
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - rules
      summary: Updatearuletree
      description: >
        To write a rule tree to a property version, make a PUT request

        to the same resource as the GET request that reads it, passing

        in the rule object in the body of the request. See the

        [Rule Trees](doc:rule-trees)

        section for details on the rule tree's structure. Use this

        operation also to

        [freeze a set of rules](doc:freeze-a-rule-trees-feature-set)

        to a rule format version to ensure no change in a deployed

        activation's behavior. Set the `validateRules` query parameter

        to `false` to bypass a set of validation tests that may

        significantly slow this operation's execution time. See

        [Fast validation and activation](doc:fast-validation)

        for guidance on when to defer validation. See

        [JSON problems](doc:json-problem-responses)

        for information on how validation data is embedded within the

        response object.
      operationId: Updatearuletree
      parameters:
      - name: contractId
        in: query
        description: >-
          Unique identifier for the contract.

          The parameter is optional if the property has been

          provisioned under only one contract.

          Otherwise you need to specify it along with the `groupId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Unique identifier for the group.

          The parameter is optional if the property has been

          provisioned under only one group.

          Otherwise you need to specify it along with the `contractId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: validateRules
        in: query
        description: >-
          Set to `true` by default. When `false`, skips validation

          tests that would identify potential problems within the

          response object's `errors` and `warnings` arrays. See the

          [JSON problems](doc:json-problem-responses)

          section for details on this error feedback. See

          [Fast validation, activation, and fallback](doc:fast-validation)

          for details on the delays this might avoid.
        required: true
        style: form
        explode: true
        schema:
          type: boolean
          example: true
      - name: validateMode
        in: query
        description: >-
          With `validateRules` enabled, setting this to `fast`

          performs a quick validation check based on the provided

          JSON. This is faster than the default `full` validation,

          which performs more extensive checks on the converted XML

          metadata configuration.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: full
      - name: dryRun
        in: query
        description: >-
          With `validateRules` also enabled, allows for a _dry run_ in

          order to gather any possible errors without saving the rule

          tree.
        required: true
        style: form
        explode: true
        schema:
          type: boolean
          example: false
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyId}}'
      - name: propertyVersion
        in: path
        description: (Required) Property's incremental version number.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyVersion}}'
      - name: If-Match
        in: header
        description: (Required)
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/UpdatearuletreeRequest'
              - 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
            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
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /properties/{propertyId}/versions/{propertyVersion}:
    get:
      tags:
      - '{property Version}'
      summary: Getaversion
      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.
      operationId: Getaversion
      parameters:
      - name: contractId
        in: query
        description: >-
          Unique identifier for the contract.

          The parameter is optional if the property has been

          provisioned under only one contract.

          Otherwise you need to specify it along with the `groupId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Unique identifier for the group.

          The parameter is optional if the property has been

          provisioned under only one group.

          Otherwise you need to specify it along with the `contractId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyId}}'
      - name: propertyVersion
        in: path
        description: (Required) Property's incremental version number.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyVersion}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /properties/{propertyId}/versions/{propertyVersion}/available-behaviors:
    get:
      tags:
      - '{property Version}'
      summary: Listavailablebehaviors
      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.


        Note 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_schemas-products-productid-ruleformat), which includes behaviors you may potentially add to your contract for a given product, but that aren't currently active. However, it only lists behaviors _currently_ available on your contract, so you should only use it to list available behaviors for the current property version. If you had a behavior enabled at one time, but then dropped it from your contract, a list of available behaviors for an older property version might be inaccurate.
      operationId: Listavailablebehaviors
      parameters:
      - name: contractId
        in: query
        description: >-
          Unique identifier for the contract.

          The parameter is optional if the property has been

          provisioned under only one contract.

          Otherwise you need to specify it along with the `groupId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Unique identifier for the group.

          The parameter is optional if the property has been

          provisioned under only one group.

          Otherwise you need to specify it along with the `contractId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyId}}'
      - name: propertyVersion
        in: path
        description: (Required) Property's incremental version number.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyVersion}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /properties/{propertyId}/versions/{propertyVersion}/available-criteria:
    get:
      tags:
      - '{property Version}'
      summary: Listavailablecriteria
      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.


        Note 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-products-productid-ruleformat), which includes criteria you may potentially add to your contract for a given product, but that aren't currently active. However, it only lists criteria _currently_ available on your contract, so you should only use it to list available criteria for the current property version. If you had a behavior enabled at one time, but then dropped it from your contract, a list of available criteria for an older property version might be inaccurate.
      operationId: Listavailablecriteria
      parameters:
      - name: contractId
        in: query
        description: >-
          Unique identifier for the contract.

          The parameter is optional if the property has been

          provisioned under only one contract.

          Otherwise you need to specify it along with the `groupId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Unique identifier for the group.

          The parameter is optional if the property has been

          provisioned under only one group.

          Otherwise you need to specify it along with the `contractId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyId}}'
      - name: propertyVersion
        in: path
        description: (Required) Property's incremental version number.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyVersion}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /properties/{propertyId}/versions:
    get:
      tags:
      - versions
      summary: Listpropertyversions
      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).
      operationId: Listpropertyversions
      parameters:
      - name: contractId
        in: query
        description: >-
          Unique identifier for the contract.

          The parameter is optional if the property has been

          provisioned under only one contract.

          Otherwise you need to specify it along with the `groupId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Unique identifier for the group.

          The parameter is optional if the property has been

          provisioned under only one group.

          Otherwise you need to specify it along with the `contractId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: offset
        in: query
        description: >-
          For paginated responses, specifies the page of results to

          include, starting from `0`.
        required: true
        style: form
        explode: true
        schema:
          type: integer
          format: int32
          example: 96138151
      - name: limit
        in: query
        description: >-
          For paginated responses, specifies the number of results to

          include on each page.
        required: true
        style: form
        explode: true
        schema:
          type: integer
          format: int32
          example: 6823929
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    post:
      tags:
      - versions
      summary: Createanewpropertyversion
      description: >
        Create a new property version

        based on any previous version. All data from the

        `createFromVersion` populates the new version, including its

        rules and hostnames. Specify `createFromVersionEtag` if you

        want to ensure you're creating from a version that hasn't

        changed since you fetched it.
      operationId: Createanewpropertyversion
      parameters:
      - name: contractId
        in: query
        description: >-
          Unique identifier for the contract.

          The parameter is optional if the property has been

          provisioned under only one contract.

          Otherwise you need to specify it along with the `groupId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Unique identifier for the group.

          The parameter is optional if the property has been

          provisioned under only one group.

          Otherwise you need to specify it along with the `contractId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/CreateanewpropertyversionRequest'
              - example:
                  createFromVersion: 1
                  createFromVersionEtag: 2641910c585cf67b
            example:
              createFromVersion: 1
              createFromVersionEtag: 2641910c585cf67b
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /properties/{propertyId}/versions/latest:
    get:
      tags:
      - versions
      summary: Getthelatestversion
      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.
      operationId: Getthelatestversion
      parameters:
      - name: activatedOn
        in: query
        description: >-
          If present, returns the latest version activated on the

          given network, either `STAGING` or `PRODUCTION`.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: STAGING
      - name: contractId
        in: query
        description: >-
          Unique identifier for the contract.

          The parameter is optional if the property has been

          provisioned under only one contract.

          Otherwise you need to specify it along with the `groupId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Unique identifier for the group.

          The parameter is optional if the property has been

          provisioned under only one group.

          Otherwise you need to specify it along with the `contractId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /properties/{propertyId}:
    delete:
      tags:
      - '{property Id}'
      summary: Removeaproperty
      description: >
        Removes a specific property, which you can only do if none of

        its versions are currently active. Activating another

        property with the same set of hostnames automatically triggers

        a deactivation on the targeted property. See

        [Create a new activation](https://papi-akamai.readme.io/reference/propertiespropertyidactivations#post_properties-propertyid-activations) for details.

        A successful DELETE results in a 200 response with the link to

        the remaining properties for the given contract and group.

        Attempting to delete an active property results in a 500

        error. Attempting to delete an unknown property results in a

        404 error.
      operationId: Removeaproperty
      parameters:
      - name: contractId
        in: query
        description: >-
          Unique identifier for the contract.

          The parameter is optional if the property has been

          provisioned under only one contract.

          Otherwise you need to specify it along with the `groupId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Unique identifier for the group.

          The parameter is optional if the property has been

          provisioned under only one group.

          Otherwise you need to specify it along with the `contractId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{propertyId}}'
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    get:
      tags:
      - '{property Id}'
      summary: Getaproperty
      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).
      operationId: Getaproperty
      parameters:
      - name: contractId
        in: query
        description: >-
          Unique identifier for the contract.

          The parameter is optional if the property has been

          provisioned under only one contract.

          Otherwise you need to specify it along with the `groupId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          Unique identifier for the group.

          The parameter is optional if the property has been

          provisioned under only one group.

          Otherwise you need to specify it along with the `contractId`.

          (In other operations that don't specify a `propertyId` URL

          parameter, this parameter is always required.)

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: propertyId
        in: path
        description: >-
          (Required) Unique identifier for the property.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prp_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{proipertyId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /properties:
    get:
      tags:
      - properties
      summary: Listproperties
      description: >
        This operation lists properties available for the current contract and group.
      operationId: Listproperties
      parameters:
      - name: contractId
        in: query
        description: >-
          (Required) Unique identifier for the contract.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          (Required) Unique identifier for the group.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
    post:
      tags:
      - properties
      summary: Createorcloneaproperty
      description: >
        This operation either creates a new property from scratch, or

        bases one on another property's rule tree and optionally its set

        of assigned hostnames.


        When cloning with `copyHostnames` enabled, you can apply the

        same set of hostnames as the original property. Regardless,

        the new property clones the rule tree from the original,

        along with its assigned `ruleFormat`. Setting

        `cloneFromVersionEtag` allows you to perform an etags check

        to ensure the original property hasn't changed. See

        [Concurrency control](doc:concurrency-control) for guidance.


        Note that unlike a new property version, a property that you

        clone along with all of its hostnames can be activated

        independently of the property on which it was based. If you

        activate a property that specifies hostnames that are

        already active on another property, the other property

        automatically gets a new version activated without the

        common set of hostnames, or deactivated if all its hostnames

        are part of the new property.


        PAPI's ability to create and clone new properties means that

        you can design a system of rule templates targeted to

        specific domains, rather than maintain a single set of rules

        with conditional logic for your full range of

        domains. Maintaining properties manually within the Control

        Center interface limited you to that more consolidated

        approach, but PAPI allows you to deploy rules more

        efficiently. In either case, PAPI makes it much easier for

        you to support a large, flexible set of domains.
      operationId: Createorcloneaproperty
      parameters:
      - name: contractId
        in: query
        description: >-
          (Required) Unique identifier for the contract.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          (Required) Unique identifier for the group.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/CreateorcloneapropertyRequest'
              - example:
                  cloneFrom:
                    cloneFromVersionEtag: a9dfe78cf93090516bde891d009eaf57
                    copyHostnames: true
                    propertyId: prp_175780
                    version: 2
                  productId: prd_Alta
                  propertyName: my.new.property.com
            example:
              cloneFrom:
                cloneFromVersionEtag: a9dfe78cf93090516bde891d009eaf57
                copyHostnames: true
                propertyId: prp_175780
                version: 2
              productId: prd_Alta
              propertyName: my.new.property.com
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /schemas/products/{productId}/{ruleFormat}:
    get:
      tags:
      - schemas
      summary: Getaruleformat'sschema
      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-behaviors) and [List available criteria](https://papi-akamai.readme.io/reference/propertiespropertyidversionspropertyversionavailable-criteria#get_properties-propertyid-versions-propertyversion-available-criteria).
      operationId: Getaruleformat'sschema
      parameters:
      - name: productId
        in: path
        description: >-
          (Required) Unique identifier for the product.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `prd_` prefix.
        required: true
        style: simple
        schema:
          type: string
          example: '{{productId}}'
      - name: ruleFormat
        in: path
        description: >-
          (Required) Name of the rule format, either one frozen to a specific

          date, or representing the `latest` set of behaviors and

          criteria.
        required: true
        style: simple
        schema:
          type: string
          example: '{{ruleFormat}}'
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /schemas/request/{filename}:
    get:
      tags:
      - schemas
      summary: Getarequest'sschema
      description: >
        Fetch the JSON schema for a particular request. These are typically linked from error messages about schema mismatches.
      operationId: Getarequest'sschema
      parameters:
      - name: filename
        in: path
        description: (Required) Schema's filename.
        required: true
        style: simple
        schema:
          type: string
          example: '{{filename}}'
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /build:
    get:
      tags:
      - papi/v1
      summary: Getbuilddetails
      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.
      operationId: Getbuilddetails
      parameters: []
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /contracts:
    get:
      tags:
      - papi/v1
      summary: Listcontracts
      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.
      operationId: Listcontracts
      parameters:
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /debug/client-info:
    get:
      tags:
      - papi/v1
      summary: GETdebug-client-info
      description: ''
      operationId: GETdebug-client-info
      parameters: []
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /groups:
    get:
      tags:
      - papi/v1
      summary: Listgroups
      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_features/identity_management_user_admin/v2.html) allows you to associate properties with groups, and to modify the group hierarchy.  SIERRA TEST: See [ID prefixes](doc:id-prefixes). Links to guide doc work!
      operationId: Listgroups
      parameters:
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /rule-formats:
    get:
      tags:
      - papi/v1
      summary: Listruleformats
      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://papi-akamai.readme.io/reference/schemasproductsproductidruleformat#get_schemas-products-productid-ruleformat).
      operationId: Listruleformats
      parameters:
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /search/find-by-value:
    post:
      tags:
      - papi/v1
      summary: Searchproperties
      description: >
        This operation searches properties by name, or by the

        hostname or edge hostname for which it's currently

        active. Specify a [Search](#search) request object with a

        single query member. The response lists the matching set of

        currently active property versions, and also the latest

        version if inactive. Each of the response's

        [Version](#version) objects features additional context for

        the property in which it appears, or the account, contract,

        or group under which the property was provisioned. Note that

        to perform more complex searches for content within a rule

        tree, run [Bulk search a set of

        properties](https://papi-akamai.readme.io/reference/bulkrules-search-requests#post_bulk-rules-search-requests) instead. Does <<portal_name>>

        work? No.
      operationId: Searchproperties
      parameters:
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/SearchpropertiesRequest'
              - example:
                  propertyName: www.example.com_pm
            example:
              propertyName: www.example.com_pm
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
  /validate/rules:
    post:
      tags:
      - papi/v1
      summary: Validateruleswithoutpersistence
      description: >
        Operation is Akamai-internal.
      operationId: Validateruleswithoutpersistence
      parameters:
      - name: contractId
        in: query
        description: >-
          (Required) Unique identifier for the contract.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `ctr_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{contractId}}'
      - name: groupId
        in: query
        description: >-
          (Required) Unique identifier for the group.

          See [ID prefixes](doc:id-prefixes)

          for details on omitting the value's `grp_` prefix.
        required: true
        style: form
        explode: true
        schema:
          type: string
          example: '{{groupId}}'
      - name: PAPI-Use-Prefixes
        in: header
        description: (Required) Sets whether to display three-letter prefixes in various ID values in response data. This may override the client's default `usePrefixes` setting. See [ID Prefixes](doc:id-prefixes).
        required: true
        style: simple
        schema:
          type: string
          example: adipisicing anim et pariatur
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ValidateruleswithoutpersistenceRequest'
              - example:
                  productId: eu fugiat officia magna consectetur
                  propertyName: cupidatat ve
                  cloneFrom:
                    propertyId: aliqua magna
                    version: 53238157
                    copyHostnames: false
                  ruleFormat: qui reprehenderit sint
                  rules: {}
            example:
              productId: eu fugiat officia magna consectetur
              propertyName: cupidatat ve
              cloneFrom:
                propertyId: aliqua magna
                version: 53238157
                copyHostnames: false
              ruleFormat: qui reprehenderit sint
              rules: {}
        required: true
      responses:
        '200':
          description: ''
          headers: {}
          content: {}
      deprecated: false
components:
  schemas:
    BulkactivateasetofpropertiesRequest:
      title: BulkactivateasetofpropertiesRequest
      required:
      - activatePropertyVersions
      - defaultActivationSettings
      type: object
      properties:
        activatePropertyVersions:
          type: array
          items:
            $ref: '#/components/schemas/ActivatePropertyVersion'
          description: ''
        defaultActivationSettings:
          allOf:
          - $ref: '#/components/schemas/DefaultActivationSettings'
          - 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
    ActivatePropertyVersion:
      title: ActivatePropertyVersion
      required:
      - network
      - note
      - propertyId
      - propertyVersion
      type: object
      properties:
        network:
          type: string
        note:
          type: string
        propertyId:
          type: string
        propertyVersion:
          type: integer
          format: int32
        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
    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
    BulkversionasetofpropertiesRequest:
      title: BulkversionasetofpropertiesRequest
      required:
      - createPropertyVersions
      type: object
      properties:
        createPropertyVersions:
          type: array
          items:
            $ref: '#/components/schemas/CreatePropertyVersion'
          description: ''
      example:
        createPropertyVersions:
        - createFromVersion: 1
          createFromVersionEtag: 2641910c585cf67b
          propertyId: prp_1
        - createFromVersion: 2
          createFromVersionEtag: 343410c585cf67fc
          propertyId: prp_15
        - createFromVersion: 10
          createFromVersionEtag: 6c7v5c65c6cvcv65
          propertyId: prp_3
    CreatePropertyVersion:
      title: CreatePropertyVersion
      required:
      - createFromVersion
      - createFromVersionEtag
      - propertyId
      type: object
      properties:
        createFromVersion:
          type: integer
          format: int32
        createFromVersionEtag:
          type: string
        propertyId:
          type: string
      example:
        createFromVersion: 1
        createFromVersionEtag: 2641910c585cf67b
        propertyId: prp_1
    BulkpatchasetofpropertiesRequest:
      title: BulkpatchasetofpropertiesRequest
      required:
      - patchPropertyVersions
      type: object
      properties:
        patchPropertyVersions:
          type: array
          items:
            $ref: '#/components/schemas/PatchPropertyVersion'
          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
    PatchPropertyVersion:
      title: PatchPropertyVersion
      required:
      - etag
      - patches
      - propertyId
      - propertyVersion
      type: object
      properties:
        etag:
          type: string
        patches:
          type: array
          items:
            $ref: '#/components/schemas/Patch'
          description: ''
        propertyId:
          type: string
        propertyVersion:
          type: integer
          format: int32
      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
    Patch:
      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
    BulksearchasetofpropertiesRequest:
      title: BulksearchasetofpropertiesRequest
      required:
      - bulkSearchQuery
      type: object
      properties:
        bulkSearchQuery:
          allOf:
          - $ref: '#/components/schemas/BulkSearchQuery'
          - 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
    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
    SynchronouslybulksearchasetofpropertiesRequest:
      title: SynchronouslybulksearchasetofpropertiesRequest
      required:
      - bulkSearchQuery
      type: object
      properties:
        bulkSearchQuery:
          allOf:
          - $ref: '#/components/schemas/BulkSearchQuery'
          - 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
    UpdateclientsettingsRequest:
      title: UpdateclientsettingsRequest
      required:
      - ruleFormat
      - usePrefixes
      type: object
      properties:
        ruleFormat:
          type: string
        usePrefixes:
          type: boolean
      example:
        ruleFormat: v2015-08-08
        usePrefixes: true
    CreateanewCPcodeRequest:
      title: CreateanewCPcodeRequest
      required:
      - cpcodeName
      - productId
      type: object
      properties:
        cpcodeName:
          type: string
        productId:
          type: string
      example:
        cpcodeName: SME WAA
        productId: prd_Web_App_Accel
    CreateanewcustombehaviorRequest:
      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
        displayName: Multiple Domain Configuration
        name: mdc
        sharingLevel: ACCOUNT
        xml: <comment:info>This is where the Metadata goes</comment:info>
    CreateanewcustomoverrideRequest:
      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
        displayName: Multiple Domain Configuration
        name: mdc
        sharingLevel: ACCOUNT
        xml: <comment:info>This is where the Metadata goes</comment:info>
    CreateanewedgehostnameRequest:
      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:
            $ref: '#/components/schemas/UseCase'
          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
    UseCase:
      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
    CreateanewactivationordeactivationRequest:
      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
          format: int32
        useFastFallback:
          type: boolean
      example:
        acknowledgeWarnings:
        - msg_baa4560881774a45b5fd25f5b1eab021d7c40b4f
        network: STAGING
        note: Sample activation
        notifyEmails:
        - you@example.com
        - them@example.com
        propertyVersion: 1
        useFastFallback: false
    UpdateapropertyshostnamesRequest:
      title: UpdateapropertyshostnamesRequest
      required:
      - cnameFrom
      - cnameType
      type: object
      properties:
        cnameFrom:
          type: string
        cnameTo:
          type: string
        cnameType:
          type: string
        edgeHostnameId:
          type: string
      example:
        cnameFrom: m.example.com
        cnameTo: example.com.edgesuite.net
        cnameType: EDGE_HOSTNAME
    PatcharuletreeRequest:
      title: PatcharuletreeRequest
      required:
      - op
      - path
      - value
      type: object
      properties:
        op:
          type: string
        path:
          type: string
        value:
          oneOf:
          - type: boolean
          - type: string
      example:
        op: replace
        path: /rules/options/is_secure
        value: true
    UpdatearuletreeRequest:
      title: UpdatearuletreeRequest
      required:
      - rules
      type: object
      properties:
        rules:
          allOf:
          - $ref: '#/components/schemas/Rules'
          - 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
    Rules:
      title: Rules
      required:
      - children
      - name
      type: object
      properties:
        children:
          type: array
          items:
            $ref: '#/components/schemas/Child'
          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
    Child:
      title: Child
      required:
      - behaviors
      - criteria
      - criteriaMustSatisfy
      - name
      type: object
      properties:
        behaviors:
          type: array
          items:
            $ref: '#/components/schemas/Behavior'
          description: ''
        criteria:
          type: array
          items:
            $ref: '#/components/schemas/Criterion'
          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
    Behavior:
      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
    Criterion:
      title: Criterion
      required:
      - name
      - value
      type: object
      properties:
        name:
          type: string
        value:
          type: array
          items:
            type: string
          description: ''
      example:
        name: path
        value:
        - /my-path
    CreateanewpropertyversionRequest:
      title: CreateanewpropertyversionRequest
      required:
      - createFromVersion
      - createFromVersionEtag
      type: object
      properties:
        createFromVersion:
          type: integer
          format: int32
        createFromVersionEtag:
          type: string
      example:
        createFromVersion: 1
        createFromVersionEtag: 2641910c585cf67b
    CreateorcloneapropertyRequest:
      title: CreateorcloneapropertyRequest
      required:
      - cloneFrom
      - productId
      - propertyName
      type: object
      properties:
        cloneFrom:
          allOf:
          - $ref: '#/components/schemas/CloneFrom'
          - 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
    CloneFrom:
      title: CloneFrom
      required:
      - cloneFromVersionEtag
      - copyHostnames
      - propertyId
      - version
      type: object
      properties:
        cloneFromVersionEtag:
          type: string
        copyHostnames:
          type: boolean
        propertyId:
          type: string
        version:
          type: integer
          format: int32
      example:
        cloneFromVersionEtag: a9dfe78cf93090516bde891d009eaf57
        copyHostnames: true
        propertyId: prp_175780
        version: 2
    SearchpropertiesRequest:
      title: SearchpropertiesRequest
      required:
      - propertyName
      type: object
      properties:
        propertyName:
          type: string
      example:
        propertyName: www.example.com_pm
    ValidateruleswithoutpersistenceRequest:
      title: ValidateruleswithoutpersistenceRequest
      required:
      - productId
      - propertyName
      - cloneFrom
      - ruleFormat
      - rules
      type: object
      properties:
        productId:
          type: string
        propertyName:
          type: string
        cloneFrom:
          allOf:
          - $ref: '#/components/schemas/CloneFrom1'
          - 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: {}
    CloneFrom1:
      title: CloneFrom1
      required:
      - propertyId
      - version
      - copyHostnames
      type: object
      properties:
        propertyId:
          type: string
        version:
          type: integer
          format: int32
        copyHostnames:
          type: boolean
      example:
        propertyId: aliqua magna
        version: 53238157
        copyHostnames: false
tags:
- name: activations
- name: property-version-creations
- name: rules-patch-requests
- name: rules-search-requests
- name: bulk
- name: client-settings
- name: cpcodes
- name: '{behavior Id}'
- name: custom-behaviors
- name: '{override Id}'
- name: custom-overrides
- name: edgehostnames
- name: products
- name: '{activation Id}'
- name: hostnames
- name: rules
- name: '{property Version}'
- name: versions
- name: '{property Id}'
- name: properties
- name: schemas
- name: papi/v1
