ACORD Policy API

Policy administration and management

Operations 4

GET /policies ACORD List Policies #
POST /policies ACORD Create a New Policy #
GET /policies/{policyId} ACORD Get Policy by ID #
PATCH /policies/{policyId} ACORD Update Policy #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/acord-policy-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

acord-policy-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ACORD Next-Generation Digital Standards (NGDS) Claims Policy API
  description: The ACORD NGDS API provides granular, transaction-centric REST/JSON standards for insurance data exchange covering underwriting, policy management, and claims administration. Based on the ACORD Object Model with JSON and YAML formats for microservices, IoT, and modern API architectures.
  version: 1.0.0
  contact:
    name: ACORD Standards
    url: https://www.acord.org/standards-architecture/acord-data-standards
  license:
    name: ACORD License
    url: https://www.acord.org
x-authored-by: API Evangelist
x-modeled-from: >-
  Modeled by API Evangelist from ACORD's public description of the Next-Generation Digital
  Standards. ACORD publishes NO OpenAPI. Verified 2026-08-30: /openapi.json, /openapi.yaml
  and /swagger.json return 404 on www.acord.org, ngdsobjectmodel.acord.org and
  www.acordsolutions.com, and 403 on standards.acord.org; every NGDS artifact is a
  /file-download/<uuid> link that 302s to Microsoft Entra member sign-in. The servers[] host
  below (api.insurer-internal.example.com) is a placeholder on the IETF-reserved
  documentation domain example.com, not an ACORD endpoint. This document is an API
  Evangelist illustration of the standard, NOT a contract published by ACORD, and must not
  be credited to ACORD as a published API.
x-provenance:
  method: generated
  authored_by: API Evangelist
  authored_date: '2026-05'
  marked_date: '2026-08-30'
  provider_published: false
servers:
- url: https://api.insurer-internal.example.com/ngds
  description: NGDS REST API endpoint
security:
- oauth2: []
- bearerAuth: []
tags:
- name: Policy
  description: Policy administration and management
