NowCerts Policies API

Policies, coverages, and quotes.

OpenAPI Specification

nowcerts-policies-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: NowCerts Authentication Policies API
  description: 'The NowCerts API is the REST interface to the NowCerts insurance agency management system (now branded Momentum AMP; the API is still served from api.nowcerts.com). It lets an agency and its integration partners import, update, search, and retrieve their own book of business - insureds and prospects, policies and coverages, carriers and underwriters, endorsements and commissions, and tasks and workflow. All requests are authenticated with a bearer token obtained from https://api.nowcerts.com/token using the OAuth2 password grant; the account making the request must have the "API Integration" agent role assigned, and API access is available on the Professional subscription tier and above.

    Endpoints in this document are confirmed from the live ASP.NET Web API help page at api.nowcerts.com/Help (v2.1.5). Request and response schemas are honestly modeled from the documented operations and standard AMS field sets; where a payload was not fully enumerated on the help page it is marked as modeled and additionalProperties is left open. This is a representative subset of a 160+ endpoint API, organized around the five core resources catalogued for the API Evangelist network.'
  version: 2.1.5
  contact:
    name: NowCerts / Momentum AMP
    url: https://www.nowcerts.com
  x-modeled: Endpoint paths and methods are confirmed real from api.nowcerts.com/Help. Schemas are modeled from documented behavior and typical AMS fields, not copied from an official machine-readable spec (NowCerts does not publish OpenAPI).
servers:
- url: https://api.nowcerts.com/api
  description: NowCerts production API
security:
- bearerAuth: []
tags:
- name: Policies
  description: Policies, coverages, and quotes.
paths:
  /Policy/Insert:
    post:
      operationId: insertPolicy
      tags:
      - Policies
      summary: Insert or update a policy
      description: Create a new policy or update an existing one for a given insured. Schema modeled.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Policy'
      responses:
        '200':
          description: The created or updated policy.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /Policy/PartialUpdate:
    patch:
      operationId: partialUpdatePolicy
      tags:
      - Policies
      summary: Partially update a policy
      description: Apply a partial update to an existing policy identified by its database id.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Policy'
      responses:
        '200':
          description: The updated policy.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /Policy/FindPolicies:
    get:
      operationId: findPolicies
      tags:
      - Policies
      summary: Search policies
      description: Search policies by policy number, carrier, line of business, and effective/expiration dates.
      parameters:
      - name: policyNumber
        in: query
        schema:
          type: string
      - name: carrier
        in: query
        schema:
          type: string
      - name: lineOfBusiness
        in: query
        schema:
          type: string
      - name: effectiveDate
        in: query
        schema:
          type: string
          format: date
      - name: expirationDate
        in: query
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Matching policies.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Policy'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /PolicyDetailList:
    get:
      operationId: listPolicyDetail
      tags:
      - Policies
      summary: List policy master data
      description: Returns policy master records, with OData-style query options.
      parameters:
      - $ref: '#/components/parameters/ODataFilter'
      - $ref: '#/components/parameters/ODataTop'
      - $ref: '#/components/parameters/ODataSkip'
      - $ref: '#/components/parameters/ODataOrderBy'
      responses:
        '200':
          description: A list of policies.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Policy'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /Policy/Coverages:
    get:
      operationId: getPolicyCoverages
      tags:
      - Policies
      summary: Get policy coverages
      description: Returns coverage detail for a policy.
      parameters:
      - name: policyId
        in: query
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Coverage detail.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Coverage'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /Policy/StatusTypes:
    get:
      operationId: getPolicyStatusTypes
      tags:
      - Policies
      summary: List policy status types
      description: Returns the enumeration of policy status types.
      responses:
        '200':
          description: Policy status types.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Error:
      type: object
      properties:
        message:
          type: string
        error:
          type: string
      additionalProperties: true
    Coverage:
      type: object
      description: A coverage line on a policy. Modeled.
      properties:
        name:
          type: string
        limit:
          type: number
        deductible:
          type: number
      additionalProperties: true
    Policy:
      type: object
      description: An insurance policy. Modeled from documented policy fields.
      properties:
        databaseId:
          type: string
          format: uuid
        insuredDatabaseId:
          type: string
          format: uuid
        number:
          type: string
        carrierName:
          type: string
        lineOfBusiness:
          type: string
        effectiveDate:
          type: string
          format: date
        expirationDate:
          type: string
          format: date
        premium:
          type: number
        statusType:
          type: string
      additionalProperties: true
  responses:
    Unauthorized:
      description: Missing or invalid bearer token, or the user lacks the API Integration role.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    ODataFilter:
      name: $filter
      in: query
      description: OData-style filter expression.
      schema:
        type: string
    ODataOrderBy:
      name: $orderby
      in: query
      description: OData-style ordering expression.
      schema:
        type: string
    ODataSkip:
      name: $skip
      in: query
      description: Number of records to skip.
      schema:
        type: integer
    ODataTop:
      name: $top
      in: query
      description: Maximum number of records to return.
      schema:
        type: integer
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token obtained from https://api.nowcerts.com/token via the OAuth2 password grant. The user must have the "API Integration" agent role.