naftiko: 1.0.0-alpha2 info: label: Let's Encrypt ACME API — Account description: 'Let''s Encrypt ACME API — Account. 3 operations. Lead operation: Update or deactivate account. Self-contained Naftiko capability covering one Lets Encrypt business surface.' tags: - Lets Encrypt - Account created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: LETS_ENCRYPT_API_KEY: LETS_ENCRYPT_API_KEY capability: consumes: - type: http namespace: acme-account baseUri: https://acme-v02.api.letsencrypt.org description: Let's Encrypt ACME API — Account business capability. Self-contained, no shared references. resources: - name: acme-acct-accountId path: /acme/acct/{accountId} operations: - name: updateaccount method: POST description: Update or deactivate account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: accountId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: acme-key-change path: /acme/key-change operations: - name: keychange method: POST description: Rotate account key outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: acme-new-acct path: /acme/new-acct operations: - name: newaccount method: POST description: Create or look up an account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true exposes: - type: rest namespace: acme-account-rest port: 8080 description: REST adapter for Let's Encrypt ACME API — Account. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/acme/acct/{accountid} name: acme-acct-accountid description: REST surface for acme-acct-accountId. operations: - method: POST name: updateaccount description: Update or deactivate account call: acme-account.updateaccount with: accountId: rest.accountId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/acme/key-change name: acme-key-change description: REST surface for acme-key-change. operations: - method: POST name: keychange description: Rotate account key call: acme-account.keychange with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/acme/new-acct name: acme-new-acct description: REST surface for acme-new-acct. operations: - method: POST name: newaccount description: Create or look up an account call: acme-account.newaccount with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: acme-account-mcp port: 9090 transport: http description: MCP adapter for Let's Encrypt ACME API — Account. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: update-deactivate-account description: Update or deactivate account hints: readOnly: false destructive: false idempotent: false call: acme-account.updateaccount with: accountId: tools.accountId body: tools.body outputParameters: - type: object mapping: $. - name: rotate-account-key description: Rotate account key hints: readOnly: false destructive: false idempotent: false call: acme-account.keychange with: body: tools.body outputParameters: - type: object mapping: $. - name: create-look-up-account description: Create or look up an account hints: readOnly: false destructive: false idempotent: false call: acme-account.newaccount with: body: tools.body outputParameters: - type: object mapping: $.