paths:
  /policies:
    get:
      operationId: listPolicies
      summary: ACORD List Policies
      description: Retrieve a paginated list of insurance policies matching the given filters.
      tags:
      - Policy
      parameters:
      - name: policyNumber
        in: query
        description: Filter by policy number
        schema:
          type: string
      - name: insuredPartyId
        in: query
        description: Filter by insured party identifier
        schema:
          type: string
      - name: lineOfBusiness
        in: query
        description: Filter by line of business (e.g., PropertyCasualty, Life, Annuity)
        schema:
          type: string
          enum:
          - PropertyCasualty
          - Life
          - Annuity
          - Reinsurance
      - name: status
        in: query
        description: Filter by policy status
        schema:
          type: string
          enum:
          - Active
          - Lapsed
          - Cancelled
          - Pending
          - Expired
      - name: page
        in: query
        schema:
          type: integer
          default: 1
      - name: pageSize
        in: query
        schema:
          type: integer
          default: 25
          maximum: 100
      responses:
        '200':
          description: Paginated list of policies
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyList'
              examples:
                ListPolicies200Example:
                  summary: Default listPolicies 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - {}
                    pagination:
                      page: {}
                      pageSize: {}
                      totalPages: {}
                      totalItems: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createPolicy
      summary: ACORD Create a New Policy
      description: Submit a new insurance policy for underwriting and issuance using ACORD NGDS data model.
      tags:
      - Policy
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicyRequest'
            examples:
              CreatePolicyRequestExample:
                summary: Default createPolicy request
                x-microcks-default: true
                value:
                  lineOfBusiness: PropertyCasualty
                  effectiveDate: '2025-03-15'
                  expirationDate: '2025-03-15'
                  premiumAmount: 5000.0
                  currency: sample-value
                  insuredParty:
                    partyType: {}
                    firstName: {}
                    lastName: {}
                    organizationName: {}
                    taxId: {}
                    address: {}
                    contacts: {}
                  coverages:
                  - {}
      responses:
        '201':
          description: Policy created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
              examples:
                CreatePolicy201Example:
                  summary: Default createPolicy 201 response
                  x-microcks-default: true
                  value:
                    policyId: '500123'
                    policyNumber: POL-2025-001234
                    lineOfBusiness: PropertyCasualty
                    status: Active
                    effectiveDate: '2025-03-15'
                    expirationDate: '2025-03-15'
                    premiumAmount: 5000.0
                    currency: sample-value
                    insuredParty:
                      partyId: {}
                      partyType: {}
                      firstName: {}
                      lastName: {}
                      organizationName: {}
                      taxId: {}
                      address: {}
                      contacts: {}
                    coverages:
                    - {}
                    createdAt: '2025-03-15T14:30:00Z'
                    updatedAt: '2025-03-15T14:30:00Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /policies/{policyId}:
    get:
      operationId: getPolicy
      summary: ACORD Get Policy by ID
      description: Retrieve a single insurance policy and all associated coverage details by policy identifier.
      tags:
      - Policy
      parameters:
      - name: policyId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Policy details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
              examples:
                GetPolicy200Example:
                  summary: Default getPolicy 200 response
                  x-microcks-default: true
                  value:
                    policyId: '500123'
                    policyNumber: POL-2025-001234
                    lineOfBusiness: PropertyCasualty
                    status: Active
                    effectiveDate: '2025-03-15'
                    expirationDate: '2025-03-15'
                    premiumAmount: 5000.0
                    currency: sample-value
                    insuredParty:
                      partyId: {}
                      partyType: {}
                      firstName: {}
                      lastName: {}
                      organizationName: {}
                      taxId: {}
                      address: {}
                      contacts: {}
                    coverages:
                    - {}
                    createdAt: '2025-03-15T14:30:00Z'
                    updatedAt: '2025-03-15T14:30:00Z'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: updatePolicy
      summary: ACORD Update Policy
      description: Apply endorsements or amendments to an existing policy using ACORD NGDS change transactions.
      tags:
      - Policy
      parameters:
      - name: policyId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicyUpdate'
            examples:
              UpdatePolicyRequestExample:
                summary: Default updatePolicy request
                x-microcks-default: true
                value:
                  status: Active
                  expirationDate: '2025-03-15'
                  premiumAmount: 5000.0
                  endorsements:
                  - endorsementNumber: {}
                    description: {}
                    effectiveDate: {}
      responses:
        '200':
          description: Policy updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
              examples:
                UpdatePolicy200Example:
                  summary: Default updatePolicy 200 response
                  x-microcks-default: true
                  value:
                    policyId: '500123'
                    policyNumber: POL-2025-001234
                    lineOfBusiness: PropertyCasualty
                    status: Active
                    effectiveDate: '2025-03-15'
                    expirationDate: '2025-03-15'
                    premiumAmount: 5000.0
                    currency: sample-value
                    insuredParty:
                      partyId: {}
                      partyType: {}
                      firstName: {}
                      lastName: {}
                      organizationName: {}
                      taxId: {}
                      address: {}
                      contacts: {}
                    coverages:
                    - {}
                    createdAt: '2025-03-15T14:30:00Z'
                    updatedAt: '2025-03-15T14:30:00Z'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized - missing or invalid authentication
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad request - invalid input data
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Forbidden - insufficient permissions
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    PolicyRequest:
      type: object
      required:
      - lineOfBusiness
      - effectiveDate
      - expirationDate
      - insuredParty
      properties:
        lineOfBusiness:
          type: string
          enum:
          - PropertyCasualty
          - Life
          - Annuity
          - Reinsurance
        effectiveDate:
          type: string
          format: date
        expirationDate:
          type: string
          format: date
        premiumAmount:
          type: number
          format: double
        currency:
          type: string
          default: USD
        insuredParty:
          $ref: '#/components/schemas/PartyRequest'
        coverages:
          type: array
          items:
            $ref: '#/components/schemas/CoverageRequest'
    PolicyUpdate:
      type: object
      properties:
        status:
          type: string
          enum:
          - Active
          - Lapsed
          - Cancelled
          - Pending
          - Expired
        expirationDate:
          type: string
          format: date
        premiumAmount:
          type: number
        endorsements:
          type: array
          items:
            type: object
            properties:
              endorsementNumber:
                type: string
              description:
                type: string
              effectiveDate:
                type: string
                format: date
    Party:
      type: object
      properties:
        partyId:
          type: string
        partyType:
          type: string
          enum:
          - Insured
          - Claimant
          - Agent
          - Broker
          - Carrier
        firstName:
          type: string
        lastName:
          type: string
        organizationName:
          type: string
        taxId:
          type: string
        address:
          $ref: '#/components/schemas/Address'
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/Contact'
    PolicyList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Policy'
        pagination:
          $ref: '#/components/schemas/Pagination'
    Coverage:
      type: object
      properties:
        coverageId:
          type: string
        coverageType:
          type: string
        limit:
          type: number
        deductible:
          type: number
        premium:
          type: number
        currency:
          type: string
    Contact:
      type: object
      properties:
        contactType:
          type: string
          enum:
          - Phone
          - Email
          - Fax
        value:
          type: string
    CoverageRequest:
      type: object
      required:
      - coverageType
      - limit
      properties:
        coverageType:
          type: string
        limit:
          type: number
        deductible:
          type: number
        premium:
          type: number
        currency:
          type: string
          default: USD
    PartyRequest:
      type: object
      required:
      - partyType
      properties:
        partyType:
          type: string
          enum:
          - Insured
          - Claimant
          - Agent
          - Broker
          - Carrier
        firstName:
          type: string
        lastName:
          type: string
        organizationName:
          type: string
        taxId:
          type: string
        address:
          $ref: '#/components/schemas/Address'
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/Contact'
    Policy:
      type: object
      description: ACORD NGDS Policy object representing an insurance contract
      properties:
        policyId:
          type: string
          description: Unique internal policy identifier
        policyNumber:
          type: string
          description: Carrier-assigned policy number
        lineOfBusiness:
          type: string
          enum:
          - PropertyCasualty
          - Life
          - Annuity
          - Reinsurance
        status:
          type: string
          enum:
          - Active
          - Lapsed
          - Cancelled
          - Pending
          - Expired
        effectiveDate:
          type: string
          format: date
        expirationDate:
          type: string
          format: date
        premiumAmount:
          type: number
          format: double
        currency:
          type: string
          default: USD
        insuredParty:
          $ref: '#/components/schemas/Party'
        coverages:
          type: array
          items:
            $ref: '#/components/schemas/Coverage'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    Pagination:
      type: object
      properties:
        page:
          type: integer
        pageSize:
          type: integer
        totalPages:
          type: integer
        totalItems:
          type: integer
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        details:
          type: array
          items:
            type: string
    Address:
      type: object
      properties:
        street1:
          type: string
        street2:
          type: string
        city:
          type: string
        state:
          type: string
        postalCode:
          type: string
        country:
          type: string
          default: US
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://auth.insurer-internal.example.com/oauth/token
          scopes:
            read:policies: Read policy data
            write:policies: Create and modify policies
            read:claims: Read claim data
            write:claims: Submit and update claims
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT