Idle capacity remains allocated and billable. Endpoints do not automatically shrink with traffic or scale to zero.
Create an endpoint
- CLI
- Dashboard
Install the Morph CLI:Create a dashboard API key for the endpoint’s account or organization, then set it in your terminal:The CLI shows the plan, requests confirmation, then uses saved payment details or opens hosted checkout. Use one purchase flow per endpoint.
models lists valid IDs; substitute one for deepseek-v4-flash if needed.Without a plan flag, create opens the browser plan picker. Select the owning account or organization there; the CLI key does not select browser billing. Choose capacity, review the agreement, and confirm.Alternatively, choose --price, --balanced, or --fast in the terminal:Wait for readiness
Watch provisioning on the endpoint’s dashboard detail page, or list and inspect orders:state is ready. Provisioning must finish within a two-hour activation window that starts at payment; an order not ready by then is refunded automatically.
Get connection details and lifecycle events as JSON:
endpoint.endpointUrl and endpoint.servedModelName identify your endpoint. Use this served name for requests, not the catalog ID.
Endpoint states
state is the field to act on. Every endpoint is in exactly one:
ready is the only serving state. The status response also has provisioningStatus (pending, pr_open, merged, deploying, ready, failed, or null), which tracks only the deployment job. Use it for diagnosis, not gating: it stays ready after an endpoint is suspended or canceled.
To see why an order ended before activation, check the last lifecycle event in status --json or history: deployment.failed, capacity.unavailable, activation.timed_out, or cancellation.before_activation.
refunded and canceled are final. Ended endpoints stay in your list indefinitely, and their endpointUrl and servedModelName remain populated, so always filter on state.
Discover endpoints from code
The CLI reads a public HTTP API you can call with the same key:state, endpointUrl, and servedModelName, so discovery needs no per-endpoint call. An organization key lists the organization’s endpoints; a personal key lists the user’s own. See the API reference for the list, status, and cancel routes, with example responses.
Send a request
Copy connection details from the dashboard or status response; set them alongside your key:/v1; these examples append it.
- Python
- JavaScript
Run
pip install openai, then:morph token new saves a CLI key; SDKs still need MORPH_API_KEY exported.
Monitor your endpoint
Open its dashboard:logs --follow polls until Ctrl+C; history shows lifecycle events, including provisioning. Logs are empty before activation because requests are not yet served.
Capacity and scaling
Lower traffic does not reduce reserved capacity or charges. The CLI and dashboard expose no autoscaling limits, scaling to zero, region selection, custom weights, or engine configuration. Morph manages serving and placement; contact us for other capacity arrangements. Endpoint access is scoped to your account, but hardware is not exclusive: idle hardware may serve other traffic. Use shared inference without reserving capacity.Billing and cancellation
Hourly plans bill reserved GPU time from readiness, including idle time. Displayed token counts measure usage, not charges. Check your checkout agreement for rates and service terms. In Dedicated, select Cancel dedicated on the order or detail page and confirm. Organization cancellations require an admin. Alternatively:refunding, and refunds collected payment. Active endpoints follow their agreement: they stay ready, serving and billing, until the cancellation response’s effective date (cancelEffectiveAt in status), then move to canceled.
Verify with morph dedicated status ENDPOINT_ID. Cancel accidental purchases before creating another endpoint.
Troubleshoot a request
For provisioning failures, send support the endpoint ID and history. Do not duplicate pending orders.