Akamai · Capability

Akamai: Property Manager API — Properties

Akamai: Property Manager API — Properties. 4 operations. Lead operation: Akamai Create or Clone a Property. Self-contained Naftiko capability covering one Akamai business surface.

Run with Naftiko AkamaiProperties

What You Can Do

POST
Postproperties — Akamai Create or Clone a Property
/v1/properties
GET
Getproperties — Akamai List Properties
/v1/properties
GET
Getproperty — Akamai Get a Property
/v1/properties/{propertyid}
DELETE
Deleteproperty — Akamai Remove a Property
/v1/properties/{propertyid}

MCP Tools

akamai-create-clone-property

Akamai Create or Clone a Property

akamai-list-properties

Akamai List Properties

read-only idempotent
akamai-get-property

Akamai Get a Property

read-only idempotent
akamai-remove-property

Akamai Remove a Property

idempotent

Capability Spec

papi-properties.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: 'Akamai: Property Manager API — Properties'
  description: 'Akamai: Property Manager API — Properties. 4 operations. Lead operation: Akamai Create or Clone a Property.
    Self-contained Naftiko capability covering one Akamai business surface.'
  tags:
  - Akamai
  - Properties
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    AKAMAI_API_KEY: AKAMAI_API_KEY
capability:
  consumes:
  - type: http
    namespace: papi-properties
    baseUri: https://{hostname}/papi/v1
    description: 'Akamai: Property Manager API — Properties business capability. Self-contained, no shared references.'
    resources:
    - name: properties
      path: /properties
      operations:
      - name: postproperties
        method: POST
        description: Akamai Create or Clone a Property
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: PAPI-Use-Prefixes
          in: header
          type: string
          description: __Enum__ Sets whether to represent [ID prefixes](https://techdocs.akamai.com/property-mgr/reference/id-prefixes)
            in response data. Set to `false` when exchangin
          required: true
        - name: contractId
          in: query
          type: string
          description: Unique identifier for the contract. See [ID prefixes](https://techdocs.akamai.com/property-mgr/reference/id-prefixes)
            for details on omitting the value's `ctr_`
          required: true
        - name: groupId
          in: query
          type: string
          description: Unique identifier for the group. See [ID prefixes](https://techdocs.akamai.com/property-mgr/reference/id-prefixes)
            for details on omitting the value's `grp_` pr
          required: true
        - name: accountSwitchKey
          in: query
          type: string
          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-w
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: getproperties
        method: GET
        description: Akamai List Properties
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: modifiedSince
          in: query
          type: string
          description: Filters properties or includes that have been modified in a specified time. Accepts duration in the
            ISO 8601 format.
        - name: modifiedNetwork
          in: query
          type: string
          description: '__Enum__ Filters and only shows properties or includes that have been modified within a specified
            period on a selected network, either `STAGING`, `PRODUCTION`, '
        - name: contractId
          in: query
          type: string
          description: Unique identifier for the contract. See [ID prefixes](https://techdocs.akamai.com/property-mgr/reference/id-prefixes)
            for details on omitting the value's `ctr_`
          required: true
        - name: groupId
          in: query
          type: string
          description: Unique identifier for the group. See [ID prefixes](https://techdocs.akamai.com/property-mgr/reference/id-prefixes)
            for details on omitting the value's `grp_` pr
          required: true
        - name: PAPI-Use-Prefixes
          in: header
          type: string
          description: __Enum__ Sets whether to represent [ID prefixes](https://techdocs.akamai.com/property-mgr/reference/id-prefixes)
            in response data. Set to `false` when exchangin
          required: true
        - name: accountSwitchKey
          in: query
          type: string
          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-w
    - name: properties-propertyId
      path: /properties/{propertyId}
      operations:
      - name: getproperty
        method: GET
        description: Akamai Get a Property
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: PAPI-Use-Prefixes
          in: header
          type: string
          description: __Enum__ Sets whether to represent [ID prefixes](https://techdocs.akamai.com/property-mgr/reference/id-prefixes)
            in response data. Set to `false` when exchangin
          required: true
        - name: contractId
          in: query
          type: string
          description: Unique identifier for the contract. The parameter is optional if a property belongs to only one contract.
            Otherwise you need to specify it along with the `group
        - name: groupId
          in: query
          type: string
          description: Unique identifier for the group. The parameter is optional if a property belongs to only one group.
            Otherwise you need to specify it along with the `contractId`
        - name: accountSwitchKey
          in: query
          type: string
          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-w
      - name: deleteproperty
        method: DELETE
        description: Akamai Remove a Property
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contractId
          in: query
          type: string
          description: Unique identifier for the contract. The parameter is optional if a property belongs to only one contract.
            Otherwise you need to specify it along with the `group
        - name: groupId
          in: query
          type: string
          description: Unique identifier for the group. The parameter is optional if a property belongs to only one group.
            Otherwise you need to specify it along with the `contractId`
        - name: accountSwitchKey
          in: query
          type: string
          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-w
  exposes:
  - type: rest
    namespace: papi-properties-rest
    port: 8080
    description: 'REST adapter for Akamai: Property Manager API — Properties. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.'
    resources:
    - path: /v1/properties
      name: properties
      description: REST surface for properties.
      operations:
      - method: POST
        name: postproperties
        description: Akamai Create or Clone a Property
        call: papi-properties.postproperties
        with:
          PAPI-Use-Prefixes: rest.PAPI-Use-Prefixes
          contractId: rest.contractId
          groupId: rest.groupId
          accountSwitchKey: rest.accountSwitchKey
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getproperties
        description: Akamai List Properties
        call: papi-properties.getproperties
        with:
          modifiedSince: rest.modifiedSince
          modifiedNetwork: rest.modifiedNetwork
          contractId: rest.contractId
          groupId: rest.groupId
          PAPI-Use-Prefixes: rest.PAPI-Use-Prefixes
          accountSwitchKey: rest.accountSwitchKey
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/properties/{propertyid}
      name: properties-propertyid
      description: REST surface for properties-propertyId.
      operations:
      - method: GET
        name: getproperty
        description: Akamai Get a Property
        call: papi-properties.getproperty
        with:
          PAPI-Use-Prefixes: rest.PAPI-Use-Prefixes
          contractId: rest.contractId
          groupId: rest.groupId
          accountSwitchKey: rest.accountSwitchKey
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteproperty
        description: Akamai Remove a Property
        call: papi-properties.deleteproperty
        with:
          contractId: rest.contractId
          groupId: rest.groupId
          accountSwitchKey: rest.accountSwitchKey
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: papi-properties-mcp
    port: 9090
    transport: http
    description: 'MCP adapter for Akamai: Property Manager API — Properties. One tool per consumed operation, routed inline
      through this capability''s consumes block.'
    tools:
    - name: akamai-create-clone-property
      description: Akamai Create or Clone a Property
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: papi-properties.postproperties
      with:
        PAPI-Use-Prefixes: tools.PAPI-Use-Prefixes
        contractId: tools.contractId
        groupId: tools.groupId
        accountSwitchKey: tools.accountSwitchKey
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: akamai-list-properties
      description: Akamai List Properties
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: papi-properties.getproperties
      with:
        modifiedSince: tools.modifiedSince
        modifiedNetwork: tools.modifiedNetwork
        contractId: tools.contractId
        groupId: tools.groupId
        PAPI-Use-Prefixes: tools.PAPI-Use-Prefixes
        accountSwitchKey: tools.accountSwitchKey
      outputParameters:
      - type: object
        mapping: $.
    - name: akamai-get-property
      description: Akamai Get a Property
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: papi-properties.getproperty
      with:
        PAPI-Use-Prefixes: tools.PAPI-Use-Prefixes
        contractId: tools.contractId
        groupId: tools.groupId
        accountSwitchKey: tools.accountSwitchKey
      outputParameters:
      - type: object
        mapping: $.
    - name: akamai-remove-property
      description: Akamai Remove a Property
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: papi-properties.deleteproperty
      with:
        contractId: tools.contractId
        groupId: tools.groupId
        accountSwitchKey: tools.accountSwitchKey
      outputParameters:
      - type: object
        mapping: $.