Simplifyd Cloud
HomeHTTP APIHTTP API

HTTP API

Call Simplifyd Cloud directly from your own code — the base URL, how requests are authenticated, and how resources are addressed.

Everything the CLI and the console do goes through one HTTP API, and your code can call it the same way. Use it when you want a platform action to happen inside your own application — a customer uploads a video and your backend puts it in a library — rather than at a terminal.

If you are working at a terminal, or scripting a deploy, the CLI is the shorter path. If you are writing Go, the Go SDK wraps all of this.


Base URL

https://api.cloud.simplifyd.com

Every path below is versioned under /v1.


Authentication

Requests carry a project API token as a bearer token:

Authorization: Bearer sk_proj_01j2k3...

Create one with edge token create — see Tokens. A token is scoped to a project, and optionally to a single environment.

Keep the token on your server. It carries the authority to deploy, delete and spend on the project it is scoped to. Call this API from your backend, a serverless function or a worker — never from browser code, where the token would be handed to everyone who loads the page.


How resources are addressed

A service lives in an environment, which lives in a project, which lives in a workspace, and the path says so:

/v1/workspaces/{workspace}/projects/{project}/envs/{env}/svcs/{service}

Each of the four is an id, not a display name. The quickest way to find them is your browser: open the service in the console and the URL contains all four, in that order. From code, GET /v1/workspaces lists your workspaces and each level lists the one below it. At a terminal, edge status prints the ids for your current context.

Ids are stable. Renaming a workspace, project or service does not change them, so it is safe to keep them in configuration.


Responses

Successful responses are JSON, and the status says what happened: 200 for a read or an edit, 201 when something was created, 202 when the platform accepted work that is still running, 204 when there is nothing to return.

Failures are JSON too:

{
  "type": "VALIDATION_ERROR",
  "message": "\".avi\" is not a video container we can read; upload an .mp4, .mov, .mkv, .webm or .m4v file",
  "request_id": "01j2k3m4n5p6q7r8s9t0"
}

message is written to be shown or logged as-is — it names what went wrong rather than describing a class of error. Quote request_id if you contact support about a specific failure.


Reference