Partner Portal APIs
Portal endpoints for authenticated partner users.
Base URL
https://service-gateway.loscenotes.com/api/partner-portal
Authentication
Authorization: Bearer <jwt>
Endpoint groups
Dashboard
GET /api/partner-portal/metrics returns your API traffic: apiCalls, responseTime, errorRate, topEndpoints, statusCodes. If there is no traffic yet, the series is empty. Business KPIs come from GET /api/partner-portal/dashboard.
GET /api/partner-portal/dashboardGET /api/partner-portal/metricsGET /api/partner-portal/activity-feed
API key management
GET /api/partner-portal/api-keys— returns maskedkey+keyPrefix+lastUsedAt(no full secret)POST /api/partner-portal/api-keys— once-reveal full key on createPUT /api/partner-portal/api-keys/:keyIdDELETE /api/partner-portal/api-keys/:keyIdPOST /api/partner-portal/api-keys/:keyId/rotate— once-reveal on rotate
Webhooks
Create, update, and test reject private and metadata URLs. Delivery accepts public HTTPS only and does not follow redirects.
GET /api/partner-portal/webhooksPOST /api/partner-portal/webhooksPUT /api/partner-portal/webhooks/:webhookIdDELETE /api/partner-portal/webhooks/:webhookIdPOST /api/partner-portal/webhooks/:webhookId/testGET /api/partner-portal/webhooks/:webhookId/logs
Onboarding
POST /api/partner-portal/onboarding/startGET /api/partner-portal/onboarding/statusPOST /api/partner-portal/onboarding/complete-step/:step
Portal sandbox
GET /api/partner-portal/sandbox/statusPOST /api/partner-portal/sandbox/resetPOST /api/partner-portal/sandbox/generate-data
Live when sandbox storage is provisioned: generate, reset, and status run real sandbox operations. If it is not provisioned, those portal routes still return HTTP 200 with a payload that explains unavailability. Minted
sk_test_keys are for sandbox tooling only — they cannot call/api/partner/*production routes.
Billing and usage
API call counts may be real. Bandwidth, webhook usage, the plan catalog, and settlements shown as invoices are not complete. The portal billing screen lists usage, invoices, and plan, and it is not a full commercial billing product.
GET /api/partner-portal/billing/usageGET /api/partner-portal/billing/invoicesGET /api/partner-portal/billing/plan
Support
Partner JWT. Create requires permission partner.manage_settings. List, detail, and reply require partner.view_settings. Staff triage is documented under Admin partner APIs.
POST /api/partner-portal/support/ticket— bodysubject(5–200),description(20–2000),category(1–50). Optionalpriority:low,medium,high,urgent.GET /api/partner-portal/support/tickets— querypage(default 1) andlimit(default 20)GET /api/partner-portal/support/tickets/:ticketId— ticket plus replies.:ticketIdis a UUID.POST /api/partner-portal/support/tickets/:ticketId/replies— body{ "message": "..." }(1–5000 characters)GET /api/partner-portal/quickstart
Notes
- these endpoints are operational/portal-focused, not public partner API key endpoints
- data isolation is enforced through the authenticated partner context
- for organization-level config, users, reports, reservations and sandbox tooling, see Management features