# GreatWait > Schedule calls to the user's own app or any API, and read whether each one was delivered. Source digest sha256:661c52d0f672755bf53e336bb15797944c4674d614f8187401ed0e019fde3df1. It describes the production API at build 7fea2b7f9b5a and, from npm, @greatwait/api-client@0.4.0, @greatwait/cli@0.4.0 and @greatwait/contracts@0.4.0. ## Start - [Start here](https://docs.greatwait.dev/): What GreatWait does, and the quickest way to schedule your first call. - [Concepts](https://docs.greatwait.dev/start/concepts): How GreatWait is organized, from your organization down to a single delivery attempt, and how errors are reported. ## Quickstarts - [Website quickstart](https://docs.greatwait.dev/guides/website): Schedule your first call from the dashboard, with no code, and watch it arrive. - [Quickstart: MCP](https://docs.greatwait.dev/guides/mcp): Connect an MCP client to GreatWait with OAuth or an API key, and get your first callback. - [Connect GreatWait to Replit Agent](https://docs.greatwait.dev/guides/replit): Add GreatWait to Replit Agent, review its permissions and check the connection with a usage read. - [Build ten-minute seat holds with Lovable and GreatWait](https://docs.greatwait.dev/guides/lovable): Remix Reservation Relay, connect your own backend and schedule a signed callback to expire each seat hold. - [Quickstart: curl](https://docs.greatwait.dev/guides/curl): Schedule a call to a test URL with curl, then see it arrive and read what GreatWait recorded. - [Quickstart: JavaScript SDK](https://docs.greatwait.dev/guides/javascript): Schedule a call to a test URL from Node with the JavaScript SDK, then see it arrive. - [Quickstart: command line](https://docs.greatwait.dev/guides/cli): Install the greatwait command, schedule a call to a test URL, and see it arrive. ## Guides - [Shape the HTTP call](https://docs.greatwait.dev/guides/http-calls): Choose POST, PUT or GET, edit ordinary or write-only secret headers, and send direct JSON to an authorized HTTPS API. - [Schedule a callback with the Vercel AI SDK](https://docs.greatwait.dev/guides/ai-sdk): Use a server-side AI SDK tool to schedule one GreatWait callback with a durable intent and safe recovery. - [Verifying callbacks](https://docs.greatwait.dev/guides/verify-callbacks): Check that a callback really came from GreatWait, handle duplicates safely, answer with the right status, and rotate signing keys. - [Handling errors and retries](https://docs.greatwait.dev/guides/errors-and-retries): What GreatWait does when a call fails, how to find out why, and how to retry your own requests safely. - [Handling long-running jobs](https://docs.greatwait.dev/guides/long-running-jobs): Accept a call straight away, do the work in the background, and tell GreatWait how it went when you're done. - [Delivery performance, priority and scale](https://docs.greatwait.dev/guides/delivery-performance): How GreatWait keeps calls on time, what Priority and queue names do, and how to keep delivery smooth when you run many schedules. - [Recurrence and time zones](https://docs.greatwait.dev/guides/recurrence-and-time-zones): Choose between a fixed interval and cron at local times, pick a valid time zone, and know what happens when clocks change. - [Find schedules by your own IDs](https://docs.greatwait.dev/guides/host-correlation): Label schedules with your app's request ID and tags, then find them and their runs from the API, JavaScript, the command line, MCP or the dashboard. - [Teammates and project access](https://docs.greatwait.dev/guides/members): Invite people to your organization, choose their role, and pick which projects each of them can see. - [Operations and observability](https://docs.greatwait.dev/guides/operations): See what ran, what's coming up, how on time your calls are, and how much you're using, in the dashboard or through the API. - [Privacy and security](https://docs.greatwait.dev/guides/privacy-security): How GreatWait protects your data, keys and calls, what it keeps and for how long, and what you control. ## Dashboard - [Getting around the dashboard](https://docs.greatwait.dev/dashboard/getting-around): Switch organization and project, find each section in the sidebar, and open any page with a short link. - [Schedules](https://docs.greatwait.dev/dashboard/schedules): Find a schedule, create one-time and repeating schedules, and pause, resume, edit, cancel or archive them. - [Executions and runs](https://docs.greatwait.dev/dashboard/runs): Find a run, read each delivery attempt, act on what went wrong, and redeliver. - [Endpoints](https://docs.greatwait.dev/dashboard/endpoints): See the URLs your schedules call, set default headers, and reveal or rotate an endpoint's signing secret. - [Access and members](https://docs.greatwait.dev/dashboard/access): Make, rotate and revoke API keys, connect or disconnect AI agents, and manage who's in the organization. - [Billing](https://docs.greatwait.dev/dashboard/billing): Check your credit, add more, turn on automatic top-up, set spending limits, and find receipts. - [Project settings](https://docs.greatwait.dev/dashboard/project-settings): Rename a project, set its reporting time zone, export its data, set failure notifications, and archive or delete it. ## Reference - [Command-line reference](https://docs.greatwait.dev/reference/cli): Every command in the published @greatwait/cli 0.4.0: what each does, its options, and the API operations it calls. - [MCP tools reference](https://docs.greatwait.dev/reference/mcp-tools): The tools the MCP server offers, what each needs, and what agents can't do. - [Limits and defaults](https://docs.greatwait.dev/reference/limits): Every limit and default in one place: fixed bounds, retries, rates, retention, and how to find your organization's allowance. - [For agents](https://docs.greatwait.dev/reference/agents): Machine-readable versions of these docs, and the MCP server agents use. ## API reference - [API reference](https://docs.greatwait.dev/reference/api): Every operation in the GreatWait API, with its request and the OpenAPI document behind it. - [Problem codes](https://docs.greatwait.dev/reference/problems): Every error code the API can return: its HTTP status, when it happens, what to do, and whether retrying can work. - [Page execution-credit payments](https://docs.greatwait.dev/reference/api/billing-paymenthistory): GET /v1/billing/payment-history — billing.paymenthistory - [Page project subscription invoices](https://docs.greatwait.dev/reference/api/billing-invoicehistory): GET /v1/billing/invoice-history — billing.invoicehistory - [Create a data export](https://docs.greatwait.dev/reference/api/exports-create): POST /v1/exports — exports.create - [Read a data export](https://docs.greatwait.dev/reference/api/exports-read): GET /v1/exports/{exportId} — exports.read - [Download a data export part](https://docs.greatwait.dev/reference/api/exports-part): GET /v1/exports/{exportId}/parts — exports.part - [Cancel a data export](https://docs.greatwait.dev/reference/api/exports-cancel): POST /v1/exports/{exportId}/cancel — exports.cancel - [Preview a bulk operation](https://docs.greatwait.dev/reference/api/bulk-preview): POST /v1/bulk/jobs — bulk.preview - [List authorized bulk jobs](https://docs.greatwait.dev/reference/api/bulk-list): GET /v1/bulk/jobs — bulk.list - [Confirm an exact bulk preview](https://docs.greatwait.dev/reference/api/bulk-confirm): POST /v1/bulk/jobs/{jobId}/confirm — bulk.confirm - [Read bulk preview or job progress](https://docs.greatwait.dev/reference/api/bulk-read): GET /v1/bulk/jobs/{jobId} — bulk.read - [Inspect frozen bulk targets and results](https://docs.greatwait.dev/reference/api/bulk-items): GET /v1/bulk/jobs/{jobId}/items — bulk.items - [Pause a bulk job](https://docs.greatwait.dev/reference/api/bulk-pause): POST /v1/bulk/jobs/{jobId}/pause — bulk.pause - [Resume a bulk job](https://docs.greatwait.dev/reference/api/bulk-resume): POST /v1/bulk/jobs/{jobId}/resume — bulk.resume - [Cancel a bulk job](https://docs.greatwait.dev/reference/api/bulk-cancel): POST /v1/bulk/jobs/{jobId}/cancel — bulk.cancel - [List organization members and project access](https://docs.greatwait.dev/reference/api/members-list): GET /v1/organization/members — members.list - [List organization invitations](https://docs.greatwait.dev/reference/api/invitations-list): GET /v1/organization/invitations — invitations.list - [Invite a teammate to selected projects](https://docs.greatwait.dev/reference/api/invitations-create): POST /v1/organization/invitations — invitations.create - [Resend a pending invitation](https://docs.greatwait.dev/reference/api/invitations-resend): POST /v1/organization/invitations/{invitationId}/resend — invitations.resend - [Revoke a pending invitation](https://docs.greatwait.dev/reference/api/invitations-revoke): POST /v1/organization/invitations/{invitationId}/revoke — invitations.revoke - [Change a member's role](https://docs.greatwait.dev/reference/api/members-role): PATCH /v1/organization/members/{memberId} — members.role - [Remove an organization member](https://docs.greatwait.dev/reference/api/members-remove): POST /v1/organization/members/{memberId}/remove — members.remove - [Add a member to a project](https://docs.greatwait.dev/reference/api/projectmembers-add): PUT /v1/projects/{projectId}/members/{memberId} — projectmembers.add - [Remove a member's project access](https://docs.greatwait.dev/reference/api/projectmembers-remove): POST /v1/projects/{projectId}/members/{memberId}/remove — projectmembers.remove - [Read your delivery failure notification frequency](https://docs.greatwait.dev/reference/api/failurefrequency-readown): GET /v1/projects/{projectId}/failure-email-frequency — failurefrequency.readOwn - [Choose your delivery failure notification frequency](https://docs.greatwait.dev/reference/api/failurefrequency-updateown): PUT /v1/projects/{projectId}/failure-email-frequency — failurefrequency.updateOwn - [Read delivery notification settings](https://docs.greatwait.dev/reference/api/projectnotifications-read): GET /v1/projects/{projectId}/notification-settings — projectnotifications.read - [Update delivery notification settings](https://docs.greatwait.dev/reference/api/projectnotifications-update): PATCH /v1/projects/{projectId}/notification-settings — projectnotifications.update - [Rotate the status webhook endpoint's signing key](https://docs.greatwait.dev/reference/api/projectnotifications-rotatesigningkey): POST /v1/projects/{projectId}/notification-settings/status-signing-key — projectnotifications.rotateSigningKey - [List failure webhook deliveries](https://docs.greatwait.dev/reference/api/statusdeliveries-list): GET /v1/projects/{projectId}/status-deliveries — statusdeliveries.list - [Create a callback endpoint](https://docs.greatwait.dev/reference/api/endpoints-create): POST /v1/endpoints — endpoints.create - [List callback endpoints](https://docs.greatwait.dev/reference/api/endpoints-list): GET /v1/endpoints — endpoints.list - [Find or create a callback endpoint by URL](https://docs.greatwait.dev/reference/api/endpoints-ensure): POST /v1/endpoints/ensure — endpoints.ensure - [Read a callback endpoint](https://docs.greatwait.dev/reference/api/endpoints-read): GET /v1/endpoints/{endpointId} — endpoints.read - [Update a callback endpoint](https://docs.greatwait.dev/reference/api/endpoints-update): PUT /v1/endpoints/{endpointId} — endpoints.update - [Disable a callback endpoint](https://docs.greatwait.dev/reference/api/endpoints-disable): DELETE /v1/endpoints/{endpointId} — endpoints.disable - [Rotate a callback endpoint signing key](https://docs.greatwait.dev/reference/api/endpoints-rotatesigningkey): POST /v1/endpoints/{endpointId}/signing-keys/rotate — endpoints.rotateSigningKey - [Mark a signing-key server update done](https://docs.greatwait.dev/reference/api/endpoints-acknowledgesigningkeyrotation): POST /v1/endpoints/{endpointId}/signing-keys/acknowledge — endpoints.acknowledgeSigningKeyRotation - [Enable a disabled callback endpoint](https://docs.greatwait.dev/reference/api/endpoints-enable): POST /v1/endpoints/{endpointId}/enable — endpoints.enable - [Read this credential's authority](https://docs.greatwait.dev/reference/api/context-read): GET /v1/context — context.read - [Issue an API credential](https://docs.greatwait.dev/reference/api/credentials-create): POST /v1/credentials — credentials.create - [List API credentials](https://docs.greatwait.dev/reference/api/credentials-list): GET /v1/credentials — credentials.list - [List the member's projects](https://docs.greatwait.dev/reference/api/projects-list): GET /v1/projects — projects.list - [Create a project](https://docs.greatwait.dev/reference/api/projects-create): POST /v1/projects — projects.create - [Read a project with its deletion counts](https://docs.greatwait.dev/reference/api/projects-read): GET /v1/projects/{projectId} — projects.read - [Rename a project or change its reporting time zone](https://docs.greatwait.dev/reference/api/projects-rename): PATCH /v1/projects/{projectId} — projects.rename - [Delete an archived project](https://docs.greatwait.dev/reference/api/projects-delete): DELETE /v1/projects/{projectId} — projects.delete - [Preview permanent project deletion](https://docs.greatwait.dev/reference/api/projects-deletionpreview): GET /v1/projects/{projectId}/deletion-preview — projects.deletionPreview - [Archive or restore a project](https://docs.greatwait.dev/reference/api/projects-archive): POST /v1/projects/{projectId}/archive — projects.archive - [List the member's connected applications](https://docs.greatwait.dev/reference/api/grants-list): GET /v1/grants — grants.list - [Disconnect an application](https://docs.greatwait.dev/reference/api/grants-revoke): DELETE /v1/grants/{grantId} — grants.revoke - [Rotate an API credential](https://docs.greatwait.dev/reference/api/credentials-rotate): POST /v1/credentials/{credentialId}/rotate — credentials.rotate - [Revoke an API credential](https://docs.greatwait.dev/reference/api/credentials-revoke): DELETE /v1/credentials/{credentialId} — credentials.revoke - [Create a schedule](https://docs.greatwait.dev/reference/api/schedules-create): POST /v1/schedules — schedules.create - [List schedules](https://docs.greatwait.dev/reference/api/schedules-list): GET /v1/schedules — schedules.list - [Read a schedule](https://docs.greatwait.dev/reference/api/schedules-read): GET /v1/schedules/{scheduleId} — schedules.read - [Replace a schedule](https://docs.greatwait.dev/reference/api/schedules-replace): PUT /v1/schedules/{scheduleId} — schedules.replace - [Cancel a schedule](https://docs.greatwait.dev/reference/api/schedules-cancel): DELETE /v1/schedules/{scheduleId} — schedules.cancel - [Summarize schedules](https://docs.greatwait.dev/reference/api/schedules-summary): GET /v1/schedule-summary — schedules.summary - [Forecast upcoming occurrences](https://docs.greatwait.dev/reference/api/forecast-read): GET /v1/forecast — forecast.read - [Read exact execution-credit state](https://docs.greatwait.dev/reference/api/billing-summary): GET /v1/billing/summary — billing.summary - [List promotions and complimentary grants](https://docs.greatwait.dev/reference/api/billing-promotions): GET /v1/billing/promotions — billing.promotions - [Redeem a promotion code](https://docs.greatwait.dev/reference/api/billing-redeem): POST /v1/billing/promotions/redeem — billing.redeem - [List persistent billing notices](https://docs.greatwait.dev/reference/api/billing-notices): GET /v1/billing/notices — billing.notices - [Dismiss delivery-failure notices](https://docs.greatwait.dev/reference/api/billing-noticesdismiss): POST /v1/billing/notices/dismiss — billing.noticesdismiss - [Read billing notification settings](https://docs.greatwait.dev/reference/api/billing-notificationsettings): GET /v1/billing/notification-settings — billing.notificationsettings - [Update billing notification settings](https://docs.greatwait.dev/reference/api/billing-notificationsettingsupdate): PATCH /v1/billing/notification-settings — billing.notificationsettingsupdate - [Read execution funding and payments](https://docs.greatwait.dev/reference/api/billing-funding): GET /v1/billing/funding — billing.funding - [Preview manual execution funding](https://docs.greatwait.dev/reference/api/billing-fundingquote): POST /v1/billing/funding/quote — billing.fundingquote - [Confirm manual execution funding](https://docs.greatwait.dev/reference/api/billing-purchase): POST /v1/billing/funding/purchase — billing.purchase - [Confirm one payment with the provider now](https://docs.greatwait.dev/reference/api/billing-fundingconfirm): POST /v1/billing/funding/{paymentOperation}/confirm — billing.fundingconfirm - [Set the automatic payment ceiling](https://docs.greatwait.dev/reference/api/billing-ceiling): PATCH /v1/billing/funding/ceiling — billing.ceiling - [Preview an automatic top-up rule](https://docs.greatwait.dev/reference/api/billing-autotopuppreview): POST /v1/billing/funding/auto-top-up/preview — billing.autotopuppreview - [Apply an automatic top-up rule](https://docs.greatwait.dev/reference/api/billing-autotopup): PATCH /v1/billing/funding/auto-top-up — billing.autotopup - [Reserve credit against a payment for refund](https://docs.greatwait.dev/reference/api/billing-refundrequest): POST /v1/billing/funding/refunds — billing.refundrequest - [Complete or decline a refund reservation](https://docs.greatwait.dev/reference/api/billing-refundresolution): PATCH /v1/billing/funding/refunds/{refundRequest} — billing.refundresolution - [Read named project billing access](https://docs.greatwait.dev/reference/api/billing-projects): GET /v1/billing/projects — billing.projects - [Preview a named project billing change](https://docs.greatwait.dev/reference/api/billing-quote): POST /v1/billing/projects/quote — billing.quote - [Confirm a quoted project billing change](https://docs.greatwait.dev/reference/api/billing-change): POST /v1/billing/projects/change — billing.change - [Open hosted payment recovery](https://docs.greatwait.dev/reference/api/billing-portal): POST /v1/billing/portal — billing.portal - [Read the saved payment method](https://docs.greatwait.dev/reference/api/billing-paymentmethod): GET /v1/billing/payment-method — billing.paymentmethod - [List project subscription charges](https://docs.greatwait.dev/reference/api/billing-invoices): GET /v1/billing/invoices — billing.invoices - [Start saving a payment method](https://docs.greatwait.dev/reference/api/billing-paymentmethodsetup): POST /v1/billing/payment-method/setup — billing.paymentmethodsetup - [Confirm a saved payment method](https://docs.greatwait.dev/reference/api/billing-paymentmethodconfirm): POST /v1/billing/payment-method/confirm — billing.paymentmethodconfirm - [Remove the saved payment method](https://docs.greatwait.dev/reference/api/billing-paymentmethodremove): POST /v1/billing/payment-method/remove — billing.paymentmethodremove - [Advance one pending billing policy](https://docs.greatwait.dev/reference/api/billing-reconcile): POST /v1/billing/reconcile — billing.reconcile - [Set execution budgets](https://docs.greatwait.dev/reference/api/billing-budgets): PATCH /v1/billing/budgets — billing.budgets - [List immutable billing entries](https://docs.greatwait.dev/reference/api/billing-ledger): GET /v1/billing/ledger — billing.ledger - [Read effective customer limits](https://docs.greatwait.dev/reference/api/limits-read): GET /v1/limits — limits.read - [Read customer activity by hour or day](https://docs.greatwait.dev/reference/api/activity-read): GET /v1/customer-activity — activity.read - [Read activity series for the Analytics tab](https://docs.greatwait.dev/reference/api/activity-series): GET /v1/customer-activity/series — activity.series - [List recent failed attempts](https://docs.greatwait.dev/reference/api/activity-recenterrors): GET /v1/customer-activity/recent-errors — activity.recentErrors - [Read occurrence booking and removal activity](https://docs.greatwait.dev/reference/api/bookingactivity-read): GET /v1/booking-activity — bookingActivity.read - [Read schedule lifecycle activity](https://docs.greatwait.dev/reference/api/scheduleactivity-read): GET /v1/schedule-activity — scheduleActivity.read - [Read current pending and overdue work](https://docs.greatwait.dev/reference/api/pressure-read): GET /v1/customer-pressure — pressure.read - [Read current schedule inventory](https://docs.greatwait.dev/reference/api/inventory-read): GET /v1/customer-inventory — inventory.read - [Read endpoint schedule presence](https://docs.greatwait.dev/reference/api/endpointpresence-read): GET /v1/customer-endpoint-presence — endpointPresence.read - [Read terminal occurrence volume by day](https://docs.greatwait.dev/reference/api/usage-read): GET /v1/usage — usage.read - [Read rolling delivery timing](https://docs.greatwait.dev/reference/api/timing-summary): GET /v1/timing/summary — timing.summary - [List retained occurrences](https://docs.greatwait.dev/reference/api/occurrences-list): GET /v1/schedules/{scheduleId}/occurrences — occurrences.list - [List project executions](https://docs.greatwait.dev/reference/api/executions-list): GET /v1/occurrences — executions.list - [Read an occurrence](https://docs.greatwait.dev/reference/api/occurrences-read): GET /v1/schedules/{scheduleId}/occurrences/{occurrenceId} — occurrences.read - [Search delivery attempts by actual time](https://docs.greatwait.dev/reference/api/attempts-search): GET /v1/attempts — attempts.search - [List delivery attempts](https://docs.greatwait.dev/reference/api/attempts-list): GET /v1/schedules/{scheduleId}/occurrences/{occurrenceId}/attempts — attempts.list - [Read a delivery attempt](https://docs.greatwait.dev/reference/api/attempts-read): GET /v1/schedules/{scheduleId}/occurrences/{occurrenceId}/attempts/{attemptId} — attempts.read - [Redeliver an occurrence](https://docs.greatwait.dev/reference/api/occurrences-redeliver): POST /v1/schedules/{scheduleId}/occurrences/{occurrenceId}/redeliver — occurrences.redeliver - [Pause a schedule](https://docs.greatwait.dev/reference/api/schedules-pause): POST /v1/schedules/{scheduleId}/pause — schedules.pause - [Resume a schedule](https://docs.greatwait.dev/reference/api/schedules-resume): POST /v1/schedules/{scheduleId}/resume — schedules.resume - [Archive a schedule](https://docs.greatwait.dev/reference/api/schedules-archive): POST /v1/schedules/{scheduleId}/archive — schedules.archive ## Machine-readable - [Full text](https://docs.greatwait.dev/llms-full.txt): every page above except the per-operation API pages, in reading order - [Agent skill](https://docs.greatwait.dev/SKILL.md): how an agent uses GreatWait safely - [OpenAPI](https://docs.greatwait.dev/openapi.json): the API description production was built from