Essence Partner Programme API
API for the Essence Digital Channel Partner Programme Platform. Manages partner lifecycle, deal registrations, certifications, and commercial operations.
Generated from the PartnerProgramme service's code at build time (api-specs/generated/PartnerProgramme/Essence.Partners.Api.json) and drift-checked in CI. It describes what the code registers, which is not the same as what any one deployment has routed.
AdminPartnerCommercial
/api/v1/admin/partners/standing/republishRe-sends every partner's standing and every active hosting authorisation — run once after the Commercial Manager deploy (Commercial Licence P3, fleet step 3). Safe to re-run: consumers are idempotent by StandingVersion / AuthorisationId.
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
No request body.
Responses
PartnerStandingRepublishResultDto/api/v1/admin/partners/{id}/commercialA partner's commercial position: status, type, organisation, payment terms, standing version and every hosting authorisation (active and revoked), newest first. 404 for an unknown partner.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
PartnerCommercialDtoProblemDetails/api/v1/admin/partners/{id}/payment-termsSets the partner's payment terms (0..120 days) and publishes its standing.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
AdminSetPaymentTermsRequestasapplication/*+json,application/json,text/json
Responses
PartnerPaymentTermsDtoProblemDetailsProblemDetails/api/v1/admin/partners/{id}/suspendSuspends an Active or Remediation partner and publishes its standing: new routed sales to it are refused, its hosted offers close; existing licences keep being invoiced to it.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
AdminSuspendPartnerRequestasapplication/*+json,application/json,text/json
Responses
PartnerStatusDtoProblemDetailsProblemDetailsProblemDetailsAdminPartners
/api/v1/admin/partners/{id}/reviewApproves (or rejects) a pending partner application, advancing it to Essence.Partners.Domain.Enums.PartnerStatus.Approved — pending the real agreement e-signature (see class remarks). Platform-admin only.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
AdminReviewPartnerRequestasapplication/*+json,application/json,text/json
Responses
booleanProblemDetailsProblemDetailsProblemDetailsAuditLog
/api/v1/admin/audit-logRetrieves paginated audit log entries with filtering options
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | query | string (uuid) | no | — |
entityType | query | string | no | — |
entityId | query | string (uuid) | no | — |
dateFrom | query | string (date-time) | no | — |
dateTo | query | string (date-time) | no | — |
page | query | integer (int32) | no | — |
pageSize | query | integer (int32) | no | — |
Request body
No request body.
Responses
AuditLogEntryDtoPagedResultProblemDetailsBusinessReview
/api/v1/business-reviewsSchedules a new business review meeting with a partner
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
ScheduleBusinessReviewRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/business-reviews/{id}/minutesRecords minutes and action items for a completed business review
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
RecordBusinessReviewMinutesRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetailsCertifications
/api/v1/certifications/demo-environmentsRequests provisioning of a demo environment
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
DemoEnvironmentRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/certifications/enrolEnrols a user in a certification programme
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
EnrolCertificationRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/certifications/expiringGets certifications expiring within the specified number of days
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | query | string (uuid) | no | — |
days | query | integer (int32) | no | — |
Request body
No request body.
Responses
ExpiringCertificationDto[]/api/v1/certifications/summary/{partnerId}Gets the certification summary for a partner
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | path | string (uuid) | yes | — |
Request body
No request body.
Responses
PartnerCertificationSummaryDtoProblemDetails/api/v1/certifications/user/{userId}Gets all certifications for a specific user
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
userId | path | string (uuid) | yes | — |
Request body
No request body.
Responses
CertificationDto[]/api/v1/certifications/{id}/completeCompletes a certification with a score
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
CompleteCertificationRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/certifications/{id}/progressRecords progress on a certification
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
RecordCertificationProgressRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/certifications/{id}/renewRenews a completed or expired certification
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
unspecifiedProblemDetailsCommercial
/api/v1/commercial/commissionsRetrieves commission summary for a partner with optional filtering by period, status, and type
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
periodFrom | query | string (date-time) | no | — |
periodTo | query | string (date-time) | no | — |
status | query | string | no | — |
commissionType | query | string | no | — |
Request body
No request body.
Responses
CommissionSummaryDtoProblemDetails/api/v1/commercial/commissions/calculateCalculates and records a commission for a partner deal. Admin only.
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
CalculateCommissionRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/commercial/price-listReturns the price list filtered by the requesting partner's tier. COMPETITION LAW: Only the requesting partner's buy prices are returned. Response always includes the mandatory RRP disclaimer.
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
No request body.
Responses
PriceListDtoProblemDetails/api/v1/commercial/quotesGenerates a new partner quote with tier-based pricing. COMPETITION LAW: Quote does NOT restrict partner's sell-out price. Response includes mandatory RRP disclaimer.
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
GenerateQuoteRequestDtoasapplication/*+json,application/json,text/json
Responses
PartnerQuoteDtoProblemDetails/api/v1/commercial/quotes/{id}Retrieves full details for a specific quote including lines, discount info, and RRP disclaimer
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
PartnerQuoteDtoProblemDetails/api/v1/commercial/quotes/{id}/discountRequests a discount approval on a quote. D1 bands (up to 10%) are auto-approved. D2 routes to COO, D3 routes to CEO.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
DiscountApprovalRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/commercial/quotes/{id}/discount/approveApproves a pending discount on a quote. Admin only.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
unspecifiedProblemDetails/api/v1/commercial/true-upProcesses quarterly true-up reconciliation for a Buy-Sell partner. Admin only.
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
ProcessTrueUpRequestDtoasapplication/*+json,application/json,text/json
Responses
TrueUpResultDtoProblemDetailsCompliance
/api/v1/compliance/declarationsSubmits a compliance declaration for a specific type and the current year
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
SubmitComplianceDeclarationRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/compliance/insuranceUploads an insurance certificate for a partner
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
UploadInsuranceCertificateRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/compliance/{partnerId}Retrieves the compliance status for a partner including all declaration types and insurance records
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | path | string (uuid) | yes | — |
Request body
No request body.
Responses
ComplianceStatusDtoProblemDetailsDealRegistrations
/api/v1/deal-registrationsLists deal registrations with pagination and filtering
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | query | string (uuid) | no | — |
page | query | integer (int32) | no | — |
pageSize | query | integer (int32) | no | — |
status | query | string[] | no | — |
stage | query | string[] | no | — |
valueMin | query | number (double) | no | — |
valueMax | query | number (double) | no | — |
dateFrom | query | string (date-time) | no | — |
dateTo | query | string (date-time) | no | — |
search | query | string | no | — |
Request body
No request body.
Responses
unspecified/api/v1/deal-registrationsSubmits a deal registration for review
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
SubmitDealRegistrationRequestDtoasapplication/*+json,application/json,text/json
Responses
DealRegistrationDtoProblemDetails/api/v1/deal-registrations/draftsCreates a draft deal registration (auto-save support)
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
CreateDraftDealRegistrationRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/deal-registrations/drafts/{id}Auto-saves a draft deal registration (partial updates, no validation)
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
CreateDraftDealRegistrationRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/deal-registrations/expiringRetrieves deals with protection periods expiring within the specified number of days
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
days | query | integer (int32) | no | — |
partnerId | query | string (uuid) | no | — |
Request body
No request body.
Responses
ExpiringDealDto[]/api/v1/deal-registrations/funnelRetrieves deal funnel metrics with counts and values per status
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | query | string (uuid) | no | — |
dateFrom | query | string (date-time) | no | — |
dateTo | query | string (date-time) | no | — |
Request body
No request body.
Responses
DealFunnelDto/api/v1/deal-registrations/{id}Retrieves full details for a specific deal registration
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
DealRegistrationDetailDtoProblemDetails/api/v1/deal-registrations/{id}/closeCloses a deal registration as won or lost
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
CloseDealRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/deal-registrations/{id}/conflictsRetrieves conflict information for a deal registration. Admin users see partner names; partner users see conflict existence only.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
DealConflictDto[]ProblemDetails/api/v1/deal-registrations/{id}/extendRequests a protection period extension for an approved deal
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
ExtensionRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/deal-registrations/{id}/extend/approveApproves a protection period extension. Admin only.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
unspecifiedProblemDetails/api/v1/deal-registrations/{id}/reviewReviews a deal registration (approve, reject, or request more info). Admin only.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
ReviewDealRegistrationRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/deal-registrations/{id}/revokeRevokes an approved deal registration. Admin only.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
RevokeDealRegistrationCommandasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/deal-registrations/{id}/updatesSubmits a monthly progress update for an approved deal
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
MonthlyUpdateRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetailsForecast
/api/v1/forecastsSubmits a quarterly pipeline forecast with individual opportunities
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
SubmitPipelineForecastRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/forecasts/{partnerId}Retrieves pipeline forecast for a partner and quarter
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | path | string (uuid) | yes | — |
quarter | query | string | no | — |
Request body
No request body.
Responses
PipelineForecastDtoProblemDetailsMarketingAssets
/api/v1/marketing-assetsLists marketing assets filtered by the requesting partner's tier
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
category | query | string | no | — |
Request body
No request body.
Responses
MarketingAssetDto[]/api/v1/marketing-assetsCreates a new marketing asset. Admin only.
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
CreateMarketingAssetRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/marketing-assets/{id}Gets full details for a specific marketing asset
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
MarketingAssetDtoProblemDetails/api/v1/marketing-assets/{id}/downloadTracks a download of a marketing asset
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
unspecifiedProblemDetailsNotifications
/api/v1/portal/notificationsRetrieves paginated notifications for the current user
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
page | query | integer (int32) | no | — |
pageSize | query | integer (int32) | no | — |
unreadOnly | query | boolean | no | — |
Request body
No request body.
Responses
ProblemDetails/api/v1/portal/notifications/{id}/readMarks a notification as read
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
unspecifiedProblemDetailsProblemDetailsPartnerApplications
/api/v1/partners/applicationsLists partner applications for the review queue, optionally filtered by status. Requires admin scope.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
status | query | PartnerStatus | no | Optional status filter |
Request body
No request body.
Responses
PartnerApplicationSummaryDto[]/api/v1/partners/applicationsSubmits a new partner application to the Essence Partner Programme
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
PartnerApplicationRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/partners/applications/notificationsRetrieves programme notifications addressed to the Essence partner-review team. Requires admin scope.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
unreadOnly | query | boolean | no | When true, returns only unread notifications |
Request body
No request body.
Responses
ProgrammeNotificationDto[]/api/v1/partners/applications/notifications/{notificationId}/readMarks a programme notification as read. Requires admin scope.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
notificationId | path | string (uuid) | yes | The notification ID |
Request body
No request body.
Responses
unspecifiedProblemDetails/api/v1/partners/applications/pending-countReturns pending application counts for the review console dashboard. Requires admin scope.
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
No request body.
Responses
PendingApplicationCountsDto/api/v1/partners/applications/{id}Retrieves full detail for a single partner application. Requires admin scope.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | The partner ID |
Request body
No request body.
Responses
PartnerApplicationDetailDtoProblemDetails/api/v1/partners/applications/{id}/agreementInitiates the e-signature process for a partner agreement via Signable. Requires admin scope.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | The partner ID |
Request body
No request body.
Responses
unspecifiedProblemDetails/api/v1/partners/applications/{id}/agreement/resendClears a failed agreement envelope and sends a fresh one. Requires admin scope.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | The partner ID |
Request body
No request body.
Responses
unspecifiedProblemDetailsProblemDetails/api/v1/partners/applications/{id}/countersignEssence countersigns a partner-signed agreement, executing it and starting onboarding. Requires admin scope.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | The partner ID |
Request body
No request body.
Responses
unspecifiedProblemDetailsProblemDetails/api/v1/partners/applications/{id}/reviewReviews a partner application (approve or reject). Requires admin scope.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | The partner ID to review |
Request body
Not marked as required in the document.
ReviewPartnerApplicationRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetailsProblemDetails/api/v1/partners/applications/{id}/start-reviewMoves an application from ApplicationSubmitted to UnderReview, attributing the reviewer. Requires admin scope.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | The partner ID |
Request body
No request body.
Responses
unspecifiedProblemDetailsProblemDetailsPartnerCustomers
/api/v1/partner-customersLists partner customers with pagination
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | query | string (uuid) | no | — |
page | query | integer (int32) | no | — |
pageSize | query | integer (int32) | no | — |
status | query | string | no | — |
search | query | string | no | — |
Request body
No request body.
Responses
unspecified/api/v1/partner-customers/{id}Gets full details for a specific partner customer
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
PartnerCustomerDtoProblemDetails/api/v1/partner-customers/{id}/revenueGets the revenue attribution trail for a partner customer
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
PartnerRevenueDtoProblemDetailsPartnerOnboarding
/api/v1/partners/{partnerId}/onboardingRetrieves onboarding progress for a partner including milestone completion status
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | path | string (uuid) | yes | The partner ID |
Request body
No request body.
Responses
OnboardingProgressDtoProblemDetails/api/v1/partners/{partnerId}/onboarding/milestonesMarks an onboarding milestone as completed
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | path | string (uuid) | yes | The partner ID |
Request body
Not marked as required in the document.
CompleteMilestoneRequestasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetailsPartnerOrders
/api/v1/partner-ordersLists partner orders with pagination and filtering
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | query | string (uuid) | no | — |
page | query | integer (int32) | no | — |
pageSize | query | integer (int32) | no | — |
status | query | string[] | no | — |
search | query | string | no | — |
Request body
No request body.
Responses
unspecified/api/v1/partner-ordersCreates a new partner order in Draft status
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
CreatePartnerOrderRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/partner-orders/{id}Gets full details for a specific partner order
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
PartnerOrderDtoProblemDetails/api/v1/partner-orders/{id}/approveApproves a submitted order. Admin only.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
ApproveOrderRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/partner-orders/{id}/cancelCancels a partner order, cleaning up billing and provisioning
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
CancelOrderRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/partner-orders/{id}/provisionProvisions the customer instance for an approved order
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
unspecifiedProblemDetails/api/v1/partner-orders/{id}/provisioning-statusGets real-time provisioning progress for an order
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
OrderProvisioningStatusDtoProblemDetails/api/v1/partner-orders/{id}/setup-billingSets up billing for an approved order
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
unspecifiedProblemDetails/api/v1/partner-orders/{id}/submitSubmits a draft order for approval
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
unspecifiedProblemDetailsPartnerRegistry
/api/v1/partner-registry/accreditationResolves a referral code to the partner's accreditation.
Service-to-service. Everything returned is server-held: the caller supplies only the code, and cannot influence the tier or status that comes back — which is the entire point. A referral code is an identifier, not a credential: it names a partner, it does not authorise anyone. So this deliberately returns 404 for an unknown code rather than pretending, and exposes nothing an attacker could not learn from the partner's own website.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
referralCode | query | string | no | — |
partnerId | query | string (uuid) | no | — |
Request body
No request body.
Responses
PartnerAccreditationDtoProblemDetailsPartners
/api/v1/partnersLists all partners with optional filtering and pagination
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
page | query | integer (int32) | no | Page number (default: 1) |
pageSize | query | integer (int32) | no | Items per page (default: 20, max: 100) |
status | query | string | no | Filter by partner status |
tier | query | string | no | Filter by partner tier |
type | query | string | no | Filter by partner type |
search | query | string | no | Search by name or registered number |
Request body
No request body.
Responses
unspecified/api/v1/partners/meRetrieves the current authenticated user's own partner profile (by applicant user id). Used by the portal BFF to compose the signed-in user view.
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
No request body.
Responses
PartnerProfileDtoProblemDetails/api/v1/partners/{id}Retrieves full details for a specific partner
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | The partner ID |
Request body
No request body.
Responses
ChannelPartnerDtoProblemDetails/api/v1/partners/{id}Updates editable partner details
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | The partner ID |
Request body
Not marked as required in the document.
UpdatePartnerDetailsRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetailsProblemDetails/api/v1/partners/{id}/dashboardRetrieves the partner dashboard with aggregated metrics
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | The partner ID |
Request body
No request body.
Responses
PartnerDashboardDtoProblemDetails/api/v1/partners/{id}/terminateInitiates the termination of a partnership. Requires admin scope.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | The partner ID |
Request body
Not marked as required in the document.
InitiatePartnerTerminationCommandasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetailsProgrammeTiers
/api/v1/partners/programme/tiersThe five rungs, their thresholds, each rung's resale margin by SKU family and referral fee, and the cross-walk to the builder, specialism and framework ladders — read from `docs/commercial/catalogue/partner-tiers.json`.
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
No request body.
Responses
ProgrammeTiersDtoReporting
/api/v1/reporting/csat-trend/{partnerId}Retrieves CSAT score trend by month for a partner
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | path | string (uuid) | yes | — |
Request body
No request body.
Responses
CsatTrendDtoProblemDetails/api/v1/reporting/funnelRetrieves advanced deal funnel analytics with conversion rates between stages
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | query | string (uuid) | no | — |
dateFrom | query | string (date-time) | no | — |
dateTo | query | string (date-time) | no | — |
Request body
No request body.
Responses
DealFunnelAnalyticsDtoProblemDetails/api/v1/reporting/revenue-trend/{partnerId}Retrieves revenue trend by quarter for a partner
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | path | string (uuid) | yes | — |
Request body
No request body.
Responses
RevenueTrendDtoProblemDetails/api/v1/reporting/revenue/{partnerId}Retrieves revenue attribution breakdown for a partner by model, product, and quarter
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | path | string (uuid) | yes | — |
dateFrom | query | string (date-time) | no | — |
dateTo | query | string (date-time) | no | — |
Request body
No request body.
Responses
RevenueAttributionDtoProblemDetails/api/v1/reporting/scorecard/{partnerId}Retrieves a comprehensive scorecard for a partner with all key performance metrics
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | path | string (uuid) | yes | — |
dateFrom | query | string (date-time) | no | — |
dateTo | query | string (date-time) | no | — |
Request body
No request body.
Responses
PartnerScorecardDtoProblemDetailsProblemDetailsServiceProviders
/api/v1/partners/service-providersThe approved hosting providers in region (e.g. `GB`).
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
region | query | string | no | — |
Request body
No request body.
Responses
ProblemDetailsSignableWebhooks
/api/v1/webhooks/signableReceives and processes Signable webhook events for partner agreement e-signatures. Validates the HMAC-SHA256 webhook signature before processing.
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
No request body.
Responses
unspecifiedProblemDetailsSupportTickets
/api/v1/support-ticketsLists support tickets with pagination and filtering
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | query | string (uuid) | no | — |
page | query | integer (int32) | no | — |
pageSize | query | integer (int32) | no | — |
severity | query | string[] | no | — |
status | query | string[] | no | — |
dateFrom | query | string (date-time) | no | — |
dateTo | query | string (date-time) | no | — |
Request body
No request body.
Responses
unspecified/api/v1/support-ticketsCreates a new support ticket
Authentication:Bearer (the document-wide requirement)
Parameters
Takes no parameters.
Request body
Not marked as required in the document.
CreateSupportTicketRequestDtoasapplication/*+json,application/json,text/json
Responses
SupportTicketDtoProblemDetails/api/v1/support-tickets/performance/{partnerId}Gets support performance metrics for a partner
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
partnerId | path | string (uuid) | yes | — |
dateFrom | query | string (date-time) | no | — |
dateTo | query | string (date-time) | no | — |
Request body
No request body.
Responses
SupportPerformanceDto/api/v1/support-tickets/{id}Gets full details for a specific support ticket
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
SupportTicketDetailDtoProblemDetails/api/v1/support-tickets/{id}/closeCloses a support ticket
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
unspecifiedProblemDetails/api/v1/support-tickets/{id}/csatSubmits a CSAT survey for a ticket
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
CsatSurveyRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/support-tickets/{id}/escalateEscalates a support ticket to L2 or L3
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
EscalateTicketRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/support-tickets/{id}/resolveResolves a support ticket
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
ResolveTicketRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/support-tickets/{id}/statusUpdates the status of a support ticket
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
UpdateTicketStatusRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/support-tickets/{id}/updatesAdds an update or comment to a support ticket
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
AddTicketUpdateRequestDtoasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetailsTierManagement
/api/v1/partners/{id}/tier-historyRetrieves the tier change history for a partner
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
TierHistoryDto[]ProblemDetails/api/v1/partners/{id}/tier-qualificationRetrieves the tier qualification status for a partner, including current metrics vs requirements
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
TierQualificationDtoProblemDetails/api/v1/partners/{id}/tier/adjustAdmin adjusts a partner's tier (up or down). Demotions require 30-day written notice.
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
AdjustTierRequestasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetails/api/v1/partners/{id}/tier/advancePartner requests advancement to the next tier when criteria are met
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
No request body.
Responses
unspecifiedProblemDetails/api/v1/partners/{id}/tier/remediationAdmin initiates a 90-day remediation period for a partner not meeting tier criteria
Authentication:Bearer (the document-wide requirement)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | — |
Request body
Not marked as required in the document.
InitiateTierRemediationRequestasapplication/*+json,application/json,text/json
Responses
unspecifiedProblemDetailsSchemas
ActionItemInputDto
Input for a single action item from a business review
| Property | Type | Required | Description |
|---|---|---|---|
assignedTo | string | null | no | — |
description | string | null | no | — |
dueDate | string (date-time) | no | — |
AddTicketUpdateRequestDto
Request DTO for adding an update/comment to a support ticket
| Property | Type | Required | Description |
|---|---|---|---|
isInternal | boolean | no | — |
notes | string | null | no | — |
AdjustTierRequest
Request body for tier adjustment
| Property | Type | Required | Description |
|---|---|---|---|
newTier | string | null | no | — |
reason | string | null | no | — |
AdminAuthoriseHostingRequest
Request body for M:Essence.Partners.Api.Controllers.AdminPartnerCommercialController.AuthoriseHosting(System.Guid,System.Guid,Essence.Partners.Api.Controllers.AdminAuthoriseHostingRequest,System.Threading.CancellationToken).
| Property | Type | Required | Description |
|---|---|---|---|
agreementRef | string | null | no | The hosting agreement reference. |
region | string | null | no | The sovereign's region code, e.g. `GB`. |
AdminReviewPartnerRequest
Request body for M:Essence.Partners.Api.Controllers.AdminPartnersController.ReviewPartner(System.Guid,Essence.Partners.Api.Controllers.AdminReviewPartnerRequest,System.Threading.CancellationToken).
| Property | Type | Required | Description |
|---|---|---|---|
agreementVersion | string | null | no | — |
notes | string | null | no | — |
outcome | string | null | no | "Approved" or "Rejected". |
rejectionReason | string | null | no | — |
AdminSetPaymentTermsRequest
Request body for M:Essence.Partners.Api.Controllers.AdminPartnerCommercialController.SetPaymentTerms(System.Guid,Essence.Partners.Api.Controllers.AdminSetPaymentTermsRequest,System.Threading.CancellationToken).
| Property | Type | Required | Description |
|---|---|---|---|
days | integer (int32) | no | Payment terms in days, 0..120. |
AdminSuspendPartnerRequest
Request body for M:Essence.Partners.Api.Controllers.AdminPartnerCommercialController.SuspendPartner(System.Guid,Essence.Partners.Api.Controllers.AdminSuspendPartnerRequest,System.Threading.CancellationToken).
| Property | Type | Required | Description |
|---|---|---|---|
reason | string | null | no | Why the partner is suspended. |
ApproveOrderRequestDto
Request DTO for approving an order
| Property | Type | Required | Description |
|---|---|---|---|
approvedBy | string | null | no | Who is approving the order |
AuditLogEntryDto
DTO for a single audit log entry
| Property | Type | Required | Description |
|---|---|---|---|
action | string | null | no | — |
correlationId | string (uuid) | null | no | — |
entityId | string (uuid) | no | — |
entityType | string | null | no | — |
id | string (uuid) | no | — |
ipAddress | string | null | no | — |
newValue | string | null | no | — |
partnerId | string (uuid) | null | no | — |
performedAt | string (date-time) | no | — |
performedBy | string | null | no | — |
previousValue | string | null | no | — |
AuditLogEntryDtoPagedResult
A paginated result set wrapping a list of items with pagination metadata
| Property | Type | Required | Description |
|---|---|---|---|
hasNextPage | boolean | no | Whether there is a next page |
hasPreviousPage | boolean | no | Whether there is a previous page |
items | AuditLogEntryDto[] | null | no | The items in the current page |
page | integer (int32) | no | The current page number (1-based) |
pageSize | integer (int32) | no | The number of items per page |
totalCount | integer (int32) | no | Total number of items across all pages |
totalPages | integer (int32) | no | Total number of pages |
CalculateCommissionRequestDto
Request body for commission calculation
| Property | Type | Required | Description |
|---|---|---|---|
baseAmount | number (double) | no | — |
commercialModel | string | null | no | — |
currency | string | null | no | — |
isFruitOfTree | boolean | no | — |
partnerId | string (uuid) | no | — |
periodEnd | string (date-time) | no | — |
periodStart | string (date-time) | no | — |
registrationId | string (uuid) | null | no | — |
CancelOrderRequestDto
Request DTO for cancelling an order
| Property | Type | Required | Description |
|---|---|---|---|
reason | string | null | no | Reason for cancellation |
CertificationDto
Basic DTO for certification information
| Property | Type | Required | Description |
|---|---|---|---|
badgeCredentialId | string | null | no | Provenance handle for the credential. The EPIC 49 seam writes `training-path:{pathId}:{learnerUserId}`; anything else is an external issuance. |
certificateUrl | string | null | no | URL of the issued certificate, when one has been produced. |
certificationType | string | null | no | — |
completedAt | string (date-time) | null | no | — |
enrolledAt | string (date-time) | no | — |
expiresAt | string (date-time) | null | no | — |
id | string (uuid) | no | — |
partnerId | string (uuid) | no | — |
score | number (double) | null | no | Score achieved, 0–100; null while the certification is unassessed. |
status | string | null | no | — |
userId | string (uuid) | no | — |
CertificationsByTypeDto
Certification count by type
| Property | Type | Required | Description |
|---|---|---|---|
certificationType | string | null | no | — |
completedCount | integer (int32) | no | — |
enrolledCount | integer (int32) | no | — |
expiredCount | integer (int32) | no | — |
inProgressCount | integer (int32) | no | — |
CertificationSummaryDto
Certification completion status for the partner
| Property | Type | Required | Description |
|---|---|---|---|
completed | integer (int32) | no | — |
completionPercentage | number (double) | no | — |
inProgress | integer (int32) | no | — |
required | integer (int32) | no | — |
totalCertifications | integer (int32) | no | — |
CertificationTeamMemberDto
Team member certification status across all types
| Property | Type | Required | Description |
|---|---|---|---|
eaC300Status | string | null | no | — |
esC100Status | string | null | no | — |
etC200Status | string | null | no | — |
name | string | null | no | — |
userId | string (uuid) | no | — |
ChannelPartnerDto
Full detail DTO for a channel partner, used on the partner detail view
| Property | Type | Required | Description |
|---|---|---|---|
activatedAt | string (date-time) | null | no | — |
agreementCurrentTermEnd | string (date-time) | null | no | — |
agreementDocumentUrl | string | null | no | — |
agreementEffectiveDate | string (date-time) | null | no | — |
agreementInitialTermYears | integer (int32) | null | no | — |
agreementVersion | string | null | no | — |
countryOfIncorporation | string | null | no | — |
createdAt | string (date-time) | no | — |
createdBy | string | null | no | — |
currentTier | string | null | no | — |
id | string (uuid) | no | — |
invoiceCurrency | string | null | no | — |
legalName | string | null | no | — |
nonCircumventionEndDate | string (date-time) | null | no | — |
noticeAddressCity | string | null | no | — |
noticeAddressCountry | string | null | no | — |
noticeAddressCounty | string | null | no | — |
noticeAddressLine1 | string | null | no | — |
noticeAddressLine2 | string | null | no | — |
noticeAddressPostCode | string | null | no | — |
onboardingCompletedAt | string (date-time) | null | no | — |
onboardingStartedAt | string (date-time) | null | no | — |
partnerType | string | null | no | — |
principalContactEmail | string | null | no | — |
principalContactName | string | null | no | — |
principalContactPhone | string | null | no | — |
registeredAddressCity | string | null | no | — |
registeredAddressCountry | string | null | no | — |
registeredAddressCounty | string | null | no | — |
registeredAddressLine1 | string | null | no | — |
registeredAddressLine2 | string | null | no | — |
registeredAddressPostCode | string | null | no | — |
registeredNumber | string | null | no | — |
signableEnvelopeId | string | null | no | — |
signableEnvelopeStatus | string | null | no | — |
signableSignedDocumentUrl | string | null | no | — |
status | string | null | no | — |
terminatedAt | string (date-time) | null | no | — |
terminationReason | string | null | no | — |
territories | PartnerTerritoryDto[] | null | no | — |
tierHistory | PartnerTierHistoryDto[] | null | no | — |
tradingName | string | null | no | — |
updatedAt | string (date-time) | no | — |
users | PartnerUserDto[] | null | no | — |
windDownEndDate | string (date-time) | null | no | — |
CloseDealRequestDto
Request DTO for closing a deal registration
| Property | Type | Required | Description |
|---|---|---|---|
actualValue | number (double) | null | no | Actual deal value (required when Won) |
closeReason | string | null | no | Reason for losing the deal (required when Lost) |
commercialModel | string | null | no | Commercial model (required when Won): BuySell, Agency, or Referral |
orderReference | string | null | no | Reference to the resulting order (optional when Won) |
outcome | string | null | no | Outcome: Won or Lost |
valueCurrency | string | null | no | Currency for the actual value |
CommissionRecordDto
Individual commission record
| Property | Type | Required | Description |
|---|---|---|---|
baseAmount | number (double) | no | — |
commissionAmount | number (double) | no | — |
commissionRate | number (double) | no | — |
commissionType | string | null | no | — |
createdAt | string (date-time) | no | — |
currency | string | null | no | — |
customerName | string | null | no | — |
id | string (uuid) | no | — |
invoiceReference | string | null | no | — |
paymentDate | string (date-time) | null | no | — |
paymentStatus | string | null | no | — |
periodEnd | string (date-time) | no | — |
periodStart | string (date-time) | no | — |
CommissionSummaryDto
Partner commission summary with aggregates and individual records
| Property | Type | Required | Description |
|---|---|---|---|
commissions | CommissionRecordDto[] | null | no | — |
currency | string | null | no | — |
partnerId | string (uuid) | no | — |
totalEarned | number (double) | no | — |
totalPaid | number (double) | no | — |
totalPending | number (double) | no | — |
CompleteCertificationRequestDto
Request DTO for completing a certification
| Property | Type | Required | Description |
|---|---|---|---|
certificateUrl | string | null | no | — |
score | number (double) | no | — |
CompleteMilestoneRequest
Request body for completing an onboarding milestone
| Property | Type | Required | Description |
|---|---|---|---|
milestoneName | string | null | no | The name of the milestone to complete |
ComplianceDeclarationStatusDto
Status of a single declaration type for a partner
| Property | Type | Required | Description |
|---|---|---|---|
declarationId | string (uuid) | null | no | — |
declarationType | string | null | no | — |
declarationYear | integer (int32) | null | no | — |
declaredAt | string (date-time) | null | no | — |
documentUrl | string | null | no | — |
expiresAt | string (date-time) | null | no | — |
status | string | null | no | — |
ComplianceStatusDto
Overall compliance status for a partner including all declaration types and insurance records
| Property | Type | Required | Description |
|---|---|---|---|
declarations | ComplianceDeclarationStatusDto[] | null | no | — |
expiredCount | integer (int32) | no | — |
insuranceRecords | InsuranceRecordStatusDto[] | null | no | — |
isFullyCompliant | boolean | no | — |
overdueCount | integer (int32) | no | — |
partnerId | string (uuid) | no | — |
CreateDraftDealRegistrationRequestDto
Request DTO for creating a draft deal registration (partial fields, auto-save support)
| Property | Type | Required | Description |
|---|---|---|---|
budgetConfirmed | string | null | no | — |
competingSolutions | string | null | no | — |
currentStage | string | null | no | — |
customerContactEmail | string | null | no | — |
customerContactName | string | null | no | — |
customerContactPhone | string | null | no | — |
customerContactTitle | string | null | no | — |
customerCountry | string | null | no | — |
customerEmployeeCount | integer (int32) | null | no | — |
customerIndustry | string | null | no | — |
customerName | string | null | no | — |
customerWebsite | string | null | no | — |
decisionMakers | string | null | no | — |
engagementDescription | string | null | no | — |
estimatedAnnualValue | number (double) | null | no | — |
estimatedTotalValue | number (double) | null | no | — |
expectedCloseDate | string (date-time) | null | no | — |
opportunityTitle | string | null | no | — |
productsServices | string[] | null | no | — |
valueCurrency | string | null | no | — |
CreateMarketingAssetRequestDto
Request DTO for creating a marketing asset
| Property | Type | Required | Description |
|---|---|---|---|
category | string | null | no | — |
description | string | null | no | — |
fileSizeBytes | integer (int64) | no | — |
fileType | string | null | no | — |
fileUrl | string | null | no | — |
language | string | null | no | — |
minTier | string | null | no | — |
title | string | null | no | — |
vertical | string | null | no | — |
CreatePartnerOrderRequestDto
Request DTO for creating a partner order
| Property | Type | Required | Description |
|---|---|---|---|
commercialModel | string | null | no | Commercial model: BuySell, Agency, or Referral |
companyRegistrationNumber | string | null | no | The customer's company registration number. REQUIRED for provisioning (D3) — every third-party-created organisation is floored at Enhanced KYB, which cannot run without one. |
contactEmail | string | null | no | The customer administrator's email. REQUIRED for provisioning: it is where the PLATFORM sends the invitation to claim the organisation. The partner never handles the token — it is a bearer secret for permanent control of the customer's keys. |
country | string | null | no | The customer's jurisdiction (ISO country) — selects the KYB provider. |
customerDomain | string | null | no | Customer's primary domain name |
customerName | string | null | no | Customer's legal or trading name |
dealRegistrationId | string (uuid) | null | no | Optional deal registration ID linking this order |
industry | string | null | no | The customer's industry — feeds the KYB level policy. |
lines | OrderLineRequestDto[] | null | no | Line items in the order |
CreateSupportTicketRequestDto
Request DTO for creating a support ticket
| Property | Type | Required | Description |
|---|---|---|---|
customerName | string | null | no | — |
description | string | null | no | — |
partnerId | string (uuid) | no | — |
raisedBy | string (uuid) | no | — |
severity | string | null | no | — |
stepsToReproduce | string | null | no | — |
title | string | null | no | — |
CsatSurveyRequestDto
Request DTO for submitting a CSAT survey
| Property | Type | Required | Description |
|---|---|---|---|
comment | string | null | no | — |
score | integer (int32) | no | — |
CsatTrendDto
DTO for CSAT trend data by month
| Property | Type | Required | Description |
|---|---|---|---|
months | MonthlyCsatDto[] | null | no | — |
partnerId | string (uuid) | no | — |
CsatTrendPointDto
A single CSAT trend data point
| Property | Type | Required | Description |
|---|---|---|---|
averageScore | number (double) | no | — |
period | string | null | no | — |
responseCount | integer (int32) | no | — |
DealConflictDto
DTO for deal conflict information. CRITICAL: PartnerName must only be populated for Essence admin users, never for partner users.
| Property | Type | Required | Description |
|---|---|---|---|
conflictingRegistrationId | string (uuid) | no | — |
customerName | string | null | no | — |
matchScore | number (double) | no | — |
matchType | string | null | no | — |
partnerName | string | null | no | Name of the competing partner. ONLY populated for Essence admin users. Must be null/omitted for partner users (competition law compliance). |
referenceNumber | string | null | no | — |
DealFunnelAnalyticsDto
Advanced deal funnel analytics with conversion rates between stages
| Property | Type | Required | Description |
|---|---|---|---|
averageDaysToClose | number (double) | null | no | — |
averageDealValue | number (double) | no | — |
dateFrom | string (date-time) | no | — |
dateTo | string (date-time) | no | — |
overallConversionRate | number (double) | null | no | — |
partnerId | string (uuid) | null | no | — |
stages | FunnelStageDto[] | null | no | — |
totalDeals | integer (int32) | no | — |
totalValue | number (double) | no | — |
DealFunnelDto
DTO representing the deal registration funnel with counts and values per stage
| Property | Type | Required | Description |
|---|---|---|---|
approvedCount | integer (int32) | no | — |
approvedValue | number (double) | no | — |
closedLostCount | integer (int32) | no | — |
closedLostValue | number (double) | no | — |
closedWonCount | integer (int32) | no | — |
closedWonValue | number (double) | no | — |
conversionRate | number (double) | null | no | Conversion rate: ClosedWon / (ClosedWon + ClosedLost) as percentage |
expiredCount | integer (int32) | no | — |
expiredValue | number (double) | no | — |
pendingInfoCount | integer (int32) | no | — |
pendingInfoValue | number (double) | no | — |
revokedCount | integer (int32) | no | — |
revokedValue | number (double) | no | — |
submittedCount | integer (int32) | no | — |
submittedValue | number (double) | no | — |
totalCount | integer (int32) | no | — |
totalValue | number (double) | no | — |
DealRegistrationDetailDto
Full detail DTO for a deal registration including updates, protection countdown, and conflict info
| Property | Type | Required | Description |
|---|---|---|---|
actualValue | number (double) | null | no | — |
budgetConfirmed | string | null | no | — |
closeDate | string (date-time) | null | no | — |
closeReason | string | null | no | — |
commercialModel | string | null | no | — |
competingSolutions | string | null | no | — |
conflictResolutionNotes | string | null | no | — |
createdAt | string (date-time) | no | — |
currentStage | string | null | no | — |
customerContactEmail | string | null | no | — |
customerContactName | string | null | no | — |
customerContactPhone | string | null | no | — |
customerContactTitle | string | null | no | — |
customerCountry | string | null | no | — |
customerEmployeeCount | integer (int32) | null | no | — |
customerIndustry | string | null | no | — |
customerName | string | null | no | — |
customerWebsite | string | null | no | — |
decisionMakers | string | null | no | — |
engagementDescription | string | null | no | — |
estimatedAnnualValue | number (double) | null | no | — |
estimatedTotalValue | number (double) | null | no | — |
expectedCloseDate | string (date-time) | null | no | — |
extensionCount | integer (int32) | no | — |
hasConflict | boolean | no | — |
id | string (uuid) | no | — |
opportunityTitle | string | null | no | — |
orderReference | string | null | no | — |
partnerId | string (uuid) | no | — |
productsServices | string[] | null | no | — |
protectionDaysRemaining | integer (int32) | null | no | — |
protectionEndDate | string (date-time) | null | no | — |
protectionStartDate | string (date-time) | null | no | — |
referenceNumber | string | null | no | — |
rejectionReason | string | null | no | — |
reviewNotes | string | null | no | — |
reviewedAt | string (date-time) | null | no | — |
reviewedBy | string | null | no | — |
status | string | null | no | — |
submittedAt | string (date-time) | null | no | — |
submittedBy | string (uuid) | no | — |
supportRequired | SupportRequiredDetailDto | no | — |
updatedAt | string (date-time) | no | — |
updates | DealRegistrationUpdateDto[] | null | no | — |
valueCurrency | string | null | no | — |
DealRegistrationDto
Basic DTO for deal registration information
| Property | Type | Required | Description |
|---|---|---|---|
createdAt | string (date-time) | no | — |
customerName | string | null | no | — |
estimatedValue | number (double) | no | — |
id | string (uuid) | no | — |
partnerId | string (uuid) | no | — |
protectionExpiresAt | string (date-time) | null | no | — |
referenceNumber | string | null | no | — |
status | string | null | no | — |
DealRegistrationUpdateDto
DTO for a deal registration update record
| Property | Type | Required | Description |
|---|---|---|---|
createdAt | string (date-time) | no | — |
id | string (uuid) | no | — |
newStatus | string | null | no | — |
notes | string | null | no | — |
previousStatus | string | null | no | — |
updateType | string | null | no | — |
updatedBy | string (uuid) | no | — |
DealsSummaryDto
Deal registration counts by status
| Property | Type | Required | Description |
|---|---|---|---|
approved | integer (int32) | no | — |
closedLost | integer (int32) | no | — |
closedWon | integer (int32) | no | — |
expired | integer (int32) | no | — |
pendingReview | integer (int32) | no | — |
totalActive | integer (int32) | no | — |
DemoEnvironmentRequestDto
Request DTO for provisioning a demo environment
| Property | Type | Required | Description |
|---|---|---|---|
environmentType | string | null | no | — |
partnerId | string (uuid) | no | — |
DiscountApprovalRequestDto
Request body for requesting discount approval on a quote
| Property | Type | Required | Description |
|---|---|---|---|
justification | string | null | no | — |
requestedDiscountPercentage | number (double) | no | — |
EnrolCertificationRequestDto
Request DTO for enrolling in a certification
| Property | Type | Required | Description |
|---|---|---|---|
certificationType | string | null | no | — |
partnerId | string (uuid) | no | — |
userId | string (uuid) | no | — |
EscalateTicketRequestDto
Request DTO for escalating a ticket
| Property | Type | Required | Description |
|---|---|---|---|
escalationLevel | string | null | no | — |
reason | string | null | no | — |
ExpiringCertificationDto
Certification expiring within a specified window
| Property | Type | Required | Description |
|---|---|---|---|
certificationId | string (uuid) | no | — |
certificationType | string | null | no | — |
daysRemaining | integer (int32) | no | — |
expiresAt | string (date-time) | no | — |
userId | string (uuid) | no | — |
userName | string | null | no | — |
ExpiringDealDto
DTO for deals with expiring protection periods
| Property | Type | Required | Description |
|---|---|---|---|
customerName | string | null | no | — |
daysRemaining | integer (int32) | no | — |
expiresAt | string (date-time) | no | — |
partnerId | string (uuid) | no | — |
referenceNumber | string | null | no | — |
registrationId | string (uuid) | no | — |
ExtensionRequestDto
Request DTO for requesting a protection period extension
| Property | Type | Required | Description |
|---|---|---|---|
justification | string | null | no | Justification for why extension is needed |
progressUpdate | string | null | no | Progress update describing deal advancement (min 100 chars) |
ForecastOpportunityDto
Individual opportunity within a forecast
| Property | Type | Required | Description |
|---|---|---|---|
customer | string | null | no | — |
expectedClose | string (date-time) | no | — |
probability | number (double) | no | — |
stage | string | null | no | — |
value | number (double) | no | — |
weightedValue | number (double) | no | — |
ForecastOpportunityInputDto
Input for a single pipeline opportunity
| Property | Type | Required | Description |
|---|---|---|---|
customer | string | null | no | — |
expectedClose | string (date-time) | no | — |
probability | number (double) | no | — |
stage | string | null | no | — |
value | number (double) | no | — |
FunnelStageDto
A single funnel stage with counts, values, and conversion rate
| Property | Type | Required | Description |
|---|---|---|---|
averageDaysInStage | number (double) | null | no | — |
conversionRateFromPrevious | number (double) | null | no | — |
count | integer (int32) | no | — |
stage | string | null | no | — |
value | number (double) | no | — |
GenerateQuoteRequestDto
Request body for generating a partner quote
| Property | Type | Required | Description |
|---|---|---|---|
commercialModel | string | null | no | — |
customerName | string | null | no | — |
lines | QuoteLineRequestDto[] | null | no | — |
registrationId | string (uuid) | null | no | — |
InitiatePartnerTerminationCommand
Command to initiate the termination of a partnership with a wind-down period
| Property | Type | Required | Description |
|---|---|---|---|
partnerId | string (uuid) | no | The partner ID to terminate |
reason | string | null | no | Reason for termination |
terminationType | string | null | no | Type of termination: Notice, Breach, or Mutual |
InitiateTierRemediationRequest
Request body for tier remediation initiation
| Property | Type | Required | Description |
|---|---|---|---|
reason | string | null | no | — |
InsuranceRecordStatusDto
Status of a single insurance record for a partner
| Property | Type | Required | Description |
|---|---|---|---|
coverageAmount | number (double) | null | no | — |
coverageCurrency | string | null | no | — |
effectiveFrom | string (date-time) | null | no | — |
effectiveTo | string (date-time) | null | no | — |
insuranceType | string | null | no | — |
insurer | string | null | no | — |
policyNumber | string | null | no | — |
recordId | string (uuid) | null | no | — |
status | string | null | no | — |
MarketingAssetDto
DTO for a marketing or enablement asset
| Property | Type | Required | Description |
|---|---|---|---|
category | string | null | no | — |
createdAt | string (date-time) | no | — |
description | string | null | no | — |
downloadCount | integer (int32) | no | — |
fileSizeBytes | integer (int64) | no | — |
fileType | string | null | no | — |
fileUrl | string | null | no | — |
id | string (uuid) | no | — |
isActive | boolean | no | — |
language | string | null | no | — |
minTier | string | null | no | — |
title | string | null | no | — |
version | string | null | no | — |
vertical | string | null | no | — |
MilestoneDto
Individual milestone status
| Property | Type | Required | Description |
|---|---|---|---|
completedAt | string (date-time) | null | no | — |
completedBy | string | null | no | — |
description | string | null | no | — |
dueDate | string (date-time) | no | — |
id | string (uuid) | no | — |
isCompleted | boolean | no | — |
isRequired | boolean | no | — |
milestoneName | string | null | no | — |
sortOrder | integer (int32) | no | — |
MonthlyCsatDto
CSAT score for a single month
| Property | Type | Required | Description |
|---|---|---|---|
averageScore | number (double) | no | — |
month | string | null | no | — |
responseCount | integer (int32) | no | — |
MonthlyUpdateRequestDto
Request DTO for submitting a monthly deal update
| Property | Type | Required | Description |
|---|---|---|---|
currentStage | string | null | no | Optional: update the current sales stage |
estimatedValue | number (double) | null | no | Optional: update the estimated value |
statusNotes | string | null | no | Status notes describing deal progress |
valueCurrency | string | null | no | Currency for the estimated value update |
OnboardingProgressDto
DTO representing onboarding progress with milestone completion details
| Property | Type | Required | Description |
|---|---|---|---|
completionPercentage | number (double) | no | Overall completion percentage (0-100) |
daysRemaining | integer (int32) | no | Days remaining in the 90-day onboarding window |
milestones | MilestoneDto[] | null | no | List of all onboarding milestones with their completion status |
onboardingDeadline | string (date-time) | null | no | The deadline for completing onboarding |
onboardingStartedAt | string (date-time) | null | no | When onboarding started |
partnerId | string (uuid) | no | — |
OrderLineDto
DTO for an individual order line item
| Property | Type | Required | Description |
|---|---|---|---|
billingPeriod | string | null | no | — |
id | string (uuid) | no | — |
lineTotal | number (double) | no | — |
moduleToProvision | string | null | no | — |
productSku | string | null | no | — |
provisioningStatus | string | null | no | — |
quantity | integer (int32) | no | — |
unitBuyPrice | number (double) | no | — |
unitRrp | number (double) | no | — |
OrderLineRequestDto
Request DTO for an order line item
| Property | Type | Required | Description |
|---|---|---|---|
billingPeriod | string | null | no | Billing period (Monthly, Annual, One-Time) |
productSku | string | null | no | Product SKU identifier |
quantity | integer (int32) | no | Quantity ordered |
OrderProvisioningStatusDto
Real-time provisioning progress for a partner order
| Property | Type | Required | Description |
|---|---|---|---|
completedAt | string (date-time) | null | no | — |
failureReason | string | null | no | — |
instanceId | string (uuid) | null | no | — |
orderId | string (uuid) | no | — |
orderStatus | string | null | no | — |
percentComplete | integer (int32) | no | — |
provisioningStatus | string | null | no | — |
startedAt | string (date-time) | null | no | — |
steps | ProvisioningStepStatusDto[] | null | no | — |
workflowId | string (uuid) | null | no | — |
PartnerAccreditationDto
A partner's server-held accreditation. Every field is authoritative.
| Property | Type | Required | Description |
|---|---|---|---|
accreditedForOrgCreation | boolean | no | Whether this partner may create organisations on a customer's behalf. |
certifications | PartnerCertificationDto[] | null | no | Completed, unexpired certifications only. |
currentTier | string | null | no | The partner's real tier (Core / Digital / Quantum). Consumers MUST use this rather than any tier supplied in a request — that is what this endpoint exists for. |
legalName | string | null | no | — |
partnerId | string (uuid) | no | — |
status | string | null | no | — |
PartnerApplicationDetailDto
Full application detail for the review console's application detail page.
| Property | Type | Required | Description |
|---|---|---|---|
agreementEnvelopeStatus | string | null | no | — |
agreementVersion | string | null | no | — |
countryOfIncorporation | string | null | no | — |
essenceSignedAt | string (date-time) | null | no | — |
id | string (uuid) | no | — |
invoiceCurrency | string | null | no | — |
isOrganizationLinked | boolean | no | — |
legalName | string | null | no | — |
organizationId | string (uuid) | null | no | — |
partnerSignedAt | string (date-time) | null | no | — |
partnerType | string | null | no | — |
principalContactEmail | string | null | no | — |
principalContactName | string | null | no | — |
registeredAddress | string | null | no | — |
registeredNumber | string | null | no | — |
rejectionReason | string | null | no | — |
signedDocumentUrl | string | null | no | — |
status | string | null | no | — |
submittedAt | string (date-time) | no | — |
tradingName | string | null | no | — |
PartnerApplicationRequestDto
Input DTO for submitting a new partner application
| Property | Type | Required | Description |
|---|---|---|---|
addressCountry | string | null | no | — |
addressLine1 | string | null | no | — |
addressLine2 | string | null | no | — |
city | string | null | no | — |
countryOfIncorporation | string | null | no | ISO 3166-1 alpha-3 country of incorporation (e.g. GBR, USA) |
county | string | null | no | — |
invoiceCurrency | string | null | no | Preferred invoicing currency (GBP, USD, AED, EUR) |
legalName | string | null | no | Registered legal name of the partner entity |
partnerType | string | null | no | Partner business model classification |
postCode | string | null | no | — |
principalContactEmail | string | null | no | — |
principalContactName | string | null | no | — |
principalContactPhone | string | null | no | — |
registeredNumber | string | null | no | Company registration / incorporation number |
tradingName | string | null | no | Trading name or brand name (may differ from legal name) |
PartnerApplicationSummaryDto
Summary row for the partner application review queue.
| Property | Type | Required | Description |
|---|---|---|---|
agreementEnvelopeStatus | string | null | no | — |
countryOfIncorporation | string | null | no | — |
id | string (uuid) | no | — |
invoiceCurrency | string | null | no | — |
isOrganizationLinked | boolean | no | — |
legalName | string | null | no | — |
partnerType | string | null | no | — |
registeredNumber | string | null | no | — |
status | string | null | no | — |
submittedAt | string (date-time) | no | — |
PartnerCertificationDto
A completed, unexpired certification.
| Property | Type | Required | Description |
|---|---|---|---|
expiresAt | string (date-time) | null | no | — |
type | string | null | no | — |
PartnerCertificationSummaryDto
Summary of a partner's certification status across all types
| Property | Type | Required | Description |
|---|---|---|---|
certificationsByType | CertificationsByTypeDto[] | null | no | Breakdown of certifications by type |
completedCount | integer (int32) | no | Total number of completed certifications |
isCompliant | boolean | no | Whether the partner meets tier certification requirements |
teamMatrix | CertificationTeamMemberDto[] | null | no | Team member certification matrix |
tierRequired | integer (int32) | no | Number of certifications required for the partner's current tier |
PartnerCommercialDto
A partner's commercial position for the admin console: status, type, organisation link, payment terms, the standing counter and every hosting authorisation (active and revoked), newest first.
| Property | Type | Required | Description |
|---|---|---|---|
hostingAuthorisations | PartnerHostingAuthorisationDetailDto[] | null | no | — |
organizationId | string (uuid) | null | no | — |
partnerId | string (uuid) | no | — |
partnerType | string | null | no | — |
paymentTermsDays | integer (int32) | no | — |
standingVersion | integer (int64) | no | — |
status | string | null | no | — |
PartnerCustomerDto
Full detail DTO for a partner customer with order history and billing info
| Property | Type | Required | Description |
|---|---|---|---|
billingAccountId | string (uuid) | null | no | — |
commercialModel | string | null | no | — |
contactEmail | string | null | no | — |
contractEndDate | string (date-time) | null | no | — |
contractStartDate | string (date-time) | null | no | — |
createdAt | string (date-time) | no | — |
customerDomain | string | null | no | — |
customerName | string | null | no | — |
dealRegistrationId | string (uuid) | null | no | — |
id | string (uuid) | no | — |
instanceId | string (uuid) | null | no | — |
orders | PartnerOrderSummaryDto[] | null | no | — |
partnerId | string (uuid) | no | — |
status | string | null | no | — |
updatedAt | string (date-time) | no | — |
PartnerDashboardDto
Dashboard summary DTO aggregating key partner metrics
| Property | Type | Required | Description |
|---|---|---|---|
certificationStatus | CertificationSummaryDto | no | — |
csatScore | number (double) | null | no | Average CSAT score from recent business reviews |
currentTier | string | null | no | — |
dealsSummary | DealsSummaryDto | no | — |
legalName | string | null | no | — |
partnerId | string (uuid) | no | — |
revenueYtd | number (double) | no | Year-to-date revenue from commissions |
status | string | null | no | — |
upcomingActions | UpcomingActionDto[] | null | no | List of upcoming actions requiring attention |
PartnerHostingAuthorisationDetailDto
One hosting authorisation as the partner team sees it: active or revoked, with who/when/why.
| Property | Type | Required | Description |
|---|---|---|---|
agreementRef | string | null | no | — |
approvedAtUtc | string (date-time) | no | — |
approvedBy | string | null | no | — |
authorisationId | string (uuid) | no | — |
region | string | null | no | — |
revokeReason | string | null | no | — |
revokedAtUtc | string (date-time) | null | no | — |
revokedBy | string | null | no | — |
sovereignInstanceId | string (uuid) | no | — |
PartnerHostingAuthorisationDto
A managed service provider's authorisation to host on one sovereign instance.
| Property | Type | Required | Description |
|---|---|---|---|
agreementRef | string | null | no | — |
approvedAt | string (date-time) | no | — |
approvedBy | string | null | no | — |
authorisationId | string (uuid) | no | — |
partnerId | string (uuid) | no | — |
region | string | null | no | — |
revokedAt | string (date-time) | null | no | — |
sovereignInstanceId | string (uuid) | no | — |
PartnerNotificationDto
DTO for a partner notification
| Property | Type | Required | Description |
|---|---|---|---|
actionUrl | string | null | no | — |
category | string | null | no | — |
createdAt | string (date-time) | no | — |
id | string (uuid) | no | — |
isRead | boolean | no | — |
message | string | null | no | — |
partnerId | string (uuid) | no | — |
readAt | string (date-time) | null | no | — |
title | string | null | no | — |
userId | string (uuid) | no | — |
PartnerNotificationDtoPagedResult
A paginated result set wrapping a list of items with pagination metadata
| Property | Type | Required | Description |
|---|---|---|---|
hasNextPage | boolean | no | Whether there is a next page |
hasPreviousPage | boolean | no | Whether there is a previous page |
items | PartnerNotificationDto[] | null | no | The items in the current page |
page | integer (int32) | no | The current page number (1-based) |
pageSize | integer (int32) | no | The number of items per page |
totalCount | integer (int32) | no | Total number of items across all pages |
totalPages | integer (int32) | no | Total number of pages |
PartnerOrderDto
Full detail DTO for a partner order including lines, billing, and provisioning
| Property | Type | Required | Description |
|---|---|---|---|
approvedAt | string (date-time) | null | no | — |
approvedBy | string | null | no | — |
billingSubscriptionId | string (uuid) | null | no | — |
commercialModel | string | null | no | — |
createdAt | string (date-time) | no | — |
customerId | string (uuid) | no | — |
customerName | string | null | no | — |
dealRegistrationId | string (uuid) | null | no | — |
discountApplied | number (double) | no | — |
discountBand | string | null | no | — |
id | string (uuid) | no | — |
invoiceId | string (uuid) | null | no | — |
lines | OrderLineDto[] | null | no | — |
partnerId | string (uuid) | no | — |
partnerMargin | number (double) | no | — |
provisioningWorkflowId | string (uuid) | null | no | — |
status | string | null | no | — |
totalBuyPrice | number (double) | no | — |
totalRrp | number (double) | no | — |
updatedAt | string (date-time) | no | — |
PartnerOrderSummaryDto
Summary DTO for partner order listing
| Property | Type | Required | Description |
|---|---|---|---|
commercialModel | string | null | no | — |
createdAt | string (date-time) | no | — |
customerName | string | null | no | — |
discountBand | string | null | no | — |
id | string (uuid) | no | — |
lineCount | integer (int32) | no | — |
partnerId | string (uuid) | no | — |
status | string | null | no | — |
totalBuyPrice | number (double) | no | — |
PartnerPaymentTermsDto
A partner's payment terms.
| Property | Type | Required | Description |
|---|---|---|---|
partnerId | string (uuid) | no | — |
paymentTermsDays | integer (int32) | no | — |
PartnerProfileDto
Lightweight profile of the current user's own partner, used to compose the portal's authenticated-user view (/auth/me). Not the full aggregate.
| Property | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | no | The partner id. |
legalName | string | null | no | Registered legal name. |
role | string | null | no | The caller's own role in this partner (a `PartnerRole` enum name), or `null` when it cannot be determined. The applicant is the partner's principal and so its Admin; an invited member carries the role on their `PartnerUser` record (FR-55.013). The portal scopes navigation and routes on this, so it must never be a constant (#8369). |
status | string | null | no | Current lifecycle status (enum name). |
tier | string | null | no | Current programme tier (enum name). |
PartnerQuoteDto
Full quote details including lines, discount info, and mandatory RRP disclaimer. COMPETITION LAW: RRP is a recommendation ONLY.
| Property | Type | Required | Description |
|---|---|---|---|
commercialModel | string | null | no | — |
createdAt | string (date-time) | no | — |
currency | string | null | no | — |
customerName | string | null | no | — |
discountApproved | boolean | no | — |
discountApprovedBy | string | null | no | — |
discountBand | string | null | no | — |
discountPercentage | number (double) | no | — |
id | string (uuid) | no | — |
lines | QuoteLineDto[] | null | no | — |
marginPercentage | number (double) | no | — |
partnerId | string (uuid) | no | — |
registrationId | string (uuid) | null | no | — |
rrpDisclaimer | string | null | no | Competition law disclaimer — must be displayed on all pricing surfaces. |
status | string | null | no | — |
totalBuyPrice | number (double) | no | — |
totalRrp | number (double) | no | — |
validUntil | string (date-time) | no | — |
PartnerRevenueDto
Revenue attribution trail for a partner customer: orders to invoices to payments to commissions
| Property | Type | Required | Description |
|---|---|---|---|
currency | string | null | no | — |
customerId | string (uuid) | no | — |
customerName | string | null | no | — |
totalCommissions | number (double) | no | — |
totalPendingPayouts | number (double) | no | — |
totalRevenue | number (double) | no | — |
traceabilityChain | RevenueTraceDto[] | null | no | — |
PartnerScorecardDto
Comprehensive partner scorecard with key performance metrics
| Property | Type | Required | Description |
|---|---|---|---|
activeCertifications | integer (int32) | no | — |
averageCsatScore | number (double) | null | no | — |
certificationCompliancePercentage | number (double) | null | no | — |
closedWonDealValue | number (double) | no | Sum of closed-won deal registration values in the window — a pipeline measure, not tier revenue. |
completedReviews | integer (int32) | no | — |
csatTrend | CsatTrendPointDto[] | null | no | — |
currentTier | string | null | no | — |
dateRangeFrom | string (date-time) | null | no | — |
dateRangeTo | string (date-time) | null | no | — |
dealConversionRate | number (double) | null | no | — |
dealsApproved | integer (int32) | no | — |
dealsExpired | integer (int32) | no | — |
dealsLost | integer (int32) | no | — |
dealsSubmitted | integer (int32) | no | — |
dealsWon | integer (int32) | no | — |
generatedAt | string (date-time) | no | — |
latestPipelineAccuracy | number (double) | null | no | — |
newLogosCount | integer (int32) | no | — |
partnerId | string (uuid) | no | — |
partnerName | string | null | no | — |
requiredCertifications | integer (int32) | no | — |
revenueAttainmentPercentage | number (double) | no | — |
revenueBasis | string | null | no | — |
reviewAdherencePercentage | number (double) | null | no | — |
scheduledReviews | integer (int32) | no | — |
slaCompliancePercentage | number (double) | null | no | — |
slaMetTickets | integer (int32) | no | — |
tierCriteria | ScorecardTierCriterionDto[] | null | no | Every criterion of the current tier and of the next tier, judged exactly as the tier review judges it (rolling 12 months to Essence.Partners.Contracts.Dtos.PartnerScorecardDto.TierCriteriaAssessedAt). |
tierCriteriaAssessedAt | string (date-time) | null | no | — |
tierRevenueThreshold | number (double) | no | — |
totalRevenue | number (double) | no | — |
totalTickets | integer (int32) | no | — |
PartnerStandingRepublishResultDto
What the standing republish enqueued: standing snapshots, Authorised events (active authorisations) and Revoked events (revoked authorisations).
| Property | Type | Required | Description |
|---|---|---|---|
authorisations | integer (int32) | no | — |
partners | integer (int32) | no | — |
revocations | integer (int32) | no | — |
PartnerStatus
Lifecycle status of a channel partner
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 with no declared properties.
PartnerStatusDto
A partner's status after an admin status change.
| Property | Type | Required | Description |
|---|---|---|---|
partnerId | string (uuid) | no | — |
status | string | null | no | — |
PartnerTerritoryDto
DTO for partner territory assignments
| Property | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | no | — |
isPrimary | boolean | no | — |
restrictions | string | null | no | — |
territoryCode | string | null | no | — |
territoryName | string | null | no | — |
PartnerTierHistoryDto
DTO for partner tier change history
| Property | Type | Required | Description |
|---|---|---|---|
changeType | string | null | no | — |
effectiveDate | string (date-time) | no | — |
id | string (uuid) | no | — |
newTier | string | null | no | — |
previousTier | string | null | no | — |
reason | string | null | no | — |
remediationEndDate | string (date-time) | null | no | — |
PartnerUserDto
DTO for partner portal users
| Property | Type | Required | Description |
|---|---|---|---|
detailsWithheld | boolean | no | True when the caller is not the partner's Admin, so this colleague's email and role are withheld from them (#12814). Withheld is its own state: the colleague IS on the roster, and a client must not render it as an unknown or departed user. |
email | string | null | no | Null when Essence.Partners.Contracts.Dtos.PartnerUserDto.DetailsWithheld — never an empty string standing in for it. |
firstName | string | null | no | — |
id | string (uuid) | no | — |
isActive | boolean | no | — |
lastName | string | null | no | — |
role | string | null | no | Null when Essence.Partners.Contracts.Dtos.PartnerUserDto.DetailsWithheld. |
PendingApplicationCountsDto
| Property | Type | Required | Description |
|---|---|---|---|
awaitingCountersignature | integer (int32) | no | — |
awaitingReview | integer (int32) | no | — |
PipelineForecastDto
DTO for pipeline forecast with opportunities and actuals
| Property | Type | Required | Description |
|---|---|---|---|
actualClosedValue | number (double) | null | no | — |
currency | string | null | no | — |
forecastAccuracy | number (double) | null | no | — |
forecastQuarter | string | null | no | — |
id | string (uuid) | no | — |
isQuarterClosed | boolean | no | — |
opportunities | ForecastOpportunityDto[] | null | no | — |
partnerId | string (uuid) | no | — |
submittedAt | string (date-time) | no | — |
totalPipelineValue | number (double) | no | — |
weightedPipelineValue | number (double) | no | — |
PriceListDto
Tier-filtered price list with mandatory RRP disclaimer. COMPETITION LAW: RRP is a recommendation ONLY.
| Property | Type | Required | Description |
|---|---|---|---|
items | PriceListItemDto[] | null | no | — |
rrpDisclaimer | string | null | no | Competition law disclaimer — must be displayed on all pricing surfaces. |
tier | string | null | no | — |
PriceListItemDto
Individual product SKU pricing
| Property | Type | Required | Description |
|---|---|---|---|
billingPeriod | string | null | no | — |
buyPrice | number (double) | no | — |
description | string | null | no | — |
marginPercentage | number (double) | no | — |
name | string | null | no | — |
rrp | number (double) | no | — |
sku | string | null | no | — |
ProblemDetails
| Property | Type | Required | Description |
|---|---|---|---|
detail | string | null | no | — |
instance | string | null | no | — |
status | integer (int32) | null | no | — |
title | string | null | no | — |
type | string | null | no | — |
ProcessTrueUpRequestDto
Request body for true-up processing
| Property | Type | Required | Description |
|---|---|---|---|
partnerId | string (uuid) | no | — |
quarter | string | null | no | — |
ProgrammeNotificationDto
A notification addressed to the Essence partner-review team (all admin:partners holders).
| Property | Type | Required | Description |
|---|---|---|---|
actionUrl | string | null | no | — |
category | string | null | no | — |
createdAt | string (date-time) | no | — |
id | string (uuid) | no | — |
isRead | boolean | no | — |
message | string | null | no | — |
relatedPartnerId | string (uuid) | null | no | — |
title | string | null | no | — |
ProgrammeTierDto
One rung of the programme ladder.
| Property | Type | Required | Description |
|---|---|---|---|
annualRevenueThresholdGbp | number (double) | no | The published annual revenue threshold, in GBP. |
benefits | string[] | null | no | Benefits the file lists for the rung; empty when it lists none. |
code | string | null | no | The tier's name as every service holds it (`Registered`, `Core`, …). |
entry | string | null | no | Entry condition, where the ladder states one beyond the threshold. |
marginBasis | string | null | no | The file's own wording of the rung's margin basis, verbatim. |
marginColumn | string | null | no | The margin-matrix column this rung is paid on, or `null` when it resells nothing (Registered is referral only). Strategic reads the Quantum column (FR-55.143). |
name | string | null | no | Display name. |
order | integer (int32) | no | The programme ordinal (FR-55.140), equal to the services' enum value. |
referralFeeRate | number (double) | null | no | One-time referral fee as a fraction of first-year subscription value (FR-55.147). |
resaleMarginByFamily | map<string, number (double)> | null | no | Resale margin as a fraction off list price, per SKU family, from Essence.Partners.Contracts.Dtos.ProgrammeTierDto.MarginColumn; `null` when the rung carries no margin — never a zero, which would read as "nil discount agreed". |
ProgrammeTierMappingDto
The cross-walk between the seller ladder and the three other ladders (DD-119 §5).
| Property | Type | Required | Description |
|---|---|---|---|
reading | string | null | no | How to read it: "comparable to — never a conversion". |
rows | ProgrammeTierMappingRowDto[] | null | no | One row per seller rung. |
status | string | null | no | The file's status for the mapping. |
ProgrammeTierMappingRowDto
One cross-walk row; a `null` rung means that ladder has no comparable rung.
| Property | Type | Required | Description |
|---|---|---|---|
builder | string | null | no | — |
framework | string | null | no | — |
seller | string | null | no | — |
specialism | string | null | no | — |
ProgrammeTiersDto
The partner programme ladder as `docs/commercial/catalogue/partner-tiers.json` states it, served by `GET /api/v1/partners/programme/tiers` (EPIC 55 FR-55.151). Partner-portal, the website partners page, the L200 partner deck and EPIC 109's trust page read this instead of a local copy of the ladder.
| Property | Type | Required | Description |
|---|---|---|---|
familiesWithNoPartnerMargin | string[] | null | no | SKU families that carry no resale margin on any rung, deliberately. |
source | string | null | no | Where the ladder was ruled (the file's `programmeLadder.source`). |
status | string | null | no | The file's own status for the five-rung ladder (`proposed` until FR-55.157 records the reissue). |
tierMapping | ProgrammeTierMappingDto | no | — |
tiers | ProgrammeTierDto[] | null | no | The five rungs, in programme order (Registered 0 … Strategic 4). |
ProvisioningStepStatusDto
Status of a single provisioning step
| Property | Type | Required | Description |
|---|---|---|---|
completedAt | string (date-time) | null | no | — |
error | string | null | no | — |
startedAt | string (date-time) | null | no | — |
status | string | null | no | — |
stepName | string | null | no | — |
QuarterlyRevenueDto
Revenue figure for a single quarter
| Property | Type | Required | Description |
|---|---|---|---|
orderCount | integer (int32) | no | — |
quarter | string | null | no | — |
totalRevenue | number (double) | no | — |
QuoteLineDto
Individual line item within a quote
| Property | Type | Required | Description |
|---|---|---|---|
billingPeriod | string | null | no | — |
lineBuyPriceTotal | number (double) | no | — |
lineRrpTotal | number (double) | no | — |
productName | string | null | no | — |
productSku | string | null | no | — |
quantity | integer (int32) | no | — |
unitBuyPrice | number (double) | no | — |
unitRrp | number (double) | no | — |
QuoteLineRequestDto
Individual line item request for quote generation
| Property | Type | Required | Description |
|---|---|---|---|
billingPeriod | string | null | no | — |
productSku | string | null | no | — |
quantity | integer (int32) | no | — |
RecordBusinessReviewMinutesRequestDto
Request body for recording business review minutes
| Property | Type | Required | Description |
|---|---|---|---|
actionItems | ActionItemInputDto[] | null | no | — |
minutes | string | null | no | — |
nextReviewDate | string (date-time) | null | no | — |
RecordCertificationProgressRequestDto
Request DTO for recording certification progress
| Property | Type | Required | Description |
|---|---|---|---|
progressPercentage | integer (int32) | no | — |
ResolveTicketRequestDto
Request DTO for resolving a ticket
| Property | Type | Required | Description |
|---|---|---|---|
resolutionNotes | string | null | no | — |
RevenueAttributionDto
Revenue attribution breakdown for a partner
| Property | Type | Required | Description |
|---|---|---|---|
byCommercialModel | RevenueByModelDto[] | null | no | Revenue breakdown by commercial model (BuySell, Agency, Referral) |
byProduct | RevenueByProductDto[] | null | no | Revenue breakdown by product SKU |
byQuarter | RevenueByQuarterDto[] | null | no | Revenue breakdown by quarter |
currency | string | null | no | — |
dateFrom | string (date-time) | no | — |
dateTo | string (date-time) | no | — |
partnerId | string (uuid) | no | — |
totalRevenue | number (double) | no | — |
RevenueByModelDto
Revenue grouped by commercial model
| Property | Type | Required | Description |
|---|---|---|---|
commercialModel | string | null | no | — |
dealCount | integer (int32) | no | — |
percentage | number (double) | no | — |
revenue | number (double) | no | — |
RevenueByProductDto
Revenue grouped by product
| Property | Type | Required | Description |
|---|---|---|---|
percentage | number (double) | no | — |
productSku | string | null | no | — |
quantity | integer (int32) | no | — |
revenue | number (double) | no | — |
RevenueByQuarterDto
Revenue grouped by quarter
| Property | Type | Required | Description |
|---|---|---|---|
dealCount | integer (int32) | no | — |
growthPercentage | number (double) | no | — |
quarter | string | null | no | — |
revenue | number (double) | no | — |
RevenueTraceDto
A single link in the revenue traceability chain
| Property | Type | Required | Description |
|---|---|---|---|
commissionAmount | number (double) | null | no | — |
commissionId | string (uuid) | null | no | — |
invoiceAmount | number (double) | null | no | — |
invoiceId | string (uuid) | null | no | — |
orderAmount | number (double) | no | — |
orderDate | string (date-time) | no | — |
orderId | string (uuid) | no | — |
orderStatus | string | null | no | — |
paymentStatus | string | null | no | — |
payoutAmount | number (double) | null | no | — |
payoutId | string (uuid) | null | no | — |
subscriptionId | string (uuid) | null | no | — |
RevenueTrendDto
DTO for revenue trend data by quarter
| Property | Type | Required | Description |
|---|---|---|---|
partnerId | string (uuid) | no | — |
quarters | QuarterlyRevenueDto[] | null | no | — |
ReviewDealRegistrationRequestDto
Request DTO for reviewing a deal registration
| Property | Type | Required | Description |
|---|---|---|---|
notes | string | null | no | Review notes |
outcome | ReviewOutcome | no | — |
rejectionReason | string | null | no | Reason for rejection (required when outcome is Rejected) |
ReviewOutcome
The set of outcomes a channel-team reviewer can produce for a deal registration. Tighter than Essence.Partners.Domain.Enums.DealRegistrationStatus: a reviewer can only approve, reject, or send back for more information — the remaining lifecycle states are reached by other transitions. Replaces the former free-form string + ValidOutcomes allowlist so the command, validator, and controller share a single compile-time source of truth.
1 | 2 | 3 with no declared properties.
ReviewPartnerApplicationRequestDto
Input DTO for reviewing (approving or rejecting) a partner application
| Property | Type | Required | Description |
|---|---|---|---|
agreementVersion | string | null | no | Agreement version to issue on approval (default: "1.0") |
notes | string | null | no | Internal review notes |
outcome | string | null | no | Review outcome: "Approved" or "Rejected" |
rejectionReason | string | null | no | Reason for rejection (required when outcome is Rejected) |
RevokeDealRegistrationCommand
Revokes a previously approved deal registration (admin only)
| Property | Type | Required | Description |
|---|---|---|---|
reason | string | null | no | Reason for revoking the protection |
registrationId | string (uuid) | no | — |
ScheduleBusinessReviewRequestDto
Request body for scheduling a business review
| Property | Type | Required | Description |
|---|---|---|---|
attendees | string[] | null | no | — |
partnerId | string (uuid) | no | — |
reviewType | string | null | no | — |
scheduledDate | string (date-time) | no | — |
ScorecardTierCriterionDto
One tier criterion on the scorecard: the partner's current value, what the tier requires, and whether it is met. Boolean criteria read 1 (yes) / 0 (no).
| Property | Type | Required | Description |
|---|---|---|---|
criterion | string | null | no | — |
current | number (double) | no | — |
met | boolean | no | — |
required | number (double) | no | — |
tier | string | null | no | — |
ServiceProviderDirectoryEntryDto
One approved hosting provider in a region: an Active managed service provider and the sovereign instances in that region it is authorised to host on. Carries no price.
| Property | Type | Required | Description |
|---|---|---|---|
displayName | string | null | no | — |
organizationId | string (uuid) | null | no | — |
partnerId | string (uuid) | no | — |
region | string | null | no | — |
sovereignInstanceIds | (string (uuid))[] | null | no | — |
SlaStatusDto
SLA timer status for a ticket
| Property | Type | Required | Description |
|---|---|---|---|
isBreached | boolean | no | — |
l1Due | string (date-time) | null | no | — |
l1Met | boolean | null | no | — |
l2Due | string (date-time) | null | no | — |
l2Met | boolean | null | no | — |
resolutionDue | string (date-time) | null | no | — |
resolutionMet | boolean | null | no | — |
SubmitComplianceDeclarationRequestDto
Request body for submitting a compliance declaration
| Property | Type | Required | Description |
|---|---|---|---|
declarationType | string | null | no | — |
documentUrl | string | null | no | — |
partnerId | string (uuid) | no | — |
SubmitDealRegistrationRequestDto
Request DTO for submitting a deal registration with all required fields
| Property | Type | Required | Description |
|---|---|---|---|
budgetConfirmed | string | null | no | — |
competingSolutions | string | null | no | — |
competitiveDisplacementRequired | boolean | no | — |
currentStage | string | null | no | — |
customerContactEmail | string | null | no | — |
customerContactName | string | null | no | — |
customerContactPhone | string | null | no | — |
customerContactTitle | string | null | no | — |
customerCountry | string | null | no | — |
customerEmployeeCount | integer (int32) | null | no | — |
customerIndustry | string | null | no | — |
customerName | string | null | no | — |
customerWebsite | string | null | no | — |
decisionMakers | string | null | no | — |
draftId | string (uuid) | null | no | Optional: if submitting from an existing draft |
engagementDescription | string | null | no | — |
estimatedAnnualValue | number (double) | no | — |
estimatedTotalValue | number (double) | null | no | — |
execSponsorshipRequired | boolean | no | — |
expectedCloseDate | string (date-time) | no | — |
opportunityTitle | string | null | no | — |
otherSupportRequired | string | null | no | — |
productDemoRequired | boolean | no | — |
productsServices | string[] | null | no | — |
proofOfConceptRequired | boolean | no | — |
technicalPresalesRequired | boolean | no | — |
valueCurrency | string | null | no | — |
SubmitPipelineForecastRequestDto
Request body for submitting a pipeline forecast
| Property | Type | Required | Description |
|---|---|---|---|
forecastQuarter | string | null | no | — |
opportunities | ForecastOpportunityInputDto[] | null | no | — |
partnerId | string (uuid) | no | — |
SupportPerformanceDto
Aggregate support performance metrics for a partner
| Property | Type | Required | Description |
|---|---|---|---|
averageCsatScore | number (double) | no | — |
csatResponseCount | integer (int32) | no | — |
escalationRatePercent | number (double) | no | — |
l1SlaCompliancePercent | number (double) | no | — |
l2SlaCompliancePercent | number (double) | no | — |
partnerId | string (uuid) | no | — |
periodEnd | string (date-time) | no | — |
periodStart | string (date-time) | no | — |
resolutionSlaCompliancePercent | number (double) | no | — |
ticketsBySeverity | TicketCountBySeverityDto[] | null | no | — |
ticketsByStatus | TicketCountByStatusDto[] | null | no | — |
totalTickets | integer (int32) | no | — |
SupportRequiredDetailDto
DTO for support required details
| Property | Type | Required | Description |
|---|---|---|---|
competitiveDisplacement | boolean | no | — |
execSponsorship | boolean | no | — |
other | string | null | no | — |
productDemo | boolean | no | — |
proofOfConcept | boolean | no | — |
technicalPresales | boolean | no | — |
SupportTicketDetailDto
Detailed DTO with full SLA timers and escalation history
| Property | Type | Required | Description |
|---|---|---|---|
assignedTo | string | null | no | — |
closedAt | string (date-time) | null | no | — |
createdAt | string (date-time) | no | — |
csatComment | string | null | no | — |
csatScore | integer (int32) | null | no | — |
currentLevel | integer (int32) | no | — |
customerName | string | null | no | — |
description | string | null | no | — |
id | string (uuid) | no | — |
l1ResponseAt | string (date-time) | null | no | — |
l1SlaMet | boolean | null | no | — |
l2ResponseAt | string (date-time) | null | no | — |
l2SlaMet | boolean | null | no | — |
partnerId | string (uuid) | no | — |
raisedBy | string (uuid) | no | — |
resolutionAt | string (date-time) | null | no | — |
resolutionSlaMet | boolean | null | no | — |
severity | string | null | no | — |
slaTimers | SlaStatusDto | no | — |
status | string | null | no | — |
stepsToReproduce | string | null | no | — |
ticketReference | string | null | no | — |
title | string | null | no | — |
updatedAt | string (date-time) | no | — |
SupportTicketDto
Full DTO for a support ticket including SLA times
| Property | Type | Required | Description |
|---|---|---|---|
assignedTo | string | null | no | — |
closedAt | string (date-time) | null | no | — |
createdAt | string (date-time) | no | — |
csatComment | string | null | no | — |
csatScore | integer (int32) | null | no | — |
currentLevel | integer (int32) | no | — |
customerName | string | null | no | — |
description | string | null | no | — |
id | string (uuid) | no | — |
l1ResponseAt | string (date-time) | null | no | — |
l1SlaMet | boolean | null | no | — |
l2ResponseAt | string (date-time) | null | no | — |
l2SlaMet | boolean | null | no | — |
partnerId | string (uuid) | no | — |
raisedBy | string (uuid) | no | — |
resolutionAt | string (date-time) | null | no | — |
resolutionSlaMet | boolean | null | no | — |
severity | string | null | no | — |
slaStatus | SlaStatusDto | no | — |
status | string | null | no | — |
stepsToReproduce | string | null | no | — |
ticketReference | string | null | no | — |
title | string | null | no | — |
TicketCountBySeverityDto
Ticket count grouped by severity
| Property | Type | Required | Description |
|---|---|---|---|
count | integer (int32) | no | — |
severity | string | null | no | — |
TicketCountByStatusDto
Ticket count grouped by status
| Property | Type | Required | Description |
|---|---|---|---|
count | integer (int32) | no | — |
status | string | null | no | — |
TierCriteriaDto
Tier criteria requirements
| Property | Type | Required | Description |
|---|---|---|---|
minAnnualRevenue | number (double) | no | — |
minCertifiedArchitects | integer (int32) | no | — |
minCertifiedProfessionals | integer (int32) | no | — |
minCsatScore | number (double) | no | — |
minForecastAccuracy | number (double) | no | — |
minNewLogos | integer (int32) | no | — |
minReferenceCustomers | integer (int32) | no | — |
requiresActivePipeline | boolean | no | — |
requiresOnboardingComplete | boolean | no | — |
requiresQuarterlyForecasts | boolean | no | — |
tier | string | null | no | — |
TierHistoryDto
Tier change history record
| Property | Type | Required | Description |
|---|---|---|---|
changeType | string | null | no | — |
createdAt | string (date-time) | no | — |
decidedBy | string | null | no | — |
effectiveDate | string (date-time) | no | — |
id | string (uuid) | no | — |
newTier | string | null | no | — |
partnerId | string (uuid) | no | — |
previousTier | string | null | no | — |
reason | string | null | no | — |
remediationEndDate | string (date-time) | null | no | — |
TierMetricsDto
Current partner metrics
| Property | Type | Required | Description |
|---|---|---|---|
activePipeline | boolean | no | — |
annualRevenue | number (double) | no | — |
certifiedArchitects | integer (int32) | no | — |
certifiedProfessionals | integer (int32) | no | — |
csatScore | number (double) | no | — |
forecastAccuracy | number (double) | no | — |
newLogos | integer (int32) | no | — |
onboardingComplete | boolean | no | — |
quarterlyForecastsSubmitted | boolean | no | — |
referenceCustomers | integer (int32) | no | — |
TierQualificationDto
Tier qualification assessment result with metrics and status
| Property | Type | Required | Description |
|---|---|---|---|
assessedAt | string (date-time) | no | — |
atRiskOfDemotion | boolean | no | — |
currentTier | string | null | no | — |
currentTierCriteria | TierCriteriaDto | no | — |
eligibleForAdvancement | boolean | no | — |
metrics | TierMetricsDto | no | — |
nextTierCriteria | TierCriteriaDto | no | — |
partnerId | string (uuid) | no | — |
qualifiedForCurrentTier | boolean | no | — |
TrueUpResultDto
Result of a quarterly true-up reconciliation for a Buy-Sell partner
| Property | Type | Required | Description |
|---|---|---|---|
actualUsageValue | number (double) | no | — |
adjustmentInvoiceRequired | boolean | no | — |
orderedQuantityValue | number (double) | no | — |
overageAmount | number (double) | no | — |
partnerId | string (uuid) | no | — |
processedAt | string (date-time) | no | — |
quarter | string | null | no | — |
UpcomingActionDto
An upcoming action or task requiring partner attention
| Property | Type | Required | Description |
|---|---|---|---|
description | string | null | no | — |
dueDate | string (date-time) | null | no | — |
priority | string | null | no | — |
title | string | null | no | — |
UpdatePartnerDetailsRequestDto
Input DTO for updating editable partner details
| Property | Type | Required | Description |
|---|---|---|---|
noticeAddressCity | string | null | no | — |
noticeAddressCountry | string | null | no | — |
noticeAddressCounty | string | null | no | — |
noticeAddressLine1 | string | null | no | — |
noticeAddressLine2 | string | null | no | — |
noticeAddressPostCode | string | null | no | — |
principalContactEmail | string | null | no | Principal contact email |
principalContactName | string | null | no | Principal contact name |
principalContactPhone | string | null | no | Principal contact phone |
tradingName | string | null | no | Trading name or brand name |
UpdateTicketStatusRequestDto
Request DTO for updating ticket status
| Property | Type | Required | Description |
|---|---|---|---|
newStatus | string | null | no | — |
notes | string | null | no | — |
UploadInsuranceCertificateRequestDto
Request body for uploading an insurance certificate
| Property | Type | Required | Description |
|---|---|---|---|
certificateUrl | string | null | no | — |
coverageAmount | number (double) | no | — |
coverageCurrency | string | null | no | — |
effectiveFrom | string (date-time) | no | — |
effectiveTo | string (date-time) | no | — |
insuranceType | string | null | no | — |
insurer | string | null | no | — |
partnerId | string (uuid) | no | — |
policyNumber | string | null | no | — |