openapi: 3.0.0 info: title: 'Akamai: API Endpoint Definition Access tokens Bulk patch API' version: '2' license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html servers: - url: https://{hostname}/api-definitions/v2 tags: - name: Bulk patch paths: /bulk/rules-patch-requests: x-akamai: file-path: paths/bulk-patches.yaml path-for-file: /bulk/rules-patch-requests x-akamai-descriptor-tools: displayName: bulkPatch group: Bulk patch post: 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://techdocs.akamai.com/property-mgr/reference/post-bulk-search) response. Specify a set of new property versions based on the results of a [bulk versioning](https://techdocs.akamai.com/property-mgr/reference/post-bulk-version) operation. The request is a bulk patch object. This operation launches an asynchronous process to update rule trees. To check its progress, run the [List bulk-updated properties](https://techdocs.akamai.com/property-mgr/reference/get-bulk-patch) operation, whose link is available in the `Location` header or `bulkPatchLink` member of this operation's response. See [Bulk Search and Update](https://techdocs.akamai.com/property-mgr/reference/bulk-search-and-update) for overall guidance on this feature. operationId: post-bulk-patch summary: Akamai Bulk Patch a Set of Properties tags: - Bulk patch externalDocs: description: See documentation for this operation in Akamai's Property Manager API url: https://techdocs.akamai.com/property-mgr/reference/post-bulk-patch requestBody: required: true content: application/json: example: patchPropertyVersions: - etag: a87v5c65c6821bc propertyId: prp_1 propertyVersion: 1 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' - etag: 6c7v5c65c6cvcv65 propertyId: prp_15 propertyVersion: 2 patches: - op: replace path: /rules/children/1/children/0/features/1/enabled value: 'on' - etag: 1f8903bcde2f3 propertyId: prp_3 propertyVersion: 10 patches: - op: replace path: /rules/children/0/children/1/children/2/features/1/enabled value: 'on' schema: $schema: http://json-schema.org/draft-04/schema# description: Encapsulates customized JSON patch instructions to run on a set of JSON path locations within various property versions' rule trees. See [Bulk Search and Update](https://techdocs.akamai.com/property-mgr/reference/bulk-search-and-update) for guidance on this feature. id: resource:/descriptors/papi/v1/schemas/CreateNewBulkPatchRequestV0.json# javaType: com.akamai.devops.model.BulkPatchRequest type: object required: - patchPropertyVersions properties: patchPropertyVersions: description: Specifies JSON patch instructions to modify each property version. type: array items: type: object required: - propertyId - propertyVersion - patches properties: etag: description: A digest with which to check the data's integrity. See [Concurrency control](https://techdocs.akamai.com/property-mgr/reference/concurrency-control) for guidance. type: string patches: description: A series of JSON Patch operations. type: array items: description: A JSON Patch operation. oneOf: - title: Replace type: object required: - op - path - value properties: op: description: 'The operation to perform: `replace`, `add`, or `test` in this case.' enum: - replace - add - test path: description: A JSON Path expression that locates the data to replace. pattern: ^(/[^/~]*(~[01][^/~]*)*)*$ type: string - title: Remove type: object required: - op - path properties: op: description: 'The operation to perform: `remove` in this case.' enum: - remove path: description: A JSON Path expression that locates the data to remove. pattern: ^(/[^/~]*(~[01][^/~]*)*)*$ type: string propertyId: description: Identifies the property for this version. See [Data conventions](https://techdocs.akamai.com/property-mgr/reference/data-conventions) for details on how to omit the ID's `prp_` prefix. Don't use this value if you want to exchange data with the Identity and Access Manager API. See [Manage properties and includes](https://techdocs.akamai.com/iam-api/reference/manage-access-to-properties-and-includes). pattern: ^(prp_|PRP_)?[0-9]+$ type: string propertyVersion: description: A positive integer identifying the incremental version. minimum: 1 type: integer x-akamai: file-path: schemas/bulk-patch-create-request.yaml responses: '202': description: The response links the bulk patch process. content: application/json: example: bulkPatchLink: /papi/v0/bulk/rules-patch-requests/42 schema: $schema: http://json-schema.org/draft-04/schema# additionalProperties: false description: Provides a hypermedia link to a newly created resource. The response's single member name indicates the type of resource. id: resource:/descriptors/papi/v1/schemas/PostBulkPatchResponse.json# type: object required: - bulkPatchLink properties: bulkPatchLink: description: Links the newly created bulk patch process. type: string x-akamai: file-path: schemas/bulk-patch-post-response.yaml headers: Location: description: Provides a URL path you can GET the newly created resource from. schema: type: string x-akamai: file-path: headers/Location.yaml '400': description: '[Bad request](https://techdocs.akamai.com/property-mgr/reference/400).' content: application/problem+json: example: detail: The system cannot understand your request. Please check the syntax and correct any problems. instance: /papi/v1/properties?contractId=ctr_C-0N7RAC7&groupId=grp_12345#abc12345abcc02a7 status: 400 title: Bad Request type: https://problems.luna.akamaiapis.net/papi/v0/http/bad-request schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem.yaml x-akamai: file-path: errors/400.yaml '401': description: '[Unauthorized](https://techdocs.akamai.com/property-mgr/reference/401).' content: application/problem+json: example: detail: The request requires authentication. instance: /papi/v1/properties?contractId=ctr_C-0N7RAC7&groupId=grp_12345#abc12345abcc02a7 status: 401 title: Unauthorized type: https://problems.luna.akamaiapis.net/papi/v0/http/unauthorized schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem.yaml x-akamai: file-path: errors/401.yaml '403': description: '[Forbidden](https://techdocs.akamai.com/property-mgr/reference/403).' content: application/problem+json: example: detail: The authorization token you provided does not allow access to this resource. instance: /papi/v1/properties?contractId=ctr_C-0N7RAC7&groupId=grp_12345#abc12345abcc02a7 status: 403 title: Forbidden type: https://problems.luna.akamaiapis.net/papi/v1/http/forbidden schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem.yaml x-akamai: file-path: errors/403.yaml '404': description: '[Not found](https://techdocs.akamai.com/property-mgr/reference/404).' content: application/problem+json: example: detail: The system was unable to locate the requested resource. instance: /papi/v1/properties?contractId=ctr_C-0N7RAC7&groupId=grp_12345#abc12345abcc02a7 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/papi/v1/http/not-found schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem.yaml x-akamai: file-path: errors/404.yaml '405': description: '[Method not allowed](https://techdocs.akamai.com/property-mgr/reference/405).' content: application/problem+json: example: detail: The system does not support the method you provided for this resource. instance: /papi/v1/properties?contractId=ctr_C-0N7RAC7&groupId=grp_12345#abc12345abcc02a7 status: 405 title: Method not allowed type: https://problems.luna.akamaiapis.net/papi/v1/http/method-not-allowed schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem.yaml x-akamai: file-path: errors/405.yaml '406': description: '[Not acceptable](https://techdocs.akamai.com/property-mgr/reference/406).' content: application/problem+json: example: detail: The system does not support the content-type restrictions provided by your 'Accept' header. instance: papi/v1/build#abc12345abcc02a7 status: 406 title: Not Acceptable type: https://problems.luna.akamaiapis.net/papi/v1/http/not-acceptable schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem.yaml x-akamai: file-path: errors/406.yaml '415': description: '[Unsupported media type](https://techdocs.akamai.com/property-mgr/reference/415).' content: application/problem+json: example: detail: Our system does not support requests in the format you're sending. instance: /papi/v1/properties?contractId=ctr_C-0N7RAC7&groupId=grp_12345#abc12345abcc02a7 status: 415 title: Unsupported Media Type type: https://problems.luna.akamaiapis.net/papi/v1/http/unsupported-media-type schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem.yaml x-akamai: file-path: errors/415.yaml '429': description: '[Too many requests](https://techdocs.akamai.com/property-mgr/reference/429).' content: application/problem+json: example: detail: Too many includes exist on contract ctr_1-12345. You must delete an include before continuing. instance: /papi/v1/includes?contractId=ctr_C-0N7RAC7&groupId=grp_12345#abc12345abcc02a7 instanceKey: 1-12345 limit: 500 limitKey: INCLUDES_PER_CONTRACT remaining: 0 status: 429 title: Too many includes type: https://problems.luna.akamaiapis.net/papi/v1/limit-exceeded schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance - limitKey - instanceKey - limit - remaining properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string instanceKey: description: Identifies the resource the limit is imposed on. minLength: 1 type: string limit: description: The overall limit. type: integer limitKey: description: The limit that got exceeded with the operation. minLength: 1 type: string remaining: description: Number of items left to deploy. type: integer status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-429.yaml x-akamai: file-path: errors/429.yaml '500': description: '[Internal server error](https://techdocs.akamai.com/property-mgr/reference/500).' content: application/problem+json: example: detail: Our system is experiencing errors. We''ll get this fixed as soon as possible. instance: /papi/v1/properties/12345/activations#abc12345abcc02a7 status: 500 title: Internal Server Error type: https://problems.luna.akamaiapis.net/papi/proxy/internal-server-error schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem.yaml x-akamai: file-path: errors/500.yaml parameters: - description: __Enum__ Sets whether to represent [ID prefixes](https://techdocs.akamai.com/property-mgr/reference/id-prefixes) in response data. Set to `false` when exchanging PAPI data with other APIs. example: '{{PAPI-Use-Prefixes}}' in: header name: PAPI-Use-Prefixes required: true schema: example: 'false' type: string enum: - 'true' - 'false' x-akamai: file-path: parameters/PAPI-Use-Prefixes-header.yaml - description: Optionally filters bulk searches to properties created under the specified contract. For bulk operations, you can specify `contractId` and `groupId` independently from each other. example: '{{contractId}}' in: query name: contractId required: false schema: example: ctr_1-1TJZFW type: string x-akamai: file-path: parameters/contractId-optional-bulk.yaml - description: Optionally filters bulk searches to properties created under the specified group. For bulk operations, you can specify `contractId` and `groupId` independently from each other. example: '{{groupId}}' in: query name: groupId required: false schema: example: grp_15166 type: string x-akamai: file-path: parameters/groupId-optional-bulk.yaml - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). example: '{{accountSwitchKey}}' in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string /bulk/rules-patch-requests/{bulkPatchId}: x-akamai: file-path: paths/bulk-patch.yaml path-for-file: /bulk/rules-patch-requests/{bulkPatchId} x-akamai-descriptor-tools: displayName: bulkPatches group: Bulk patch parameters: - description: Identifies each bulk patch job. example: '{{bulkPatchId}}' in: path name: bulkPatchId required: true schema: example: 7 type: integer x-akamai: file-path: parameters/bulkPatchId-path.yaml get: description: List all modified property versions that result from a [bulk patch](https://techdocs.akamai.com/property-mgr/reference/post-bulk-patch) request. This operation polls the asynchronous process's status. 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://techdocs.akamai.com/property-mgr/reference/post-bulk-activations) them. See [Bulk Search and Update](https://techdocs.akamai.com/property-mgr/reference/bulk-search-and-update) for overall guidance on this feature. operationId: get-bulk-patch summary: Akamai List Bulk-patched Properties tags: - Bulk patch externalDocs: description: See documentation for this operation in Akamai's Property Manager API url: https://techdocs.akamai.com/property-mgr/reference/get-bulk-patch responses: '200': description: The response shows the bulk update job, which proceeds until the `bulkPatchStatus` is `COMPLETE`. content: application/json: example: bulkPatchId: 7 bulkPatchStatus: COMPLETE bulkPatchSubmitDate: '2018-01-18T00:00:00Z' bulkPatchUpdateDate: '2018-01-18T01:00:00Z' patchPropertyVersions: - etag: a9dfe78cf93090516bde891d009eaf57 patchPropertyId: prp_1 patchPropertyVersion: 2 patchPropertyVersionStatus: COMPLETE patchSubmitDate: '2018-01-18T00:00:00Z' patchUpdateDate: '2018-01-18T00:00:00Z' propertyVersionRulesLink: /papi/v1/properties/prp_1/versions/1/rules papiErrors: - detail: The Verification Settings option on the `Origin Server` behavior is required. errorLocation: '#/rules/behaviors/0/options/verificationMode' instance: https://control.sqa2.qa.akamai.com/papi/v0/bulk/activations/1?contractId=ctr_C-0N7RAC7&groupId=grp_15225#853080b7-e411-432d-99ae-967e56b50d72 title: Attribute not specified type: https://problems.luna.akamaiapis.net/papi/v0/validation/attribute_required papiWarnings: - detail: The CP Code within `Content Provider Code` isn't configured for use with the product used by this property, Dynamic Site Accelerator. Traffic for this property might not show up under the correct traffic reports. errorLocation: '#/rules/behaviors/1/options/value' instance: https://control.sqa2.qa.akamai.com/papi/v0/bulk/activations/1?contractId=ctr_C-0N7RAC7&groupId=grp_15225#853080b7-e411-432d-99ae-967e56b50d72 title: Unstable rule format type: https://problems.luna.akamaiapis.net/papi/v0/validation/product_behavior_issue.cpcode_incorrect_product 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' - fatalError: BAD SYNTAX UNABLE TO SAVE patchPropertyId: prp_15 patchPropertyVersion: 3 patchPropertyVersionStatus: SUBMISSION_ERROR patchSubmitDate: '2018-01-18T00:00:00Z' patchUpdateDate: '2018-01-18T00:00:00Z' patches: - op: replace path: /rules/children/1/children/0/features/1/enabled value: 'on' - etag: a9dfe78cf93090516bde891d009eaf57 patchPropertyId: prp_3 patchPropertyVersion: 11 patchPropertyVersionStatus: COMPLETE patchSubmitDate: '2018-01-18T00:00:00Z' patchUpdateDate: '2018-01-18T00:00:00Z' propertyVersionRulesLink: /papi/v1/properties/prp_3/versions/1/rules patches: - op: replace path: /rules/children/0/children/1/children/2/features/1/enabled value: 'on' schema: $schema: http://json-schema.org/draft-04/schema# additionalProperties: false description: Encapsulates customized JSON patch instructions to run on a set of JSON path locations within various property versions' rule trees. See [Bulk Search and Update](https://techdocs.akamai.com/property-mgr/reference/bulk-search-and-update) for guidance on this feature. id: resource:/descriptors/papi/v1/schemas/GetBulkPatchResponse.json# type: object required: - bulkPatchId - bulkPatchStatus - bulkPatchSubmitDate - patchPropertyVersions properties: bulkPatchId: description: Identifies each bulk patch process. minimum: 1 type: integer bulkPatchStatus: description: Reflects the status of the entire bulk update request, either `PENDING`, `IN_PROGRESS`, or `COMPLETE`. type: string enum: - PENDING - COMPLETE - IN_PROGRESS bulkPatchSubmitDate: description: An ISO 8601 timestamp indicating when you first made the bulk patch request. type: string bulkPatchUpdateDate: description: An ISO 8601 timestamp indicating when any of the property versions `status` value last changed. type: string message: description: A notification in case the bulk request repeatedly fails to process. type: string patchPropertyVersions: description: Specifies JSON patch instructions to modify each property version. type: array items: additionalProperties: false type: object required: - patchPropertyId - patchPropertyVersion - patches properties: etag: description: When specified as part of the bulk patch request, this property doesn't update if someone else has modified the property since you got the value. See [Concurrency control](https://techdocs.akamai.com/property-mgr/reference/concurrency-control) for guidance on this feature. type: string fatalError: description: Indicates an error that prevented this property version from updating. For example, malformed JSON Patch instructions or resulting rule tree data formatting. This type of error isn't the same as the `papiErrors` you're allowed to save on a property version, but not to activate. type: string papiErrors: description: Validation errors resulting from the bulk update. Errors prevent you from including this property version in a bulk activation. These are the same type of validation errors that PAPI saves in a property version, not to be confused with a `fatalError` that prevents it from being saved. minItems: 0 type: array items: additionalProperties: false type: object properties: detail: description: Provides context for the problem that triggered the error. type: string errorLocation: description: A JSON Path expression that locates the rule tree node where the problem occurred. type: string instance: description: A URI that identifies each error's occurrence. Possibly useful when communicating with Akamai customer support. type: string title: description: A descriptive label for each type of error. type: string type: description: A URI that identifies each error case. See the [Errors](https://techdocs.akamai.com/property-mgr/reference/api-errors) section for details on each. type: string papiWarnings: description: Lists any validation warnings resulting from the bulk update. You need to acknowledge them when bulk-activating property versions. minItems: 0 type: array items: additionalProperties: false type: object properties: detail: description: Provides context for the problem that triggered the warning. type: string errorLocation: description: A JSON Path expression that locates the rule tree node where the problem occurred. type: string instance: description: A URI that identifies each warning's occurrence. Possibly useful when communicating with Akamai customer support. type: string title: description: A descriptive label for each type of warning. type: string type: description: A URI that identifies each warning case. See the [Errors](https://techdocs.akamai.com/property-mgr/reference/api-errors) section for details on each. type: string patchPropertyId: description: Identifies the property you want to modify as part of the bulk patch. type: string patchPropertyVersion: description: The version of the property you want to modify as part of the bulk patch. minimum: 1 type: integer patchPropertyVersionStatus: description: Indicates progress for the update to this property version's rule tree, either `PENDING`, `SUBMITTED`, `IN_PROGRESS`, or `COMPLETE` for success. A `SUBMISSION_ERROR` typically indicates that replacement values caused a schema violation, not a new set of `errors` that you'd ordinarily be able to save on rule trees. A value of `INTERRUPTED` indicates a server error. type: string enum: - PENDING - SUBMITTED - IN_PROGRESS - COMPLETE - INTERRUPTED - SUBMISSION_ERROR patchSubmitDate: description: An ISO 8601 timestamp indicating when the request to modify this property version's rule tree occurred. type: string patchUpdateDate: description: An ISO 8601 timestamp indicating when this property version's `status` last changed. Usually, it also indicates when the update completed. type: string patches: description: Represents each instruction to modify part of a rule tree. type: array items: additionalProperties: false type: object required: - op - path - value properties: op: description: The JSON Patch operation to perform, either `replace`, `add`, `remove`, or `test`. For various techniques to use these operations, see [Bulk Search and Update](https://techdocs.akamai.com/property-mgr/reference/bulk-search-and-update). type: string enum: - replace - add - remove - test path: description: A JSONPath expression that locates the value to replace within the rule tree. type: string value: description: Specifies the replacement value. This needs to correspond to the original matched value's data type, otherwise the rule tree fails to update. anyOf: - title: String value type: string - title: Numeric value type: number - title: Boolean value type: boolean propertyVersionRulesLink: description: An API hypermedia link to get specific rule trees after they're updated. type: string x-akamai: file-path: schemas/bulk-patch-get-response.yaml '400': description: '[Bad request](https://techdocs.akamai.com/property-mgr/reference/400).' content: application/problem+json: example: detail: The system cannot understand your request. Please check the syntax and correct any problems. instance: /papi/v1/properties?contractId=ctr_C-0N7RAC7&groupId=grp_12345#abc12345abcc02a7 status: 400 title: Bad Request type: https://problems.luna.akamaiapis.net/papi/v0/http/bad-request schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem.yaml x-akamai: file-path: errors/400.yaml '401': description: '[Unauthorized](https://techdocs.akamai.com/property-mgr/reference/401).' content: application/problem+json: example: detail: The request requires authentication. instance: /papi/v1/properties?contractId=ctr_C-0N7RAC7&groupId=grp_12345#abc12345abcc02a7 status: 401 title: Unauthorized type: https://problems.luna.akamaiapis.net/papi/v0/http/unauthorized schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem.yaml x-akamai: file-path: errors/401.yaml '403': description: '[Forbidden](https://techdocs.akamai.com/property-mgr/reference/403).' content: application/problem+json: example: detail: The authorization token you provided does not allow access to this resource. instance: /papi/v1/properties?contractId=ctr_C-0N7RAC7&groupId=grp_12345#abc12345abcc02a7 status: 403 title: Forbidden type: https://problems.luna.akamaiapis.net/papi/v1/http/forbidden schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem.yaml x-akamai: file-path: errors/403.yaml '404': description: '[Not found](https://techdocs.akamai.com/property-mgr/reference/404).' content: application/problem+json: example: detail: The system was unable to locate the requested resource. instance: /papi/v1/properties?contractId=ctr_C-0N7RAC7&groupId=grp_12345#abc12345abcc02a7 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/papi/v1/http/not-found schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem.yaml x-akamai: file-path: errors/404.yaml '405': description: '[Method not allowed](https://techdocs.akamai.com/property-mgr/reference/405).' content: application/problem+json: example: detail: The system does not support the method you provided for this resource. instance: /papi/v1/properties?contractId=ctr_C-0N7RAC7&groupId=grp_12345#abc12345abcc02a7 status: 405 title: Method not allowed type: https://problems.luna.akamaiapis.net/papi/v1/http/method-not-allowed schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem.yaml x-akamai: file-path: errors/405.yaml '406': description: '[Not acceptable](https://techdocs.akamai.com/property-mgr/reference/406).' content: application/problem+json: example: detail: The system does not support the content-type restrictions provided by your 'Accept' header. instance: papi/v1/build#abc12345abcc02a7 status: 406 title: Not Acceptable type: https://problems.luna.akamaiapis.net/papi/v1/http/not-acceptable schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem.yaml x-akamai: file-path: errors/406.yaml '429': description: '[Too many requests](https://techdocs.akamai.com/property-mgr/reference/429).' content: application/problem+json: example: detail: Too many includes exist on contract ctr_1-12345. You must delete an include before continuing. instance: /papi/v1/includes?contractId=ctr_C-0N7RAC7&groupId=grp_12345#abc12345abcc02a7 instanceKey: 1-12345 limit: 500 limitKey: INCLUDES_PER_CONTRACT remaining: 0 status: 429 title: Too many includes type: https://problems.luna.akamaiapis.net/papi/v1/limit-exceeded schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance - limitKey - instanceKey - limit - remaining properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string instanceKey: description: Identifies the resource the limit is imposed on. minLength: 1 type: string limit: description: The overall limit. type: integer limitKey: description: The limit that got exceeded with the operation. minLength: 1 type: string remaining: description: Number of items left to deploy. type: integer status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-429.yaml x-akamai: file-path: errors/429.yaml '500': description: '[Internal server error](https://techdocs.akamai.com/property-mgr/reference/500).' content: application/problem+json: example: detail: Our system is experiencing errors. We''ll get this fixed as soon as possible. instance: /papi/v1/properties/12345/activations#abc12345abcc02a7 status: 500 title: Internal Server Error type: https://problems.luna.akamaiapis.net/papi/proxy/internal-server-error schema: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - status - detail - instance properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string errors: description: For errors with more than one detected problem, this represents each as a nested Problem Details object. minItems: 0 type: array uniqueItems: true items: additionalProperties: false description: Represents error data in the [RFC 7807](https://www.rfc-editor.org/rfc/rfc7807) Problem Details format. type: object required: - type - title - detail properties: detail: description: Diagnostic instructions to locate and fix the problem. minLength: 1 type: string instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem-nested.yaml instance: description: Unique value generated with each API call. minLength: 1 type: string status: description: The HTTP status code that categorizes this error case. maximum: 600 minimum: 100 type: integer title: description: A summary of each error case. minLength: 1 type: string type: description: Identifies each error case. format: uri type: string x-akamai: file-path: schemas/problem.yaml x-akamai: file-path: errors/500.yaml parameters: - description: __Enum__ Sets whether to represent [ID prefixes](https://techdocs.akamai.com/property-mgr/reference/id-prefixes) in response data. Set to `false` when exchanging PAPI data with other APIs. example: '{{PAPI-Use-Prefixes}}' in: header name: PAPI-Use-Prefixes required: true schema: example: 'false' type: string enum: - 'true' - 'false' x-akamai: file-path: parameters/PAPI-Use-Prefixes-header.yaml - description: Optionally filters bulk searches to properties created under the specified contract. For bulk operations, you can specify `contractId` and `groupId` independently from each other. example: '{{contractId}}' in: query name: contractId required: false schema: example: ctr_1-1TJZFW type: string x-akamai: file-path: parameters/contractId-optional-bulk.yaml - description: Optionally filters bulk searches to properties created under the specified group. For bulk operations, you can specify `contractId` and `groupId` independently from each other. example: '{{groupId}}' in: query name: groupId required: false schema: example: grp_15166 type: string x-akamai: file-path: parameters/groupId-optional-bulk.yaml - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). example: '{{accountSwitchKey}}' in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string externalDocs: description: See documentation for Akamai's API Endpoint Definition API url: https://techdocs.akamai.com/api-definitions/reference x-readme: samples-languages: - curl - python - node