GET /api/partner/analytics
Returns a request-time snapshot computed exclusively over orders created with your partner account. The endpoint reads the transactional order records directly; it does not return another partner’s orders and does not use an eventually consistent analytics export.
The reporting window is a creation cohort. An order is included when its createdAt falls between the request time minus windowDays and the request time, inclusive. Funnel, completion, evidence, service, and revenue figures then use the current records for that cohort. They are not counts of events that occurred during the window.
Tenancy guarantee: every figure is computed exclusively over orders
created with your partner account. Document, shipment, and workflow-event
queries are constrained to order IDs from that partner-scoped cohort.
Authentication
This route accepts either credential:- Partner API key —
Authorization: Bearer sss_pk_...for server-to-server reads. - Linked dashboard session — the SignSealShip session cookie for a signed-in user linked to a partner account.
401 Unauthorized
401 means that no bearer key resolved and there is no valid signed-in session. A bad bearer key can still succeed when the request also carries a valid linked session.
403 Forbidden
403 means the session is valid but is not linked to a partner account. See authentication for key-handling guidance.
Query parameter
integer
default:"90"
Requested creation-window length. The service clamps the value to
1..366
instead of rejecting an out-of-range integer: values below 1 become 1 and
values above 366 become 366. The effective value is returned as
windowDays.Example
curl
200 OK
Response fields
integer
Effective creation-window length after the
days value is defaulted and
clamped. Always from 1 through 366.array
Creation-cohort counts grouped by the order’s UTC creation month, ordered
oldest to newest. Months with no included orders are omitted.
object
One mutually exclusive current-status bucket per order in the cohort. The
five counts always sum to the cohort’s total order count.
Funnel status contract
The mapping is explicit in the service. Status names are case-sensitive PascalCase values from the Order API.object
Distribution of paid-to-completed durations for qualifying completed orders
in the cohort.
Completed order with a recorded payment.cleared workflow event contributes to turnaround. The start is its earliest such event. The end is the order’s current updatedAt, used as the completion stamp because the implementation does not yet have a durable order-completion event. An order with updatedAt before the payment event is excluded. When there are no qualifying samples, both values are 0; zero therefore means no measurable sample, not necessarily instant completion. The response does not include the sample size.
object
Counts of cohort orders carrying each service flag. A multi-service order is
counted once in every applicable field, so these values are not mutually
exclusive and need not sum to the order count.
object
Count-based evidence inventory for the cohort.
Evidence-count semantics — August 2, 2026: the two evidence counters are
artifact and shipment row counts, not unique-order counts or percentages.
They are scoped to all orders in the creation cohort, not only orders in
totalCompleted. A single order can contribute more than one matching row,
so do not divide either field by totalCompleted and call the result a
coverage percentage.integer
Sum of
totalCents for cohort orders currently in the paid, inProgress,
or completed funnel buckets. USD cents. It excludes created and problem
orders and is a current-order-total metric, not a payment-ledger balance.string
ISO 8601 UTC timestamp generated by the API for this response. The response
does not include separate window-start or window-end fields.
Errors and rate limiting
The route uses the
partner-portal limit: 120 requests per minute. A request carrying a dashboard session cookie is bucketed by that session; otherwise it is bucketed by client IP, including bearer-key-only requests. Back off until the fixed one-minute window resets after a 429.