Create, retrieve, and manage commercial insurance cases
Sixfold API (2024-05)
URL: https://sixfold.ai
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
For more detailed documentation of this version, refer to our legacy API docs site.
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.
Analyze a risk by creating a case with or without documents
Check in on the progress of a case by fetching it
Receive real-time updates on the progress of a case via a webhook
Add one or more documents to an existing case
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.
We will provide a base URL for your dedicated environment. This URL will be unique to your tenancy.
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.
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.
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:
- FileNet: IBM's document management system
- see this section for more information on this integration
We require all API calls to be made over secure connections using HTTPS. We require a minimum of TLS 1.2.
| Type | Description | Example |
|---|---|---|
| IDS | Object 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 |
| STRINGS | Strings are encoded using UTF-8. They do not have character limits. | Diamond West Construction |
| DATES | All dates are represented in ISO 8601 format YYYY-MM-DD. | 2024-01-10 |
| TIMESTAMPS | All 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 |
| BOOLEANS | Boolean values are represented as as true or false. | true |
| NULL | All optional fields are set to null unless a default value is set. | null |
| Code | Description |
|---|---|
| 200 | OK. Indicates the request was successful. |
| 201 | Created. Indicates that the request was successful and has led to the creation of a resource. |
| Code | Description |
|---|---|
| 400 | Bad Request. Occurs when your request is malformed in some way that does not match a more specific 4xx code. |
| 401 | Unauthorized. Occurs when your request omitted an API key or specified an invalid key. |
| 404 | Not Found. Occurs when you requested a resource which doesn’t exist. This could signify an incorrect API endpoint URL or an incorrect object ID. |
| 413 | Content Too Large. Occurs when the size of the request entity exceeds the limit defined in the request limits section below. |
| 429 | Too Many Requests. Occurs when exceeding the request rate limit defined in the request limits section below. |
| 500 | Internal 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. |
| 503 | Service Unavailable. Typically occurs when the API is down for maintenance. |
When creating a case or attaching documents to a case, each document must be uploaded as a separate file.
When uploading multiple documents, the API supports partial success: some documents may be accepted while others are rejected in the same request.
| Scenario | HTTP Status | Response |
|---|---|---|
| All documents valid | 201 | data array with all uploaded documents |
| Some documents valid, some invalid | 201 | data array with valid documents, errors array with rejected documents |
| All documents invalid | 422 | errors 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.
{
"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
}
]
}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.
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
The following content types are accepted for commercial cases:
| Content Type | Extension |
|---|---|
| application/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 |
The following content types are accepted for life cases:
| Content Type | Extension |
|---|---|
| application/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 |
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.
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:
- Create a case with documents
- Add documents to a case
- Specify files to add to a case from a third party integration
The sections below detail the supported top-level categories per product line.