duck-creek · Capability
Duck Creek Policy Administration API — Policies
Duck Creek Policy Administration API — Policies. 6 operations. Lead operation: List insurance policies. Self-contained Naftiko capability covering one Duck Creek business surface.
What You Can Do
GET
Listpolicies
— List insurance policies
/v1/policies
POST
Createpolicy
— Create a new policy
/v1/policies
GET
Getpolicy
— Get policy details
/v1/policies/{policyid}
PUT
Updatepolicy
— Update policy (endorsement)
/v1/policies/{policyid}
POST
Cancelpolicy
— Cancel a policy
/v1/policies/{policyid}/cancel
POST
Renewpolicy
— Renew a policy
/v1/policies/{policyid}/renew
MCP Tools
list-insurance-policies
List insurance policies
read-only
idempotent
create-new-policy
Create a new policy
get-policy-details
Get policy details
read-only
idempotent
update-policy-endorsement
Update policy (endorsement)
idempotent
cancel-policy
Cancel a policy
renew-policy
Renew a policy
Capability Spec
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: $.