OpenAPI Specification
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.