API documentation

The Ultiwrite v1 API.

A server-to-server API for coherence scoring, review, monitoring, and portfolio analysis. Every response includes reason codes and runs in shadow mode — Ultiwrite never returns an autonomous approve or decline.

Authentication

Requests are authenticated with a bearer key issued to approved pilot partners. Keys are server-side only — never expose them in a browser.

Authorization: Bearer uw_live_...

Endpoints

POST/api/v1/applications/scoreScore a single merchant application for coherence.
POST/api/v1/applications/batchScore a CSV / batch of applications.
GET/api/v1/applications/{id}Retrieve a previously scored application.
POST/api/v1/monitor/subscribeEnable drift monitoring for a boarded merchant.
GET/api/v1/portfolio/summaryPortfolio-level risk trends and review queue.
GET/.well-known/openapi.jsonOpenAPI 3.1 specification (discoverable).

Request

curl https://api.dwsoffshorepartners.com/api/v1/applications/score \
  -H "Authorization: Bearer uw_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "legal_name": "Acme Retail LLC",
    "dba": "Acme Shop",
    "mcc": "5999",
    "website": "acme-retail.com",
    "owners": [{ "name": "J. Doe", "ownership_pct": 100 }],
    "processing_history": { "avg_ticket": 82, "monthly_volume": 240000 }
  }'

Response

{
  "application_id": "app_9fZ2...",
  "coherence_score": 0.42,
  "mode": "shadow",
  "recommendation": "REFER",
  "reserve": "rolling_10pct",
  "conditions": ["site_revisit_30d"],
  "reason_codes": [
    { "code": "MCC_WEBSITE_MISMATCH", "severity": "high" },
    { "code": "OWNER_FOOTPRINT_THIN", "severity": "medium" }
  ],
  "decision_by": "human_underwriter"
}

Sample reason codes

MCC_WEBSITE_MISMATCHStated MCC conflicts with the products sold on the website.
OWNER_FOOTPRINT_THINBeneficial owner has little verifiable public presence.
ENTITY_AGE_YOUNGRegistered entity is newer than the stated operating history.
DOMAIN_RECENTLY_REGISTEREDWeb domain was registered very recently.
VOLUME_TICKET_INCONSISTENTAverage ticket and monthly volume are implausible for the category.

40+ reason codes are available. The full catalog is shared with pilot partners.

Need a key? API access is provisioned manually for approved partners.

Request API access