1

Get your API key

Contact SANNOS to obtain your Partner API key. Keep this key secure — it provides access to your Partner account.
The Partner API uses a two-tier key model. Your Partner Key onboards clients; the Company Key (returned by onboarding) is used for all document operations. See Authentication.
2

Onboard your partner account

Onboarding creates your company and its default organization unit, of the built-in business_entity type, using your Partner’s configured framework. Authenticate with your Partner Key; the response returns the Company Key used for all document operations.
Response:
Save these IDs — you’ll need companyId and organizationUnitId (the company’s default business_entity unit) for future operations, and the companyApiKey for every document call. Pass organizationUnitId when you submit documents.
3

(Recommended) Update your company details

After onboarding, update your company with accurate business information using your Company Key:
4

(Optional) Create additional organization units

Create separate organization units for the parts of the client’s organization that need their own compliance reviews. Every unit has a type: use the built-in business_entity type, or a type code the company defined (list them with GET /v2/organization-unit-types):
Response:
Pass the returned id as organizationUnitId when you submit documents. See Organization Units for listing, reading and updating units, and Migrating to v2 if you still call the v1 API.
5

Discover compliance frameworks and controls

Before submitting documents, discover which frameworks and controls are available:
Response:
Save the frameworkId and controlId — you may need them when submitting documents (optional if your partner has only one whitelisted framework/control).
6

Submit documents

Document submission uses multipart/form-data (file upload), so these examples use curl -F.Option A: Create new compliance review
curl
Option B: Add to existing review
curl
Provide either organizationUnitId OR complianceReviewId, not both.
Control item selection (both modes):
  • Both selectedControlClusterIds + selectedControlItemIds → union of cluster items and individual items
  • Clusters only → all non-obsolete items within those clusters
  • Items only → only those specific items
  • Neither → all non-obsolete items across the entire control (default)
Large files (> 50 MB)? Use the chunked upload flow instead — see Chunked Upload for Large Files.
Response:
7

Poll for results

The /result endpoint accepts optional query parameters:
  • complianceLevel — filter by score band: Not Compliant, Partially Compliant, Mostly Compliant, Fully Compliant.
  • fields — return only specific fields (comma-separated dot-notation).
Example filtered result call:
curl