Search
K
Documents

Enterprise Documents API

3.0.0OAS 3.0

The Enterprise Document Service (EDS) API is the system of record for documents
across the Zinnia life insurance and annuity platform. Store a document once, then
retrieve, update, and search it for the full duration of its retention period. The API
covers carrier-issued correspondence and annual tax forms.

Overview

A document in EDS has two parts:

  • Content — the file itself.
  • Metadata — structured business information describing what the file is and what it relates to.

Each document is identified by a documentId, assigned at upload. Treat it as an
opaque handle: store it and pass it back on every subsequent call for that document.

Tax forms are managed separately from the general document collection. They are never
returned by Search Documents and are accessible only through the two Tax Form operations.

Operations

Operation Method and path Purpose
Upload Document POST /document/v3/documents Store a new file with its business metadata and receive a documentId.
Get Document Metadata GET /document/v3/documents/{documentId} Retrieve full metadata for a document, optionally including version history.
Update Document PUT /document/v3/documents/{documentId} Update metadata, optionally replace the file content, and create a new version.
Download Document GET /document/v3/documents/{documentId}/download Retrieve document content, returned Base64-encoded in a JSON envelope.
Search Documents POST /document/v3/documents/search Find documents by carrier, policy, case, agent, type, status, date range, and identifier tags.
Get Tax Forms GET /document/v3/tax-forms List tax forms available for a contract.
Download Tax Form GET /document/v3/tax-forms/{formId}/download Retrieve a tax form as a Base64-encoded PDF.

Authentication and authorization

Every endpoint requires a JWT bearer token in the Authorization header:
Authorization: Bearer {token}.

The Bearer prefix is case-sensitive and must include the trailing space exactly as shown.

Tokens are machine-to-machine (M2M) access tokens issued by the Zinnia identity provider.
Contact your Zinnia representative to obtain credentials.

Note: M2M access tokens are valid for 24 hours from issuance and may be reused for
any number of requests within that window.

Version history

  • 3.0.0 (Latest)
    • Initial published v3 release. All paths use the /document/v3/... prefix. Includes the seven Document and Tax Form operations, complete request/response schemas, parameter definitions, error responses, and worked examples.
API Base URL
  • Server 1:https://dev.api.zinnia.io

    Dev Environment

  • Server 2:https://qa.api.zinnia.io

    QA Environment

  • Server 3:https://uat.api.zinnia.io

    UAT Environment

  • Server 4:https://api.zinnia.io

    PROD Environment

Security
basic (http)

Basic authentication is a simple authentication scheme built into the HTTP protocol.
To use it, send your HTTP requests with an Authorization header that contains the word Basic
followed by a space and a base64-encoded string username:password.

Example: Authorization: Basic ZGVtbzpwQDU1dzByZA==

Auth0 (openIdConnect)

Documents V3

Uploads a document and saves its metadata

Accepts a file with metadata and returns a document Id

post

Headers

x-correlation-idstring

Body

multipart/form-data
filestringrequired
metadataobjectrequired
Show Child Parameters

Response

application/json

document stored successfully

DocumentUploadResponse

documentIdstring

Unique ID

Example:670e23dfab593b4387210b81

correlationIdstring

Unique ID for correlating requests

Example:123e4567-e89b-12d3-a456-426614174000

messagestring

Response message

Example:Document uploaded successfully

statusCodeinteger(int32)

Status code of the response

Example:200

successboolean
post/document/v3/documents

Body

No file selected
{ "docClassification": "OUTBOUND", "docCategory": "NEW_BUSINESS", "fileType": "PDF", "documentType": "NB_STATE_REPLACEMENT", "documentTypeDescription": "Address Change Letter" }
 
Error initializing code snippet
application/json

Gets metadata for a document

Fetches metadata details, including version history if requested

get

Query Parameters

isAllVersionsNeededboolean

Indicates if all versions are required in the response

Default:false

Example:true

documentTypestring

Type of document indicating its purpose

Example:NB Application

documentClassificationstring

Classification of the document, e.g., OUTBOUND OR INBOUND

Allowed values:OUTBOUNDINBOUND

Example:OUTBOUND

parentCarrierCodestring

Client code associated with the document

Example:EVGL

Path Parameters

documentIdstringrequired

Unique ID in EDS db

Example:670e23dfab593b4387210b81

Headers

Authorizationstringrequired

Authorization token

Example:Bearer <token>

x-correlation-idstring

Unique ID for correlating requests

Example:1760f822-dcbf-49fc-a623-a1998383f4b9

Response

application/json

document metadata retrieved successfully

MetadataByIdResponse

metadataobject
Show Child Parameters
correlationIdstring

Unique ID for correlating requests

Example:123e4567-e89b-12d3-a456-426614174000

get/document/v3/documents/{documentId}
 
application/json

updates document content or metadata

modifies metadata and optionally replaces the file

put

Path Parameters

documentIdstringrequired

Headers

x-correlation-idstring

Body

multipart/form-data
filestring
metadataobjectrequired
Show Child Parameters

Response

application/json

Document updated successfully

correlationIdstring

Unique ID for correlating requests

Example:123e4567-e89b-12d3-a456-426614174000

messagestring

Example:Document updated successfully

statusCodeinteger(int32)

Example:204

successboolean

Example:true

put/document/v3/documents/{documentId}

Body

{}
 
Error initializing code snippet
application/json