Amazon IAM · Capability

Amazon IAM API — Access Keys

Amazon IAM API — Access Keys. 3 operations. Lead operation: Amazon IAM Create a New Access Key. Self-contained Naftiko capability covering one Amazon Iam business surface.

Run with Naftiko Amazon IamAccess Keys

What You Can Do

GET
Createaccesskey — Amazon IAM Create a New Access Key
/v1/action-createaccesskey
GET
Deleteaccesskey — Amazon IAM Delete an Access Key
/v1/action-deleteaccesskey
GET
Listaccesskeys — Amazon IAM List Access Keys for a User
/v1/action-listaccesskeys

MCP Tools

amazon-iam-create-new-access

Amazon IAM Create a New Access Key

read-only idempotent
amazon-iam-delete-access-key

Amazon IAM Delete an Access Key

read-only idempotent
amazon-iam-list-access-keys

Amazon IAM List Access Keys for a User

read-only idempotent

Capability Spec

amazon-iam-access-keys.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Amazon IAM API — Access Keys
  description: 'Amazon IAM API — Access Keys. 3 operations. Lead operation: Amazon IAM Create a New Access Key. Self-contained
    Naftiko capability covering one Amazon Iam business surface.'
  tags:
  - Amazon Iam
  - Access Keys
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    AMAZON_IAM_API_KEY: AMAZON_IAM_API_KEY
capability:
  consumes:
  - type: http
    namespace: amazon-iam-access-keys
    baseUri: https://iam.amazonaws.com
    description: Amazon IAM API — Access Keys business capability. Self-contained, no shared references.
    resources:
    - name: ?Action=CreateAccessKey
      path: /?Action=CreateAccessKey
      operations:
      - name: createaccesskey
        method: GET
        description: Amazon IAM Create a New Access Key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Action
          in: query
          type: string
          required: true
        - name: Version
          in: query
          type: string
          required: true
        - name: UserName
          in: query
          type: string
          description: The name of the IAM user for the new key. If not specified, uses the calling user.
    - name: ?Action=DeleteAccessKey
      path: /?Action=DeleteAccessKey
      operations:
      - name: deleteaccesskey
        method: GET
        description: Amazon IAM Delete an Access Key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Action
          in: query
          type: string
          required: true
        - name: Version
          in: query
          type: string
          required: true
        - name: UserName
          in: query
          type: string
          description: The name of the user whose access key you want to delete.
        - name: AccessKeyId
          in: query
          type: string
          description: The access key ID for the access key to delete.
          required: true
    - name: ?Action=ListAccessKeys
      path: /?Action=ListAccessKeys
      operations:
      - name: listaccesskeys
        method: GET
        description: Amazon IAM List Access Keys for a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Action
          in: query
          type: string
          required: true
        - name: Version
          in: query
          type: string
          required: true
        - name: UserName
          in: query
          type: string
          description: The name of the user.
        - name: Marker
          in: query
          type: string
        - name: MaxItems
          in: query
          type: integer
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.AMAZON_IAM_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: amazon-iam-access-keys-rest
    port: 8080
    description: REST adapter for Amazon IAM API — Access Keys. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/action-createaccesskey
      name: action-createaccesskey
      description: REST surface for ?Action=CreateAccessKey.
      operations:
      - method: GET
        name: createaccesskey
        description: Amazon IAM Create a New Access Key
        call: amazon-iam-access-keys.createaccesskey
        with:
          Action: rest.Action
          Version: rest.Version
          UserName: rest.UserName
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-deleteaccesskey
      name: action-deleteaccesskey
      description: REST surface for ?Action=DeleteAccessKey.
      operations:
      - method: GET
        name: deleteaccesskey
        description: Amazon IAM Delete an Access Key
        call: amazon-iam-access-keys.deleteaccesskey
        with:
          Action: rest.Action
          Version: rest.Version
          UserName: rest.UserName
          AccessKeyId: rest.AccessKeyId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-listaccesskeys
      name: action-listaccesskeys
      description: REST surface for ?Action=ListAccessKeys.
      operations:
      - method: GET
        name: listaccesskeys
        description: Amazon IAM List Access Keys for a User
        call: amazon-iam-access-keys.listaccesskeys
        with:
          Action: rest.Action
          Version: rest.Version
          UserName: rest.UserName
          Marker: rest.Marker
          MaxItems: rest.MaxItems
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: amazon-iam-access-keys-mcp
    port: 9090
    transport: http
    description: MCP adapter for Amazon IAM API — Access Keys. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: amazon-iam-create-new-access
      description: Amazon IAM Create a New Access Key
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-iam-access-keys.createaccesskey
      with:
        Action: tools.Action
        Version: tools.Version
        UserName: tools.UserName
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-iam-delete-access-key
      description: Amazon IAM Delete an Access Key
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-iam-access-keys.deleteaccesskey
      with:
        Action: tools.Action
        Version: tools.Version
        UserName: tools.UserName
        AccessKeyId: tools.AccessKeyId
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-iam-list-access-keys
      description: Amazon IAM List Access Keys for a User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-iam-access-keys.listaccesskeys
      with:
        Action: tools.Action
        Version: tools.Version
        UserName: tools.UserName
        Marker: tools.Marker
        MaxItems: tools.MaxItems
      outputParameters:
      - type: object
        mapping: $.