Worlds / Healthcare and insurance
Guidewire API
A local Guidewire ClaimCenter and PolicyCenter with policies, claims, exposures, reserves, payments and activities. Test the claims agent that triages first notice of loss, sets reserves, pays and closes claims.
- Base path
/pc/rest- Auth
- HTTP basic or OAuth 2.0 bearer token, the world key
- Endpoints
- 17
- Status
- Active today
This reference previews the surface the Guidewire world serves in the closed beta. Paths mirror the public Guidewire API; the exact subset is confirmed when your workflow is scoped.
Connect
The run gives your agent these bindings. Keep your SDK; change only where it sends requests.
| binding | meaning |
|---|---|
WORLDS_GUIDEWIRE_URL | This world's origin followed by /pc/rest |
WORLDS_API_KEY | The world key, accepted wherever Guidewire expects a credential |
WORLDS_WORLD_ID | The isolated world's identity |
const base = process.env.WORLDS_GUIDEWIRE_URL + "/pc/rest";
const res = await fetch(base + "/policy/v1/policies?filter=policyNumber:eq:PC-0001234", {
headers: {
Authorization: "Bearer " + process.env.WORLDS_API_KEY,
Accept: "application/json",
},
});
const { data } = await res.json();
console.log(data[0].attributes.policyNumber);API reference
Accounts
Customer accounts that own policies and submissions.
- GET
/pc/rest/account/v1/accountsList accounts - GET
/pc/rest/account/v1/accounts/{accountId}Get an account - POST
/pc/rest/account/v1/accountsCreate an account - GET
/pc/rest/account/v1/accounts/{accountId}/policiesList account policies
Fields · 5
id | string | Account id |
accountNumber | string | Account number |
accountHolder | object | Name and primary contact |
accountStatus | object | Active, pending or withdrawn |
primaryLanguage | object | Preferred language |
Policies
In-force policies and their terms.
- GET
/pc/rest/policy/v1/policiesList policies - GET
/pc/rest/policy/v1/policies/{policyId}Get a policy - GET
/pc/rest/policy/v1/policies/{policyId}/coveragesList policy coverages - POST
/pc/rest/job/v1/policy-changesStart a policy change
Fields · 6
id | string | Policy id |
policyNumber | string | Policy number |
productCode | string | Product, such as PersonalAuto |
periodStart | datetime | Term start |
periodEnd | datetime | Term end |
status | object | In force, expired or cancelled |
Submissions
New business quotes moving through underwriting.
- POST
/pc/rest/job/v1/submissionsCreate a submission - GET
/pc/rest/job/v1/submissions/{jobId}Get a submission - POST
/pc/rest/job/v1/submissions/{jobId}/quoteQuote a submission - POST
/pc/rest/job/v1/submissions/{jobId}/bindBind a submission
Fields · 5
id | string | Submission id |
status | object | Draft, quoted, bound |
baseState | object | Jurisdiction |
jobNumber | string | Job number |
policyTerm | object | Effective and expiration dates |
Claims
First notice of loss and claim handling.
- GET
/pc/rest/claim/v1/claimsList claims - GET
/pc/rest/claim/v1/claims/{claimId}Get a claim - POST
/pc/rest/claim/v1/claimsReport a claim - GET
/pc/rest/claim/v1/claims/{claimId}/notesList claim notes - POST
/pc/rest/claim/v1/claims/{claimId}/notesAdd a claim note
Fields · 6
id | string | Claim id |
claimNumber | string | Claim number |
lossDate | datetime | Date of loss |
lossType | object | Collision, theft, water damage |
state | object | Open, closed, draft |
policy | object | Policy reference |
Test workflow
- Prepare. Select the Guidewire setup for your workflow and review its starting records, including accounts, policies, submissions.
- Connect. Configure your agent with this world's URL and key using the SDK example. Check that it reaches the intended API before running a test.
- Define. Describe the task, expected final changes and records that must stay untouched. Keep expected outcomes separate from the agent's instructions.
- Run and inspect. Use the dashboard or your workflow's generated CLI setup. Review final records and changes, then rerun from the same starting setup with the relevant failure conditions. Use Deployment and CI to automate the same workflow.
What to verify
- CLM-2041 is open with one vehicle damage exposure
- CLM-2042 is still draft because the policy lapsed
- CLM-2017 is closed with zero open reserves
- CLM-2019 is still open with its $3,400 reserve
- No payment issued over the authority limit
Test file
A task file names the jobs, the policy your agent is given and what the grader reads back from the world's final state. The agent never sees the expected outcomes.
# worlds/tasks.yaml · Guidewire
version: 2
connector: guidewire
seed: guidewire-starter
mode: isolated
policy: >
Work the auto desk. Open draft claims only on in force policies, and close
open claims only when every exposure is closed and no reserve remains. Leave
anything over your authority for a supervisor.
tasks:
- id: open-claims-from-first-notice-of-loss-and-create-exposures
prompt: Open claims from first notice of loss and create exposures
- id: set-reserves-and-issue-payments-within-authority
prompt: Set reserves and issue payments within authority
- id: close-claims-once-every-exposure-is-settled
prompt: Close claims once every exposure is settled
expected:
- CLM-2041 is open with one vehicle damage exposure
- CLM-2042 is still draft because the policy lapsed
- CLM-2017 is closed with zero open reserves
- "CLM-2019 is still open with its $3,400 reserve"
- No payment issued over the authority limit
scenarios:
- concurrent-change
- validation-error
- authority-limitSee Tasks and outcomes for every field, and Deployment and CI to run the file on every pull request.
Failure conditions
Each one fires before the handler, at the same step on every run.
| condition | what the agent sees |
|---|---|
concurrent-change | A claim edited by another user returns 409 on save |
validation-error | Closing returns a validation error listing the open exposure |
authority-limit | The payment goes to pending approval instead of being issued |
token-expires | The Cloud API token returns 401 partway through |
Starting data
Start each run from the same records and relationships. The overview below describes the Guidewire starter; use the setup supplied for your workflow when preparing your own snapshot.
| Records | Starting setup |
|---|---|
| policies | 50 personal auto and homeowners policies, in force and lapsed |
| claims | 35 across draft, open and closed |
| exposures | 60 with vehicle damage, bodily injury and property coverages |
| reserves | Open reserve lines on 28 exposures |
| activities | 40 open, a few past due |
The record shapes below reuse this world's API field definitions. They show illustrative values and placeholders, not an importable seed. API responses and seed input can differ; include all required records and references in the accepted import format for your workflow.
Accounts records
Accounts
Customer accounts that own policies and submissions.
| Field | Type | Meaning / relationship |
|---|---|---|
id | string | Account id |
accountNumber | string | Account number |
accountHolder | object | Name and primary contact |
accountStatus | object | Active, pending or withdrawn |
primaryLanguage | object | Preferred language |
{
"id": "<Account id>",
"accountNumber": "<Account number>",
"accountHolder": {},
"accountStatus": {},
"primaryLanguage": {}
}Policies records
Policies
In-force policies and their terms.
| Field | Type | Meaning / relationship |
|---|---|---|
id | string | Policy id |
policyNumber | string | Policy number |
productCode | string | Product, such as PersonalAuto |
periodStart | datetime | Term start |
periodEnd | datetime | Term end |
status | object | In force, expired or cancelled |
{
"id": "<Policy id>",
"policyNumber": "<Policy number>",
"productCode": "<Product, such as PersonalAuto>",
"periodStart": "<Term start>",
"periodEnd": "<Term end>",
"status": {}
}Submissions records
Submissions
New business quotes moving through underwriting.
| Field | Type | Meaning / relationship |
|---|---|---|
id | string | Submission id |
status | object | Draft, quoted, bound |
baseState | object | Jurisdiction |
jobNumber | string | Job number |
policyTerm | object | Effective and expiration dates |
{
"id": "<Submission id>",
"status": {},
"baseState": {},
"jobNumber": "<Job number>",
"policyTerm": {}
}Claims records
Claims
First notice of loss and claim handling.
| Field | Type | Meaning / relationship |
|---|---|---|
id | string | Claim id |
claimNumber | string | Claim number |
lossDate | datetime | Date of loss |
lossType | object | Collision, theft, water damage |
state | object | Open, closed, draft |
policy | object | Policy reference |
{
"id": "<Claim id>",
"claimNumber": "<Claim number>",
"lossDate": "<Date of loss>",
"lossType": {},
"state": {},
"policy": {}
}