openapi: 3.0.3 info: title: NowCerts Authentication Insureds 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: Insureds description: Insureds and prospects (customers), their contacts, and related data. paths: /Insured/Insert: post: operationId: insertInsured tags: - Insureds summary: Insert or update an insured/prospect description: Create a new insured or prospect, or update an existing one when a matching database id is supplied. Supports custom fields. Schema modeled. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Insured' responses: '200': description: The created or updated insured. content: application/json: schema: $ref: '#/components/schemas/Insured' '401': $ref: '#/components/responses/Unauthorized' /InsuredDetailList: get: operationId: listInsuredDetail tags: - Insureds summary: List insured/prospect master data description: Returns insured and prospect master records. Supports OData-style query options (for example $filter, $top, $skip, $orderby) as exposed by the underlying ASP.NET Web API detail-list endpoints. parameters: - $ref: '#/components/parameters/ODataFilter' - $ref: '#/components/parameters/ODataTop' - $ref: '#/components/parameters/ODataSkip' - $ref: '#/components/parameters/ODataOrderBy' responses: '200': description: A list of insureds. content: application/json: schema: type: array items: $ref: '#/components/schemas/Insured' '401': $ref: '#/components/responses/Unauthorized' /Customers/GetCustomers: get: operationId: getCustomers tags: - Insureds summary: Multi-field insured/prospect search description: Search insureds and prospects across name, email, phone, and other fields. parameters: - name: searchText in: query schema: type: string description: Free-text search term matched across insured fields. responses: '200': description: Matching insureds/prospects. content: application/json: schema: type: array items: $ref: '#/components/schemas/Insured' '401': $ref: '#/components/responses/Unauthorized' components: schemas: Error: type: object properties: message: type: string error: type: string additionalProperties: true Insured: type: object description: An insured or prospect (customer). Modeled from documented insured fields. properties: databaseId: type: string format: uuid commercialName: type: string firstName: type: string lastName: type: string email: type: string format: email phone: type: string type: type: string description: Insured or Prospect. addressLine1: type: string city: type: string state: type: string zipCode: type: string customFields: type: object additionalProperties: true 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.