Skip to content

Sixfold API (2024-05)

Release Notes

Version: 2024-05

  • Enhances the case creation endpoint to accept documents to attach to the new case

  • Add a new endpoint to attach one or more documents to an existing case

  • Defines a new schema for cases and related entities

  • Add Life API support for creating cases

Version: 2023-12

For more detailed documentation of this version, refer to our legacy API docs site.

Introduction

Greetings from Sixfold! We're excited to provide you with documentation for our API that allows you to seamlessly interact with our generative AI solution for insurance underwriters.

Key Features

Getting Started

To get started with the Sixfold API, use the guides, code examples, and reference documentation on this page.

We will coordinate with you to complete the following set-up steps:

  • Base URL: Receive a base URL specific to your environment
  • API Key: Receive a an API key
  • Webhook URL: Share a URL where we can send important events about a case (optional)

Read more about these steps below.

Base URL

We will provide a base URL for your dedicated environment. This URL will be unique to your tenancy.

API Key

We will generate and share an API key for your environment via secure send.

For more details on how to use your API key, refer to the Authorization section below.

Webhooks

If you provide us with a webhook URL, we can send you events about your cases in real time. This is an optional step, but it can be helpful if you need to know quickly when a case changes state.

For more details on how to use webhooks, refer to the Webhooks section below.

Integrations

To configure an integration with a third-party (such as an external file management service such as FileNet), please refer to this section for additional information.

We currently support integrations with the following services:

Security

Transport Layer Security

We require all API calls to be made over secure connections using HTTPS. We require a minimum of TLS 1.2.

Authorization

You MUST include the Sixfold API key you were issued in a custom header for each API request.

Example: SIXFOLD-API-KEY: <your key>

Field Types

TypeDescriptionExample
IDSObject identifiers are unique opaque strings. Clients should not attach any specific semantic meaning to the format of our IDs. For example, our object IDs are UUIDs today, but clients should not count on that behavior, because we may stop using UUIDs at any time.c4fb4c10-5b2e-4220-90d2-96d94337e8e6
STRINGSStrings are encoded using UTF-8. They do not have character limits.Diamond West Construction
DATESAll dates are represented in ISO 8601 format YYYY-MM-DD.2024-01-10
TIMESTAMPSAll object responses will include a createdAt and updatedAt in timestamp format. All timestamps are UTC and represented in ISO 8601 format YYYY-MM-DDThh:mm:ssZ.2024-01-10T16:00:30Z
BOOLEANSBoolean values are represented as as true or false.true
NULLAll optional fields are set to null unless a default value is set.null

Status Codes & Errors

Status Codes

CodeDescription
200OK. Indicates the request was successful.
201Created. Indicates that the request was successful and has led to the creation of a resource.

Error Codes

CodeDescription
400Bad Request. Occurs when your request is malformed in some way that does not match a more specific 4xx code.
401Unauthorized. Occurs when your request omitted an API key or specified an invalid key.
404Not Found. Occurs when you requested a resource which doesn’t exist. This could signify an incorrect API endpoint URL or an incorrect object ID.
413Content Too Large. Occurs when the size of the request entity exceeds the limit defined in the request limits section below.
429Too Many Requests. Occurs when exceeding the request rate limit defined in the request limits section below.
500Internal Server Error. Occurs when Sixfold encounters an error serving the request. This is a usually a temporary occurrence, so your best bet is to retry again after a short time.
503Service Unavailable. Typically occurs when the API is down for maintenance.

Document Errors

When creating a case or attaching documents to a case, each document must be uploaded as a separate file.

Partial Success

When uploading multiple documents, the API supports partial success: some documents may be accepted while others are rejected in the same request.

ScenarioHTTP StatusResponse
All documents valid201data array with all uploaded documents
Some documents valid, some invalid201data array with valid documents, errors array with rejected documents
All documents invalid422errors array only

Important: Clients should always check for the presence of an errors array even when receiving a 2xx response. A successful status code indicates at least one document was processed, but some documents may have been rejected.

Example: Partial Success Response

{
  "data": [
    {
      "id": "c4fb4c10-5b2e-4220-90d2-96d94337e8e6",
      "type": "commercialDocuments",
      "attributes": {
        "filename": "policy.pdf",
        "contentType": "application/pdf",
        "byteSize": 102400,
        "createdAt": "2024-05-01T12:00:00Z",
        "updatedAt": "2024-05-01T12:00:00Z"
      }
    }
  ],
  "errors": [
    {
      "title": "Invalid document",
      "detail": "data.csv failed: Content type is not supported. Check the list of supported content types",
      "code": "invalid-document",
      "source": {
        "document": "data.csv"
      },
      "status": 422
    }
  ]
}

Common Rejection Reasons

Documents may be rejected for the following reasons:

  • Unsupported content type: The file type is not in the list of accepted content types (see Document Types below). For example, CSV files (text/csv) are not supported.
  • Encrypted files: Password-protected or encrypted Microsoft Office files cannot be processed.

Versioning

Our API uses URI date-based versioning.

