Overview
Saves reusable form content only. No credentials, responses, join requirements or open state are copied.
- Permission scope
applications.write- Community feature
applications- Content type
application/json
Authentication
Send Authorization: Bearer YOUR_API_KEY and X-Clan-Id: COMMUNITY_ID. The community API switch and key must be enabled, with the scope shown above. See authentication and key storage.
No path or query parameters.
Request body
A JSON request body is required.
| Field | Type | Required | Constraints and description |
|---|---|---|---|
name | string | Yes | min length 1, max length 100 |
definition | object | Yes | — |
definition.name | string | Yes | min length 1, max length 100 |
definition.description | string | Yes | max length 2000 |
definition.enabled | boolean | Yes | — |
definition.questions | (object | object)[] | Yes | min items 1, max items 50 |
definition.questions.id | string | Yes | min length 1, max length 64, pattern ^[a-zA-Z0-9_-]+$ · When type: short | long |
definition.questions.label | string | Yes | min length 1, max length 500 · When type: short | long |
definition.questions.required | boolean | Yes | When type: short | long |
definition.questions.type | short | long | Yes | When type: short | long |
definition.questions.options | object[] | Yes | max items 0 · When type: short | long |
definition.questions.options.id | string | Yes | min length 1, max length 64, pattern ^[a-zA-Z0-9_-]+$ · When type: short | long |
definition.questions.options.label | string | Yes | min length 1, max length 200 · When type: short | long |
definition.questions.correctOptionIds | string[] | Yes | max items 0, items: min length 1, max length 64, pattern ^[a-zA-Z0-9_-]+$ · When type: short | long |
definition.questions.id | string | Yes | min length 1, max length 64, pattern ^[a-zA-Z0-9_-]+$ · When type: single | multiple |
definition.questions.label | string | Yes | min length 1, max length 500 · When type: single | multiple |
definition.questions.required | boolean | Yes | When type: single | multiple |
definition.questions.type | single | multiple | Yes | When type: single | multiple |
definition.questions.options | object[] | Yes | min items 2, max items 30 · When type: single | multiple |
definition.questions.options.id | string | Yes | min length 1, max length 64, pattern ^[a-zA-Z0-9_-]+$ · When type: single | multiple |
definition.questions.options.label | string | Yes | min length 1, max length 200 · When type: single | multiple |
definition.questions.correctOptionIds | string[] | Yes | max items 30, items: min length 1, max length 64, pattern ^[a-zA-Z0-9_-]+$ · When type: single | multiple |
definition.grading | object | Yes | — |
definition.grading.enabled | boolean | Yes | — |
definition.grading.passPercentage | integer | Yes | min 1, max 100 |
Error responses
| Status | When it is returned |
|---|---|
| 400 | The request was malformed or failed validation. |
| 401 | The API key is missing, malformed, or not recognised for this community. |
| 403 | The key is disabled, lacks the required permission, or the community's subscription or tier does not cover API access or this feature. |
| 404 | The requested resource does not exist. |
| 409 | The request conflicts with current state. |
| 429 | Rate limited. |
| 500 | Unexpected server error. |
Rate limits
This operation shares the key’s request budget. On 429, read error.code and wait for Retry-After. Upstream Roblox limits may omit budget details. See rate limits and recovery.