naftiko: 1.0.0-alpha2 info: label: Duck Creek Policy Administration API — Policies description: 'Duck Creek Policy Administration API — Policies. 6 operations. Lead operation: List insurance policies. Self-contained Naftiko capability covering one Duck Creek business surface.' tags: - Duck Creek - Policies created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: DUCK_CREEK_API_KEY: DUCK_CREEK_API_KEY capability: consumes: - type: http namespace: policy-policies baseUri: https://api.duckcreek.com/v1 description: Duck Creek Policy Administration API — Policies business capability. Self-contained, no shared references. resources: - name: policies path: /policies operations: - name: listpolicies method: GET description: List insurance policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: status in: query type: string description: Filter by policy status - name: productCode in: query type: string description: Filter by insurance product code - name: effectiveAfter in: query type: string description: Filter policies effective on or after this date (ISO 8601) - name: effectiveBefore in: query type: string description: Filter policies effective on or before this date - name: insuredName in: query type: string description: Filter by insured name (partial match) - name: limit in: query type: integer - name: offset in: query type: integer - name: createpolicy method: POST description: Create a new policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: policies-policyId path: /policies/{policyId} operations: - name: getpolicy method: GET description: Get policy details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: policyId in: path type: string description: Unique policy identifier required: true - name: updatepolicy method: PUT description: Update policy (endorsement) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: policyId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: policies-policyId-cancel path: /policies/{policyId}/cancel operations: - name: cancelpolicy method: POST description: Cancel a policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: policyId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: policies-policyId-renew path: /policies/{policyId}/renew operations: - name: renewpolicy method: POST description: Renew a policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: policyId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false authentication: type: bearer token: '{{env.DUCK_CREEK_API_KEY}}' exposes: - type: rest namespace: policy-policies-rest port: 8080 description: REST adapter for Duck Creek Policy Administration API — Policies. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/policies name: policies description: REST surface for policies. operations: - method: GET name: listpolicies description: List insurance policies call: policy-policies.listpolicies with: status: rest.status productCode: rest.productCode effectiveAfter: rest.effectiveAfter effectiveBefore: rest.effectiveBefore insuredName: rest.insuredName limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - method: POST name: createpolicy description: Create a new policy call: policy-policies.createpolicy with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/policies/{policyid} name: policies-policyid description: REST surface for policies-policyId. operations: - method: GET name: getpolicy description: Get policy details call: policy-policies.getpolicy with: policyId: rest.policyId outputParameters: - type: object mapping: $. - method: PUT name: updatepolicy description: Update policy (endorsement) call: policy-policies.updatepolicy with: policyId: rest.policyId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/policies/{policyid}/cancel name: policies-policyid-cancel description: REST surface for policies-policyId-cancel. operations: - method: POST name: cancelpolicy description: Cancel a policy call: policy-policies.cancelpolicy with: policyId: rest.policyId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/policies/{policyid}/renew name: policies-policyid-renew description: REST surface for policies-policyId-renew. operations: - method: POST name: renewpolicy description: Renew a policy call: policy-policies.renewpolicy with: policyId: rest.policyId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: policy-policies-mcp port: 9090 transport: http description: MCP adapter for Duck Creek Policy Administration API — Policies. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-insurance-policies description: List insurance policies hints: readOnly: true destructive: false idempotent: true call: policy-policies.listpolicies with: status: tools.status productCode: tools.productCode effectiveAfter: tools.effectiveAfter effectiveBefore: tools.effectiveBefore insuredName: tools.insuredName limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: create-new-policy description: Create a new policy hints: readOnly: false destructive: false idempotent: false call: policy-policies.createpolicy with: body: tools.body outputParameters: - type: object mapping: $. - name: get-policy-details description: Get policy details hints: readOnly: true destructive: false idempotent: true call: policy-policies.getpolicy with: policyId: tools.policyId outputParameters: - type: object mapping: $. - name: update-policy-endorsement description: Update policy (endorsement) hints: readOnly: false destructive: false idempotent: true call: policy-policies.updatepolicy with: policyId: tools.policyId body: tools.body outputParameters: - type: object mapping: $. - name: cancel-policy description: Cancel a policy hints: readOnly: false destructive: false idempotent: false call: policy-policies.cancelpolicy with: policyId: tools.policyId body: tools.body outputParameters: - type: object mapping: $. - name: renew-policy description: Renew a policy hints: readOnly: false destructive: false idempotent: false call: policy-policies.renewpolicy with: policyId: tools.policyId body: tools.body outputParameters: - type: object mapping: $.