Example: POST /api/2023-12/cases

We will always issue a new version of our API if we need to make changes that would break existing clients. Some examples of breaking changes include:

  • Removing functionality

  • Renaming parameters

  • Changing endpoint requirements

We may include backward-compatible changes in the current version of our API. These changes are designed to improve the API without breaking existing clients. Examples include:

  • Adding new API endpoints

  • Adding new optional request parameters to existing API methods

  • Adding new fields to existing API responses

Limits

This section describes how limits are applied in the Sixfold API.

Document Types

There is restrictions on what types of documents can be uploaded.

Commercial

The following content types are accepted for commercial cases:

Content TypeExtension
application/pdf.pdf
application/json.json
image/jpeg.jpeg, .jpg
image/tiff.tiff, .tif
image/png.png
text/plain.txt
text/html.html
application/msword.doc
application/vnd.openxmlformats-officedocument.wordprocessingml.document.docx
application/vnd.ms-powerpoint.ppt
application/vnd.openxmlformats-officedocument.presentationml.presentation.pptx
application/vnd.ms-excel.xls
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.xlsx
application/rtf.rtf
image/bmp.bmp
image/gif.gif

Life

The following content types are accepted for life cases:

Content TypeExtension
application/pdf.pdf
application/json.json
image/jpeg.jpeg, .jpg
image/tiff.tiff, .tif
image/png.png
text/plain.txt
text/html.html
application/xhtml+xml.xml

Request Rate

You may not send more than 300 requests per minute. If you exceed this limit, the server will respond with 429 - Too Many Requests and block further requests for a short time.

Request Size

No request body may be larger than 50 megabytes. If you exceed this limit, the server will respond with 413 - Content Too Large.

Download OpenAPI description
Languages
Servers
Mock server
https://api.sixfold.dev/_mock/openapi/openapi
The tenant-specific subdomain.
https://{tenant}.sixfold.{tld}/api

Cases

Create, retrieve, and manage commercial insurance cases

Operations

Documents

Add documents to commercial insurance cases for analysis

Operations

Quotes

Retrieve AI-generated insurance quotes based on case analysis

Operations

Cases

Create, retrieve, and manage life insurance cases

Operations

Documents

Add documents to life insurance cases for analysis

Operations

Add documents to a life case

Request

Add documents to a life case by providing an array of documents to be uploaded. When submitting via multipart/form-data, use indexed notation (documents[0][file], documents[0][category], etc.).

Security
ApiKeyAuth
Path
case_idstringrequired
Example: c4fb4c10-5b2e-4220-90d2-96d94337e8e6
Bodymultipart/form-datarequired
documentsArray of objects(DocumentUpload)required

Array of documents to be uploaded. When submitting via multipart/form-data, use indexed notation (documents[0][file], documents[0][category], etc.).

documents[].​filestring(binary)required

The file to upload

documents[].​categorystring(DocumentCategory)

The top-level category of the document. (See Document Classification for more information.)

Enum"Medical Record""Application""Part II""Lab""EKG""RX/DX Report""Background Report""Financial""Diagnostic Report"
documents[]Array of strings(binary)Deprecated
curl -i -X POST \
  https://api.sixfold.dev/_mock/openapi/openapi/2024-05/life/cases/c4fb4c10-5b2e-4220-90d2-96d94337e8e6/documents \
  -H 'Content-Type: multipart/form-data' \
  -H 'SIXFOLD-API-KEY: YOUR_API_KEY_HERE' \
  -F 'documents[0][file]=@path/to/file1.pdf' \
  -F 'documents[0][category]=Medical Record' \
  -F 'documents[1][file]=@path/to/file2.pdf' \
  -F 'documents[1][category]=Application'

Responses

Documents processed. A 201 response indicates at least one document was successfully uploaded. When uploading multiple documents, some may be accepted while others are rejected (partial success). Clients should always check the errors array even on successful responses.

Bodyapplication/json
dataArray of objects(Document-2)

Array of successfully uploaded documents

errorsArray of objects

Array of errors for documents that could not be processed. Present when some documents in a batch upload were rejected (e.g., unsupported file types).

Response
application/json
{ "data": [ { … } ] }

Facts

Retrieve facts extracted from case documents

Operations

Conditions

Retrieve medical conditions and their supporting evidence

Operations

Integrations

Manage integration metadata for external systems

Operations

2024-05 Webhooks

Webhooks allow us to send important events about a case to you in real-time.

Integrations Overview

IBM FileNet Content Manager

This integration allows Sixfold to interact with this external document and content storage service. This integration enables seamless management and attachment of files to cases within Sixfold’s system.

Document Classification

Documents can be classified into certain top-level categories.

These document-level metadata can in turn be used to improve case level analysis of the relevant case information found in those documents, as well as give more contextual information to users in the UI.

Sixfold's API allows its consumers to specify the top-level category / classification of a document when they:

  1. Create a case with documents
  2. Add documents to a case
  3. Specify files to add to a case from a third party integration

The sections below detail the supported top-level categories per product line.