Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

All requests must be authenticated

Every request to Seamless APIs must be authenticated. For details of the authentication process, please see Authentication.

Use sparse fieldset selection

TBD

Use paging

...

Clients should request only fields that they need from an endpoint. This practice is especially true for resource types that have a lot of fields or have fields with large data such as quotes in the Quotation Service and policies in the Policy Management. For example, the following request retrieves quotes with a sparse fieldset selection specified for the quotes resource. It also specifies the page size, page number, and a sort order.

Code Block
languagejson
GET {{base-url-sales}}/api/v1/quotes?fields[quotes]=reference,description,period,status&page[size]=10&page[number]=1&sort=-createdDate
Authorization: {{access-token}}
Accept: application/vnd.api+json

If the client does not specify a sparse fieldset selection for a given resource type, the API may not include fields with large data for that resource type. This behaviour adheres to the specification.

If a client does not specify the set of fields for a given resource type, the server MAY send all fields, a subset of fields, or no fields for that resource type.

For more details of sparse fieldset specification, please refer to https://jsonapi.org/format/1.1/#fetching-sparse-fieldsets

Use paging

Requests for multiple resource instances should include a page size. If a page size is not specified, the default page size of 10 is used.

Do not use obsolete features

TBD

total-records vs totalResources

Sparse fieldset syntax

...

This section describes obsolete features that should not be used and may not be available in future updates to the APIs.

total-records

Responses for a multiple-resources request with pagination may include a total-records item in the meta property, which is the total of resource items match the query parameters. total-records is obsolete and may not be available in future updates of the APIs. Please use the new totalResources instead. For example, the following response include both total-records and totalResources, but again, totalResources should be used instead.

Code Block
languagejson
HTTP/2 200 OK
{
  "data": [
    {
      "type": "policies",
      "id": "policy-6f21f713-f977-5ded-a1d0-15d82ee48931",
      "attributes": {
        "reference": "1106467",
        "description": "Sample Customer Name",
        "period": {
          "start": "2024-12-19T00:00:00+00:00",
          "end": "2025-12-18T23:59:59+00:00"
        },
        "currencyCode": "GBP",
        "status": "Created"
      }
    },
    ...
  ],
  "meta": {
    "total-records": 3,
    "totalResources": 3
  }
}

Filter syntax

JSON:API specification v1.1 doesn’t describe a standardized filter syntax. Therefore, the filter syntax varies and depends on the underlying technologies used to develop the APIs. For microservices in the list at the beginning of the Best practices for consuming JSON APIs section, the filter syntax is described in detailed at https://www.jsonapi.net/usage/reading/filtering.html. Please be informed of the following guidelines regarding to the filter syntax:

  1. Legacy filters, e.g. ?filter[lastName]=eq:Smith are still supported, but they may be removed in a future update of the services. Any new code should use the new filter syntax, and existing code using legacy filters should be updated to use the new filters.

  2. New filters MUST be prefixed with expr:, for example, ?filter=expr:equals(lastName,'Smith').

List of Seamless APIs

Microservice

Domain

OpenAPI Documentation

Agency Configuration

Seamless Control

https://api.seamless.insure/configuration/swagger/index.html

Campaign Service

Seamless Service

https://api.seamless.insure/campaign/documentation/

Claims Service

Seamless Claims

https://api.seamless.insure/claim-api/documentation/

Compliance Service

Seamless Compliance

https://api.seamless.insure/compliance/swagger/index.html

Contact Center

Seamless Service

https://api.seamless.insure/contact-center/documentation/#/

Customer Service

Seamless Service

https://api.seamless.insure/customer/documentation/#/

Document Service

Seamless Documents

https://api.seamless.insure/documents/swagger/index.html

Finance Service

Seamless Finance

https://api.seamless.insure/finance/swagger/index.html

Integration

Seamless Service

https://api.seamless.insure/integration/documentation/

Investment

Seamless Service

https://api.seamless.insure/investment/documentation/#/

Loyalty Service

Seamless Service

https://api.seamless.insure/loyalty/documentation/

Mail Service

Seamless Service

https://api.seamless.insure/mail/documentation/#/

Motor Registry

Seamless Plugins

https://api.seamless.insure/motorregistry/swagger/index.html

Notification Service

Seamless Service

https://api.seamless.insure/notification/documentation/#/

Opportunity

Seamless Service

https://api.seamless.insure/opportunity/documentation/#/

Policy Management

Seamless UW

https://api.seamless.insure/underwriting/swagger/index.html

Pricing Engine

Seamless Pricing

https://api.seamless.insure/pricing/swagger/index.html

Process Engine Service

Seamless Flow

https://api.seamless.insure/process-api/documentation/

Quotation Service

Seamless UW

https://api.seamless.insure/sales/swagger/index.html

Sale workflow service

Seamless Grow

Scoring

Seamless UW

https://api.seamless.insure/scoring-api/documentation/

Search Service

Seamless Service

https://api.seamless.insure/search/documentation/

Task Service

Seamless Service

https://api.seamless.insure/task/documentation/

Tenant Management

Seamless Control

https://api.seamless.insure/tenancy/swagger/index.html

Time Tracking

Seamless Service

https://api.seamless.insure/time-tracking/documentation/#/

User Management

Seamless Control

https://api.seamless.insure/users/swagger/index.html

...