The REST API is for developers building backends, scripts, automations, and integrations. Create one organization API key, keep it on your server, and call Shyne over HTTPS.
Create a key
- Open Settings → Organization → API keys.
- Create an organization API key and copy the secret when it is shown.
- Store it in your deployment platform or secret manager as
SHYNE_API_KEY.
The secret is shown only when it is created. It acts for the organization, so never place it in a URL, browser or mobile bundle, analytics event, source repository, or log.
Base URL
Every request goes to one base URL. Send your organization API key on each /v1 call.
https://api.shyne.aiMake the first request
Send the key in the Authorization header on every /v1 request. Never send it as a query parameter.
curl https://api.shyne.ai/v1/me \
-H "Authorization: Bearer $SHYNE_API_KEY"const response = await fetch("https://api.shyne.ai/v1/me", {
headers: { Authorization: `Bearer ${process.env.SHYNE_API_KEY}` },
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());A successful GET /v1/me returns the key’s creator, organization id, and project count. This is the quickest connection check.
An external product can connect directly when it supports a custom HTTPS base URL and Authorization header. If it does not, call Shyne from your own backend or automation rather than exposing the key in client-side code.
Work with projects and canvas tools
The normal flow is: verify the key, list or create a project, discover the current canvas tools, then call a tool with that project id.
curl https://api.shyne.ai/v1/projects -H "Authorization: Bearer $SHYNE_API_KEY"curl -X POST https://api.shyne.ai/v1/projects \
-H "Authorization: Bearer $SHYNE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Campaign workspace"}'curl https://api.shyne.ai/v1/tools -H "Authorization: Bearer $SHYNE_API_KEY"curl -X POST https://api.shyne.ai/v1/projects/PROJECT_ID/tools/get_basic_info \
-H "Authorization: Bearer $SHYNE_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'GET /v1/tools returns the live name, description, complete JSON input schema, and read/write/destructive hints for every canvas tool. The same concrete operations appear in the OpenAPI 3.1 specification, which can be imported into tools that support OpenAPI.
Brands, scheduling, and publishing
| Capability | REST routes |
|---|---|
| Reusable brands | GET /v1/brands, POST /v1/brands, DELETE /v1/brands/{id} |
| Recurring tasks | GET /v1/scheduled, POST /v1/scheduled, PATCH /v1/scheduled/{id}, DELETE /v1/scheduled/{id} |
| Public artifact snapshots | GET /v1/projects/{id}/published-artifact, POST to publish, DELETE to unpublish |
Use the OpenAPI entry for the exact request fields, enums, limits, and response status of each operation. Project reads and writes are checked against the organization and the project’s sharing rules.
Errors and revocation
Error responses use { "error": "code", "message": "what went wrong" }. A 400 means invalid input or a tool failure, 401 means the key is missing or no longer valid, 403 means the organization cannot access the resource, and 404 means the route, tool, or resource does not exist.
Revoke a key from Settings → Organization → API keys. Verification is cached briefly, so allow up to 60 seconds for a revoked key to stop working everywhere. Rotate immediately if a key is exposed.