Show a project by id
Returns one project by id — the same full shape as GET /api/admin/projects/current. The id in the path must match the project the caller's credential…
Returns one project by id — the same full shape as GET /api/admin/projects/current. The id in the path must match the project the caller's credential resolves to (a credential can only read its own project); any other id is a 403.
Re-fetch the project row after a PATCH when you already hold its id.
Authorization
bearerSdkKey Pass an admin SDK key as Authorization: Bearer sdk_admin_…. Mint via POST /api/admin/keys with type: "admin".
In: header
Path Parameters
Stable opaque project id. Must match the caller's own project.
1 <= length <= 128Header Parameters
Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://shipeasy.ai/api/admin/projects/string"{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "Acme",
"domain": "acme.com",
"ownerEmail": "owner@acme.com",
"plan": "pro",
"status": "active",
"subscriptionStatus": "active",
"billingInterval": "monthly",
"currentPeriodEnd": "2026-07-12T00:00:00.000Z",
"trialEndsAt": null,
"cancelAtPeriodEnd": 0,
"moduleTranslations": true,
"moduleConfigs": true,
"moduleGates": true,
"moduleExperiments": true,
"moduleFeedback": true,
"createdAt": "2026-04-12T10:14:08.000Z",
"updatedAt": "2026-06-12T08:01:55.000Z"
}{
"error": "Malformed request (bad JSON, missing project scope).",
"code": "BAD_REQUEST"
}{
"error": "Missing or invalid admin SDK key.",
"code": "UNAUTHORIZED"
}{
"error": "Key is valid but not allowed to act on this project.",
"code": "FORBIDDEN"
}{
"error": "The resource does not exist or is not visible to the caller.",
"code": "NOT_FOUND"
}{
"error": "A resource with this name already exists in the project.",
"code": "ALREADY_EXISTS"
}{
"error": "The request body failed structural (schema) validation.",
"code": "VALIDATION"
}Find-or-create a project by domain
Find-or-creates a project keyed by (owner_email, domain) under the session's owner, and returns it. Idempotent: a second call with the same domain returns…
Update the current project
Update the current project's settings — name, domain, slug, default environment, timezone, experiment-analysis knobs (statistical method, significance…