Skip to content
Docs
Esc
↑↓navigate↵open⌘Jpreview

Join a Labs feature

Joins one Labs feature for the whole team. A self feature turns on at once. An application feature records a request with the required note; a waitlist feature records a place on the waitlist. Both wait for Spacefast’s approval. Repeating the call while a request is pending or the feature is active changes nothing. Only team owners and admins can join; agents cannot.

POST/v1/teams/{teamId}/labs/{featureKey}
Authorization
AuthorizationBearer token · headerrequired

Better Auth session, OAuth access token, OAuth client-credentials token, or sfm_ Space machine credential.

Path parameters
teamIdstringrequired
min length 1
featureKeystringrequired
min length 1
Request body
requiredapplication/json
notestring

Required for an application feature: what the team wants it for. Ignored for other enrollments.

min length 1 · max length 1000
Responses
200

Response for status 200

$schemastring<uri>

Canonical JSON Schema URL for this response body. The server also sends it in the Link: rel="describedby" response header.

dataobjectrequired

One Labs feature and this team's place in it.

Show properties
keystringrequired

Feature flag key.

Allowed:show_and_tellsellplans.paid.availableanonymous.publishingdomains.bulkcollab.noticescontent.managedcollab.drawingsites.jetpacktagszerofunctionsemailspaces.slug_renamecontent.usersanalytics.hudpages.templatesbranding.hideconnectorsconnectors.team-policycontent.users.managed_googlevip.integration.managespaces.transferteams.subteamsteams.external_accessagents.memoriesagents.skillsagents.design_systemaffiliates.impact
namestringrequired

Feature name, as the dashboard shows it.

pitchstringrequired

What the team gets by joining.

stagestringrequired

Maturity of the feature.

Allowed:disabledinternalprivate_betaprivate_previewpublic_previewga
stageLabelstringrequired

The words customers read for the stage, such as "Waitlisted preview".

enrollmentstringrequired

How a team joins: application and waitlist wait for Spacefast's approval (an application carries a note); self turns the feature on at once.

Allowed:applicationwaitlistself
docsUrlstring<uri> | nullrequired

Public documentation, when there is any.

Show properties
Any of:
string<uri>
string<uri>
null
null
statusstring | nullrequired

The team's enrollment; null when it never asked.

Show properties
Any of:
string
string
null
null
notestring | nullrequired

The note the team sent with its request.

requestedAtstring | nullrequired
decidedAtstring | nullrequired

When an operator approved or declined.

enabledbooleanrequired

Whether the team has the feature now. An emergency stop or a missing plan entitlement can keep it off while the enrollment is active.

default

Problem details (RFC 9457). Any 4xx/5xx response is one application/problem+json document.

$schemastring<uri>

Canonical JSON Schema URL for this response body. The server also sends it in the Link: rel="describedby" response header.

typestringrequired

Problem type URI resolving to the error docs page. The server derives it mechanically from code against the docs origin.

titlestringrequired

Short human-readable summary of the problem type. The server derives it mechanically from code.

statusintegerrequired

HTTP status code of this response, repeated in the body.

min -9007199254740991 · max 9007199254740991
detailstringrequired

Human-readable failure explanation for this occurrence.

codestringrequired

Stable snake_case error code naming the failed public contract.

pointerstring

RFC 6901 JSON Pointer into the failing request field, for example "/files/37/path", on validation failures.

detailsobject

Machine-readable context for the error code.

fixstring

One sentence on what to do about this error code, the same text as the type page. Read it before retrying.

suggestionsstring[]

Actionable recovery steps safe to show in dashboards, SDKs, and CLI output.

nextstring[]

Copy-pasteable commands or API requests an agent can run next.

requestIdstringrequired

The request id to quote when contacting support.

Try it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X POST 'https://api.spacefast.com/v1/teams/string/labs/string' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "note": "string"
}'
Response
{
  "$schema": "http://example.com",
  "data": {
    "key": "show_and_tell",
    "name": "string",
    "pitch": "string",
    "stage": "disabled",
    "stageLabel": "string",
    "enrollment": "application",
    "docsUrl": "http://example.com",
    "status": "pending",
    "note": "string",
    "requestedAt": "string",
    "decidedAt": "string",
    "enabled": true
  }
}

Was this page helpful?