Complete reference for the Demurly REST API. (165 endpoints)
Introduction The Demurly API is organized around REST. It accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
Base URL: https://app.demurly.com
OpenAPI Specification This documentation is generated from our
OpenAPI 3.0 specification . You can download it to generate client SDKs or import into tools like Postman.
Authentication The Demurly API uses API keys to authenticate requests. You can view and manage your API keys in the Dashboard under Settings > API.
Include your API key in the Authorization header:
Example Request bash
curl https://app.demurly.com/api/records \
-H "Authorization: Bearer YOUR_API_KEY"Keep your API key secure Your API key has access to your organization's data. Never share it publicly or commit it to version control.
Rate Limits API requests are rate limited based on your subscription tier:
Tier Rate Limit Burst Limit Free 60 requests/minute 10 requests/second Professional 100 requests/minute 20 requests/second Enterprise 1000 requests/minute 100 requests/second
Rate limit headers are included in API responses:X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset
Errors Demurly uses standard HTTP response codes to indicate success or failure of API requests.
Code Description 200 Success 201 Created 400 Bad Request - Invalid parameters 401 Unauthorized - Invalid or missing API key 403 Forbidden - Insufficient permissions 404 Not Found - Resource doesn't exist 429 Too Many Requests - Rate limit exceeded 500 Internal Server Error - Something went wrong
Auth Authentication and session management
POST /api/auth/change-passwordChange password (authenticated) POST /api/auth/complete-sso-signupComplete SSO registration POST /api/auth/convert-guestConvert guest to full account POST /api/auth/forgot-passwordRequest password reset POST /api/auth/loginUser login GET /api/auth/meGet current user info POST /api/auth/resend-verificationResend verification email POST /api/auth/reset-passwordReset password with token POST /api/auth/saml/initiateInitiate SAML SSO POST /api/auth/signupCreate new account GET /api/auth/validate-reset-tokenValidate password reset token POST /api/auth/verify-emailVerify email with token GET /api/driver/authGet current driver session POST /api/driver/authDriver login with PIN DELETE /api/driver/authDriver logout GET /api/driver/sessionVerify driver session Records Create, manage, and track demurrage records
POST /api/records/{id}/adjust-timeAdjust record time POST /api/records/{id}/approveApprove a record POST /api/records/{id}/cancelCancel a demurrage record POST /api/records/{id}/closeClose a record POST /api/records/{id}/disputeDispute a record POST /api/records/{id}/escalateEscalate disputed record POST /api/records/{id}/guest-tokenCreate guest access token POST /api/records/{id}/payInitiate payment for record POST /api/records/{id}/pay/externalMark record as paid externally POST /api/records/{id}/sendSend record to customer POST /api/records/bulkBulk record operations GET /api/records/exportExport records to CSV Drivers Driver account management for carriers
GET /api/driversList drivers POST /api/driversCreate new driver GET /api/drivers/{id}Get driver details PUT /api/drivers/{id}Update driver DELETE /api/drivers/{id}Deactivate driver POST /api/drivers/{id}/reset-passwordReset driver PIN Analytics Reporting, trends, and data analytics
GET /api/analytics/agingAging report GET /api/analytics/carrier/by-customerRevenue breakdown by customer GET /api/analytics/carrier/by-driverMetrics breakdown by driver GET /api/analytics/carrier/by-terminalMetrics breakdown by terminal GET /api/analytics/carrier/summaryGet carrier dashboard summary GET /api/analytics/carrier/trendsGet revenue trends GET /api/analytics/customer/by-carrierCustomer breakdown by carrier GET /api/analytics/customer/summaryCustomer dashboard summary GET /api/analytics/customer/trendsGet customer spending trends POST /api/analytics/exportExport analytics data Connections Carrier-customer relationship management
PATCH /api/connections/{id}Update connection status POST /api/connections/inviteSend customer invite Payments Payment processing and confirmation
POST /api/payments/confirmConfirm payment after Stripe success POST /api/stripe/connect/onboardingStart Stripe Connect onboarding GET /api/stripe/connect/statusGet Stripe Connect status Subscriptions Carrier subscription management via Stripe
GET /api/stripe/subscriptionsGet subscription status POST /api/stripe/subscriptionsCreate subscription checkout POST /api/stripe/subscriptions/cancelCancel subscription GET /api/stripe/subscriptions/portalGet billing portal URL Stripe Stripe Connect and billing
GET /api/stripe/connect/dashboardGet Express Dashboard link Notifications In-app and email notifications
GET /api/notificationsList notifications POST /api/notifications/{id}/readMark notification as read GET /api/notifications/preferencesGet notification preferences PUT /api/notifications/preferencesUpdate notification preferences POST /api/notifications/read-allMark all as read GET /api/notifications/unread-countGet unread count Terminals Terminal lookup and management
GET /api/terminalsList terminals GET /api/terminals/{id}Get terminal details GET /api/terminals/nearestFind nearest terminal EDI Electronic Data Interchange integrations
GET /api/edi/configurationsList EDI configurations POST /api/edi/configurationsCreate EDI configuration GET /api/edi/configurations/{id}Get EDI configuration PATCH /api/edi/configurations/{id}Update EDI configuration DELETE /api/edi/configurations/{id}Delete EDI configuration POST /api/edi/configurations/{id}/testTest EDI configuration GET /api/edi/messagesList EDI messages GET /api/edi/templatesList EDI templates POST /api/edi/webhookReceive inbound EDI message Import Bulk data import for drivers and terminals
POST /api/import/driversBulk import drivers GET /api/import/sampleDownload import template POST /api/import/terminalsBulk import terminals Export Data export functionality
GET /api/export/audit-trailExport audit trail GET /api/export/connectionsExport connections GET /api/export/invoicesExport invoices Settings API keys and organization settings
GET /api/settings/api-keysList API keys POST /api/settings/api-keysCreate API key GET /api/settings/api-keys/{id}Get API key details PATCH /api/settings/api-keys/{id}Update API key DELETE /api/settings/api-keys/{id}Revoke API key Referrals Referral program management
GET /api/referralsGet referral stats GET /api/referrals/validateValidate referral code Support Support ticket system
POST /api/bug-reportSubmit bug report POST /api/contact-formContact form submission POST /api/demo-requestRequest demo POST /api/feature-requestSubmit feature request POST /api/roadmap/voteVote on roadmap item GET /api/supportGet user's tickets POST /api/supportCreate support ticket Guest Guest access for unauthenticated record review
GET /api/guest/{token}Get record for guest review POST /api/guest/{token}/approveGuest approves record POST /api/guest/{token}/disputeGuest disputes record Webhooks Webhook configuration and testing
POST /api/webhooks/stripeHandle Stripe webhook events POST /api/webhooks/testTest a webhook endpoint Admin Platform administration (super admin only)
GET /api/admin/analytics/activityPlatform activity feed GET /api/admin/analytics/growthGrowth metrics GET /api/admin/analytics/summaryPlatform summary stats GET /api/admin/auditAudit log entries GET /api/admin/bugsList bug reports GET /api/admin/bugs/{id}Get bug report details PATCH /api/admin/bugs/{id}Update bug report status GET /api/admin/careersList job postings (admin) GET /api/admin/careers/{id}Get job posting details PUT /api/admin/careers/{id}Update job posting DELETE /api/admin/careers/{id}Delete job posting GET /api/admin/careers/{id}/applicationsView job applications GET /api/admin/changelogList changelog entries POST /api/admin/changelogCreate changelog entry GET /api/admin/cmsGet CMS content PUT /api/admin/cmsUpdate CMS content GET /api/admin/complianceCompliance dashboard POST /api/admin/compliance/evidenceUpload compliance evidence GET /api/admin/featuresList feature requests GET /api/admin/features/{id}Get feature request details PATCH /api/admin/features/{id}Update feature request POST /api/admin/impersonateStart impersonation DELETE /api/admin/impersonate/{id}End impersonation GET /api/admin/legal-holdsList legal holds POST /api/admin/legal-holdsCreate legal hold POST /api/admin/legal-holds/{id}/releaseRelease legal hold GET /api/admin/meGet current admin info GET /api/admin/observability/errorsRecent errors GET /api/admin/observability/logsApplication logs GET /api/admin/observability/metricsAPI metrics GET /api/admin/organizationsList all organizations GET /api/admin/organizations/{id}Get organization details PATCH /api/admin/organizations/{id}Update organization POST /api/admin/retention/cleanupManual retention cleanup GET /api/admin/retention/policiesGet retention policies POST /api/admin/retention/policiesCreate retention policy GET /api/admin/system/healthFull system health check POST /api/admin/terminals/seedSeed terminal data POST /api/admin/test-emailTest email sending GET /api/admin/usersList all users GET /api/cron/aging-notificationsSend aging notifications GET /api/cron/cleanup-sessionsCleanup expired sessions Onboarding User onboarding flow
POST /api/onboarding/completeComplete onboarding POST /api/onboarding/skipSkip remaining onboarding GET /api/onboarding/statusGet onboarding status POST /api/onboarding/stepComplete onboarding step Organization Organization terminal management
GET /api/organization/terminalsList custom terminals POST /api/organization/terminalsCreate custom terminal GET /api/organization/terminals/{id}Get custom terminal PATCH /api/organization/terminals/{id}Update custom terminal DELETE /api/organization/terminals/{id}Delete custom terminal Invites Connection invite management
GET /api/invites/{token}Get invite details POST /api/invites/{token}/acceptAccept invite POST /api/invites/{token}/declineDecline invite Payouts Carrier payout processing
GET /api/payoutsList payouts GET /api/payouts/processProcess pending payouts (cron) Cron Scheduled jobs (internal)
GET /api/cron/data-retentionEnforce data retention policies Health System health and status checks
GET /api/docs/openapiDownload OpenAPI spec GET /api/docs/searchSearch documentation GET /api/healthHealth check GET /api/test-health/report/pdfGenerate PDF report GET /api/test-health/statsCodebase statistics GET /api/test-health/stats/detailedDetailed codebase statistics GET /api/test-health/suitesList test suites POST /api/test-health/suites/{id}/runRun test suite Careers Careers endpoints
GET /api/careersList job postings (public) GET /api/careers/{slug}Get job posting details POST /api/careers/{slug}/applySubmit job application Need help? Contact our developer support team.