{"openapi": "3.1.0", "info": {"title": "Mapsurvey API", "version": "1", "description": "Create, edit and publish map surveys, and read their responses. Authenticate with `Authorization: Bearer <token>` -- a personal token from Account \u2192 API & connections, or an OAuth 2.1 access token. The API is part of the Pro plan of the workspace that owns the survey."}, "paths": {"/api/v1/me": {"get": {"operationId": "api_v1_me_me", "summary": "Me", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MeOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "The token's user, its workspaces with their plan and whether the API is\nincluded, and the token's kind, scopes, audiences, binding and expiry.", "tags": ["Account"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/import": {"post": {"operationId": "api_v1_data_import_survey", "summary": "Import Survey", "parameters": [], "responses": {"202": {"description": "Accepted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImportJobOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Import a survey ZIP (the editor's \"Backup (survey file)\") as a job.\nPoll `/import-jobs/{id}` until `status` is `done` or `failed`.", "tags": ["Import"], "requestBody": {"content": {"multipart/form-data": {"schema": {"properties": {"file": {"format": "binary", "title": "File", "type": "string"}, "workspace": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Workspace"}}, "required": ["file"], "title": "MultiPartBodyParams", "type": "object"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/import-jobs/{job_id}": {"get": {"operationId": "api_v1_data_get_import_job", "summary": "Get Import Job", "parameters": [{"in": "path", "name": "job_id", "schema": {"title": "Job Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ImportJobOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "One of your import jobs.", "tags": ["Import"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys": {"get": {"operationId": "api_v1_surveys_list_surveys", "summary": "List Surveys", "parameters": [{"in": "query", "name": "cursor", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 50, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SurveyList"}}}}, "400": {"description": "Bad request: bad_cursor", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Your surveys across the workspaces whose plan includes the API, newest first.", "tags": ["Surveys"], "security": [{"Bearer": []}], "x-error-codes": ["bad_cursor", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "post": {"operationId": "api_v1_surveys_create_survey", "summary": "Create Survey", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SurveyDetailOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "A new empty survey with one section, owned by you.", "tags": ["Surveys"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/SurveyCreateIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}": {"get": {"operationId": "api_v1_surveys_get_survey", "summary": "Get Survey", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SurveyDetailOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "tags": ["Surveys"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "patch": {"operationId": "api_v1_surveys_patch_survey", "summary": "Patch Survey", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SurveyDetailOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Settings, the thanks page and the map start. Settings and the map need\nthe owner role, like the editor; the thanks page the editor role.", "tags": ["Surveys"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/SurveyPatchIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "delete": {"operationId": "api_v1_surveys_delete_survey", "summary": "Delete Survey", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Move the survey to the trash; it can be restored in the editor for 30 days.", "tags": ["Surveys"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/publish": {"post": {"operationId": "api_v1_surveys_publish_survey", "summary": "Publish Survey", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SurveyOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role, email_unconfirmed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: translation_gaps, transition_refused, conflict, draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Publish. `review: \"pending\"` means content screening is holding the\nsurvey: respondents see an unavailable page until it is reviewed.", "tags": ["Surveys"], "requestBody": {"content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/PublishIn"}, {"type": "null"}]}}}, "required": false}, "security": [{"Bearer": []}], "x-error-codes": ["conflict", "draft_required", "email_unconfirmed", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "transition_refused", "translation_gaps", "validation"]}}, "/api/v1/surveys/{uuid}/close": {"post": {"operationId": "api_v1_surveys_close_survey", "summary": "Close Survey", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SurveyOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: transition_refused, conflict, draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Stop collecting answers; the survey stays readable to you.", "tags": ["Surveys"], "security": [{"Bearer": []}], "x-error-codes": ["conflict", "draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "transition_refused", "validation"]}}, "/api/v1/surveys/{uuid}/draft": {"post": {"operationId": "api_v1_surveys_create_draft", "summary": "Create Draft", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SurveyOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: transition_refused, conflict, draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Start unpublished changes on a published or closed survey. Edit the\nreturned uuid; respondents keep the live survey until you publish them.", "tags": ["Surveys"], "security": [{"Bearer": []}], "x-error-codes": ["conflict", "draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "transition_refused", "validation"]}, "delete": {"operationId": "api_v1_surveys_discard_draft", "summary": "Discard Draft", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Throw the unpublished changes away; the live survey is untouched.", "tags": ["Surveys"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/draft/publish": {"post": {"operationId": "api_v1_surveys_publish_draft", "summary": "Publish Draft", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SurveyOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role, email_unconfirmed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: translation_gaps, incompatible_draft, conflict, draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Publish the unpublished changes as a new version of the live survey.", "tags": ["Surveys"], "requestBody": {"content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/DraftPublishIn"}, {"type": "null"}]}}}, "required": false}, "security": [{"Bearer": []}], "x-error-codes": ["conflict", "draft_required", "email_unconfirmed", "forbidden_role", "incompatible_draft", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "translation_gaps", "validation"]}}, "/api/v1/surveys/{uuid}/sections/{section_id}/groups": {"get": {"operationId": "api_v1_structure_list_groups", "summary": "List Groups", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "section_id", "schema": {"title": "Section Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/GroupOut"}, "title": "Response", "type": "array"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "The section's question groups -- top level first, then each pop-up's -- in order.", "tags": ["Structure"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "post": {"operationId": "api_v1_structure_create_group", "summary": "Create Group", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "section_id", "schema": {"title": "Section Id", "type": "integer"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GroupOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "A group at the end of the section (or of a pop-up with `parent_id`); `question_ids` fills it.", "tags": ["Structure"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GroupCreateIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/groups/{group_id}": {"get": {"operationId": "api_v1_structure_get_group", "summary": "Get Group", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "group_id", "schema": {"title": "Group Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GroupOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "tags": ["Structure"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "patch": {"operationId": "api_v1_structure_update_group", "summary": "Update Group", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "group_id", "schema": {"title": "Group Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GroupOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Wording and style apply to a live survey in place; the rule and `question_ids` are structure.", "tags": ["Structure"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GroupIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "delete": {"operationId": "api_v1_structure_delete_group", "summary": "Delete Group", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "group_id", "schema": {"title": "Group Id", "type": "integer"}, "required": true}, {"in": "query", "name": "with_questions", "schema": {"default": false, "title": "With Questions", "type": "boolean"}, "required": false}, {"in": "query", "name": "acknowledge_answer_loss", "schema": {"default": false, "title": "Acknowledge Answer Loss", "type": "boolean"}, "required": false}], "responses": {"204": {"description": "No Content"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: answers_at_risk, delete_blocked, draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Delete the group; its questions stay in place, ungrouped, unless `with_questions`.", "tags": ["Structure"], "security": [{"Bearer": []}], "x-error-codes": ["answers_at_risk", "delete_blocked", "draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/questions/{question_id}/duplicate": {"post": {"operationId": "api_v1_structure_duplicate_question", "summary": "Duplicate Question", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "question_id", "schema": {"title": "Question Id", "type": "integer"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QuestionOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "A copy right after the question, in its group, with \" (copy)\" on the name and its sub-questions.", "tags": ["Structure"], "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/sections/{section_id}/duplicate": {"post": {"operationId": "api_v1_structure_duplicate_section", "summary": "Duplicate Section", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "section_id", "schema": {"title": "Section Id", "type": "integer"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SectionOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "A copy of the section with all its questions, right after it, \" (copy)\" on the title.", "tags": ["Structure"], "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/sections/{section_id}/questions/copy": {"post": {"operationId": "api_v1_structure_copy_question", "summary": "Copy Question", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "section_id", "schema": {"title": "Section Id", "type": "integer"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QuestionOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Append a copy of a question from any survey you can read (new codes, its own files).", "tags": ["Structure"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CopyQuestionIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/sections/copy": {"post": {"operationId": "api_v1_structure_copy_section", "summary": "Copy Section", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SectionOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Append a copy of a section from any survey you can read.", "tags": ["Structure"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CopySectionIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/questions/{question_id}/move": {"post": {"operationId": "api_v1_structure_move_question", "summary": "Move Question", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "question_id", "schema": {"title": "Question Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/MoveOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: answers_at_risk, draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Move a question to another section, into a pop-up or out of one, to `position`.\n\nBetween sections it keeps its answers and leaves its group. Into or out of a\npop-up its answers cannot follow (one per respondent against one per mark):\n`409 answers_at_risk` until `acknowledge_answer_loss`. Rules the move breaks\nare cleared and named in `removed_rules`.", "tags": ["Structure"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/MoveIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["answers_at_risk", "draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/duplicate": {"post": {"operationId": "api_v1_structure_duplicate_survey", "summary": "Duplicate Survey", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DuplicateSurveyOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: limit_reached, draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "A new draft survey in the same workspace with this one's sections, questions, groups, rules,\ntranslations, settings and map layers -- no responses, versions, links or public results page.", "tags": ["Structure"], "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "limit_reached", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/versions": {"get": {"operationId": "api_v1_structure_list_versions", "summary": "List Versions", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/VersionOut"}, "title": "Response", "type": "array"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "The current survey, then its archived versions newest first; each publish makes a version.", "tags": ["Structure"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/versions/{version}/restore": {"post": {"operationId": "api_v1_structure_restore_version", "summary": "Restore Version", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "version", "schema": {"title": "Version", "type": "integer"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RestoreOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: transition_refused, conflict, draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Unpublished changes holding version `version`'s questionnaire. The live survey is unchanged until\nyou publish them, which makes a NEW version; history is never rewritten.", "tags": ["Structure"], "security": [{"Bearer": []}], "x-error-codes": ["conflict", "draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "transition_refused", "validation"]}}, "/api/v1/icons": {"get": {"operationId": "api_v1_structure_search_icons", "summary": "Search Icons", "parameters": [{"in": "query", "name": "q", "schema": {"default": "", "title": "Q", "type": "string"}, "required": false}, {"in": "query", "name": "lang", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Lang"}, "required": false}, {"in": "query", "name": "set", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Set"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 20, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/IconOut"}, "title": "Response", "type": "array"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Marker icons by meaning, best first: every word must match the icon's name, label or search\nterms in `lang` (default: your interface language) or English. `set` narrows to maki, temaki or fa.\nEvery value is accepted as `icon_class`.", "tags": ["Structure"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/sections": {"get": {"operationId": "api_v1_sections_list_sections", "summary": "List Sections", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/SectionOut"}, "title": "Response", "type": "array"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "The survey's sections in respondent order.", "tags": ["Sections"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "post": {"operationId": "api_v1_sections_create_section", "summary": "Create Section", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SectionOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Append a section; the body sets its fields at once.", "tags": ["Sections"], "requestBody": {"content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/SectionIn"}, {"type": "null"}]}}}, "required": false}, "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/sections/order": {"put": {"operationId": "api_v1_sections_order_sections", "summary": "Order Sections", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/SectionOut"}, "title": "Response", "type": "array"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "The new order; list every section exactly once. (Declared before the\n`{section_id}` routes: ninja matches that segment as a string.)", "tags": ["Sections"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/SectionOrderIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/sections/{section_id}": {"get": {"operationId": "api_v1_sections_get_section", "summary": "Get Section", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "section_id", "schema": {"title": "Section Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SectionOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "tags": ["Sections"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "patch": {"operationId": "api_v1_sections_patch_section", "summary": "Patch Section", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "section_id", "schema": {"title": "Section Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SectionOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Change the fields the body names. On a live survey wording is applied in\nplace; the code and the visibility rule are structure (`409 draft_required`).", "tags": ["Sections"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/SectionIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "delete": {"operationId": "api_v1_sections_delete_section", "summary": "Delete Section", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "section_id", "schema": {"title": "Section Id", "type": "integer"}, "required": true}, {"in": "query", "name": "acknowledge_answer_loss", "schema": {"default": false, "title": "Acknowledge Answer Loss", "type": "boolean"}, "required": false}], "responses": {"204": {"description": "No Content"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: answers_at_risk, draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Delete a section with its questions. Answers to them go too: the first\ncall answers `409 answers_at_risk` with the count; repeat with\n`acknowledge_answer_loss=true`.", "tags": ["Sections"], "security": [{"Bearer": []}], "x-error-codes": ["answers_at_risk", "draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/sections/{section_id}/questions": {"get": {"operationId": "api_v1_questions_list_questions", "summary": "List Questions", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "section_id", "schema": {"title": "Section Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/QuestionOut"}, "title": "Response", "type": "array"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Top-level questions of a section in order; each lists its sub-question ids.", "tags": ["Questions"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "post": {"operationId": "api_v1_questions_create_question", "summary": "Create Question", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "section_id", "schema": {"title": "Section Id", "type": "integer"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QuestionOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Add a question at the end of the section.", "tags": ["Questions"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/QuestionCreateIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/sections/{section_id}/questions/order": {"put": {"operationId": "api_v1_questions_order_questions", "summary": "Order Questions", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "section_id", "schema": {"title": "Section Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/QuestionOut"}, "title": "Response", "type": "array"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Renumber the section's top level (or one pop-up, with `parent_id`).\nItems are question ids, or `{\"g\": <group id>, \"q\": [<ids>]}` for a group.", "tags": ["Questions"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/QuestionOrderIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/questions/{question_id}": {"get": {"operationId": "api_v1_questions_get_question", "summary": "Get Question", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "question_id", "schema": {"title": "Question Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QuestionOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "tags": ["Questions"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "patch": {"operationId": "api_v1_questions_patch_question", "summary": "Patch Question", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "question_id", "schema": {"title": "Question Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QuestionOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Change the fields the body names. On a live survey wording, help text,\ntranslations and added options are applied in place; type, layer,\nvisibility rule and removing an answered option are structure\n(`409 draft_required`). `validation_settings` replaces the whole object.", "tags": ["Questions"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/QuestionIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "delete": {"operationId": "api_v1_questions_delete_question", "summary": "Delete Question", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "question_id", "schema": {"title": "Question Id", "type": "integer"}, "required": true}, {"in": "query", "name": "acknowledge_answer_loss", "schema": {"default": false, "title": "Acknowledge Answer Loss", "type": "boolean"}, "required": false}], "responses": {"204": {"description": "No Content"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: answers_at_risk, delete_blocked, draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Delete a question with its sub-questions; see `acknowledge_answer_loss`\non section delete.", "tags": ["Questions"], "security": [{"Bearer": []}], "x-error-codes": ["answers_at_risk", "delete_blocked", "draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/questions/{question_id}/choices": {"put": {"operationId": "api_v1_questions_put_choices", "summary": "Put Choices", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "question_id", "schema": {"title": "Question Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QuestionOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Replace the options of a choice question. Keep an option's `code` to\nkeep its answers; a new option gets a code never used in the survey's\nhistory.", "tags": ["Questions"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ChoicesIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/questions/{question_id}/subquestions": {"post": {"operationId": "api_v1_questions_create_subquestion", "summary": "Create Subquestion", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "question_id", "schema": {"title": "Question Id", "type": "integer"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QuestionOut"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: draft_required", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Ask something about each feature placed on a geo question, or each\nobject of an Objects question: the sub-question appears in its pop-up.", "tags": ["Questions"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/QuestionCreateIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["draft_required", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/layers": {"get": {"operationId": "api_v1_layers_list_layers", "summary": "List Layers", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/LayerOut"}, "title": "Response", "type": "array"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "The survey's reference layers, metadata only; fetch geometry from `geojson_url`.", "tags": ["Layers"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "post": {"operationId": "api_v1_layers_create_layer", "summary": "Create Layer", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: limit_reached", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "A layer from GeoJSON in the body (or an empty one). Owner role; at most 10 layers per survey.", "tags": ["Layers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/LayerCreateIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "limit_reached", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/layers/upload": {"post": {"operationId": "api_v1_layers_upload_layer", "summary": "Upload Layer", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: limit_reached", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "A layer from a GeoJSON file (multipart). Owner role.", "tags": ["Layers"], "requestBody": {"content": {"multipart/form-data": {"schema": {"properties": {"file": {"format": "binary", "title": "File", "type": "string"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}}, "required": ["file"], "title": "MultiPartBodyParams", "type": "object"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "limit_reached", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/layers/order": {"put": {"operationId": "api_v1_layers_reorder_layers", "summary": "Reorder Layers", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Set the layers' order (map stacking and the Layers panel). Owner role.", "tags": ["Layers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/LayerOrderIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/layers/{layer_id}": {"patch": {"operationId": "api_v1_layers_update_layer", "summary": "Update Layer", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "layer_id", "schema": {"title": "Layer Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Name, color, label/key field, popups and style -- never geometry. Owner role.", "tags": ["Layers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/LayerPatchIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "delete": {"operationId": "api_v1_layers_delete_layer", "summary": "Delete Layer", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "layer_id", "schema": {"title": "Layer Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: conflict", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Delete a layer and its objects -- refused while a question uses it. Owner role.", "tags": ["Layers"], "security": [{"Bearer": []}], "x-error-codes": ["conflict", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/layers/{layer_id}/objects": {"get": {"operationId": "api_v1_layers_list_objects", "summary": "List Objects", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "layer_id", "schema": {"title": "Layer Id", "type": "integer"}, "required": true}, {"in": "query", "name": "cursor", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 100, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK"}, "400": {"description": "Bad request: bad_cursor", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "The layer's objects with geometry and properties, paged.", "tags": ["Layers"], "security": [{"Bearer": []}], "x-error-codes": ["bad_cursor", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "post": {"operationId": "api_v1_layers_create_object", "summary": "Create Object", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "layer_id", "schema": {"title": "Layer Id", "type": "integer"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: conflict, limit_reached", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Add an object. Owner role; not on a shared-map layer.", "tags": ["Layers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ObjectCreateIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["conflict", "forbidden_role", "invalid_token", "limit_reached", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/layers/{layer_id}/objects/{key}": {"get": {"operationId": "api_v1_layers_get_object", "summary": "Get Object", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "layer_id", "schema": {"title": "Layer Id", "type": "integer"}, "required": true}, {"in": "path", "name": "key", "schema": {"title": "Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "tags": ["Layers"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "patch": {"operationId": "api_v1_layers_update_object", "summary": "Update Object", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "layer_id", "schema": {"title": "Layer Id", "type": "integer"}, "required": true}, {"in": "path", "name": "key", "schema": {"title": "Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: conflict", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Change an object's text, link, geometry or properties. The key cannot change. Owner role.", "tags": ["Layers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ObjectIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["conflict", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "delete": {"operationId": "api_v1_layers_delete_object", "summary": "Delete Object", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "layer_id", "schema": {"title": "Layer Id", "type": "integer"}, "required": true}, {"in": "path", "name": "key", "schema": {"title": "Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: conflict", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "tags": ["Layers"], "security": [{"Bearer": []}], "x-error-codes": ["conflict", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/layers/{layer_id}/objects/{key}/status": {"patch": {"operationId": "api_v1_layers_object_status", "summary": "Object Status", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "layer_id", "schema": {"title": "Layer Id", "type": "integer"}, "required": true}, {"in": "path", "name": "key", "schema": {"title": "Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: conflict", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Moderate a mark on a shared map: visible, pending or hidden. Editor role.", "tags": ["Layers"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ObjectStatusIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["conflict", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/layers/{layer_id}/geojson": {"get": {"operationId": "api_v1_data_layer_geojson", "summary": "Layer Geojson", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "layer_id", "schema": {"title": "Layer Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "The layer's GeoJSON FeatureCollection. Sent gzip-encoded to a client\nthat accepts it (the stored bytes, passed through).", "tags": ["Data"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/responses": {"get": {"operationId": "api_v1_data_list_responses", "summary": "List Responses", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "query", "name": "include_empty", "schema": {"default": false, "title": "Include Empty", "type": "boolean"}, "required": false}, {"in": "query", "name": "cursor", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 50, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ResponseList"}}}}, "400": {"description": "Bad request: bad_cursor", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Responses of every version of the survey, newest first. Sessions that\nanswered nothing are left out unless `include_empty=true`. Answers carry\nno respondent IP or browser.", "tags": ["Data"], "security": [{"Bearer": []}], "x-error-codes": ["bad_cursor", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/export": {"get": {"operationId": "api_v1_data_export", "summary": "Export", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "query", "name": "format", "schema": {"default": "zip", "title": "Format", "type": "string"}, "required": false}, {"in": "query", "name": "version", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "required": false}, {"in": "query", "name": "include_all", "schema": {"default": false, "title": "Include All", "type": "boolean"}, "required": false}, {"in": "query", "name": "completed_only", "schema": {"default": false, "title": "Completed Only", "type": "boolean"}, "required": false}, {"in": "query", "name": "files", "schema": {"default": false, "title": "Files", "type": "boolean"}, "required": false}], "responses": {"200": {"description": "OK"}, "400": {"description": "Bad request", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "The Responses page's \"Export data\" as a file: `zip` (GeoJSON + CSV),\n`xlsx`, `csv`, `gpkg`, `shp`, `kml`; `files=true` adds uploads.", "tags": ["Data"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/responses/summary": {"get": {"operationId": "api_v1_responses_summary", "summary": "Summary", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "query", "name": "version", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "required": false}, {"in": "query", "name": "include_all", "schema": {"default": false, "title": "Include All", "type": "boolean"}, "required": false}, {"in": "query", "name": "completed_only", "schema": {"default": false, "title": "Completed Only", "type": "boolean"}, "required": false}], "responses": {"200": {"description": "OK"}, "400": {"description": "Bad request", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Counts and per-question statistics over the sessions the export of the\nsame parameters contains: no empty, deleted or rejected responses unless\n`include_all`. Sub-questions of map questions are nested under them.", "tags": ["Responses"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/questions/{question_id}/answers": {"get": {"operationId": "api_v1_responses_answers", "summary": "Answers", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "question_id", "schema": {"title": "Question Id", "type": "integer"}, "required": true}, {"in": "query", "name": "version", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "required": false}, {"in": "query", "name": "include_all", "schema": {"default": false, "title": "Include All", "type": "boolean"}, "required": false}, {"in": "query", "name": "completed_only", "schema": {"default": false, "title": "Completed Only", "type": "boolean"}, "required": false}, {"in": "query", "name": "cursor", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cursor"}, "required": false}, {"in": "query", "name": "limit", "schema": {"default": 50, "title": "Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK"}, "400": {"description": "Bad request: bad_cursor", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Non-blank answers to one text question (or text sub-question), newest first.", "tags": ["Responses"], "security": [{"Bearer": []}], "x-error-codes": ["bad_cursor", "forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/questions/{question_id}/geojson": {"get": {"operationId": "api_v1_responses_geojson", "summary": "Geojson", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "question_id", "schema": {"title": "Question Id", "type": "integer"}, "required": true}, {"in": "query", "name": "version", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "required": false}, {"in": "query", "name": "include_all", "schema": {"default": false, "title": "Include All", "type": "boolean"}, "required": false}, {"in": "query", "name": "completed_only", "schema": {"default": false, "title": "Completed Only", "type": "boolean"}, "required": false}], "responses": {"200": {"description": "OK"}, "400": {"description": "Bad request", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "One map question's answers as a CRS84 FeatureCollection, sub-question\nvalues as properties -- the export's GeoJSON layer. Stops at 5 000 features\n(`truncated: true`); the full set is the export.", "tags": ["Responses"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/export-link": {"post": {"operationId": "api_v1_responses_export_link", "summary": "Export Link", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ExportLinkOut"}}}}, "400": {"description": "Bad request", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "A link to the export file, valid 15 minutes, for a person to open. Opening\nit checks again that you may read the survey and that its workspace is on Pro.", "tags": ["Responses"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ExportLinkIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/responses/{response_id}": {"patch": {"operationId": "api_v1_responses_moderate", "summary": "Moderate", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "response_id", "schema": {"title": "Response Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Approve, hold or reject a response (`\"\"` clears the status). Rejected\nresponses leave exports, summaries and public results; shared-map layers\nare rebuilt. Needs the editor role.", "tags": ["Responses"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ModerateIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/share": {"get": {"operationId": "api_v1_share_share", "summary": "Share", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "How to send the survey out: its link, the public results link, the embed\nsnippet and allowed hosts -- once it is published (`shareable`). In testing,\neditors also get the test link with its token.", "tags": ["Share"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/share/qr.{fmt}": {"get": {"operationId": "api_v1_share_qr", "summary": "Qr", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "fmt", "schema": {"enum": ["svg", "png"], "title": "Fmt", "type": "string"}, "required": true}, {"in": "query", "name": "size", "schema": {"default": 10, "title": "Size", "type": "integer"}, "required": false}, {"in": "query", "name": "link", "schema": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Link"}, "required": false}], "responses": {"200": {"description": "OK"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: not_shareable", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "A QR code of the survey link (or of tracked link `link`) for posters and\nflyers. `size` is pixels per module, 1-40.", "tags": ["Share"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "not_shareable", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/tracked-links": {"get": {"operationId": "api_v1_share_tracked_links", "summary": "Tracked Links", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Campaign links -- the survey link with UTM parameters -- with how many\nresponses started and completed through each.", "tags": ["Share"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}, "post": {"operationId": "api_v1_share_create_tracked_link", "summary": "Create Tracked Link", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "409": {"description": "Conflict: limit_reached", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Add a campaign link (editor role). At most 200 per survey.", "tags": ["Share"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TrackedLinkIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "limit_reached", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/tracked-links/{link_id}": {"delete": {"operationId": "api_v1_share_delete_tracked_link", "summary": "Delete Tracked Link", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}, {"in": "path", "name": "link_id", "schema": {"title": "Link Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK"}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Remove a campaign link (editor role). Responses that came through it keep their source.", "tags": ["Share"], "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}, "/api/v1/surveys/{uuid}/share/embed-hosts": {"put": {"operationId": "api_v1_share_embed_hosts", "summary": "Embed Hosts", "parameters": [{"in": "path", "name": "uuid", "schema": {"format": "uuid", "title": "Uuid", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "400": {"description": "Bad request", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "401": {"description": "Missing or invalid bearer token: invalid_token", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "403": {"description": "Forbidden: scope_missing, pro_required, forbidden_role", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "404": {"description": "Not found: not_found", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "405": {"description": "Method not allowed: method_not_allowed", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "422": {"description": "Invalid input: validation", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "429": {"description": "Rate limited: rate_limited", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}, "500": {"description": "Server error: server_error", "content": {"application/json": {"schema": {"type": "object", "required": ["error", "detail"], "properties": {"error": {"type": "string", "enum": ["invalid_token", "scope_missing", "pro_required", "forbidden_role", "not_found", "validation", "draft_required", "answers_at_risk", "delete_blocked", "translation_gaps", "incompatible_draft", "transition_refused", "email_unconfirmed", "conflict", "not_shareable", "limit_reached", "bad_cursor", "method_not_allowed", "rate_limited", "server_error"]}, "detail": {"type": "string"}, "fields": {"type": "object", "additionalProperties": {"type": "array", "items": {"type": "string"}}, "description": "validation: field name \u2192 messages"}}, "additionalProperties": true}}}}}, "description": "Which sites may embed the survey (editor role); an empty list lets any site.", "tags": ["Share"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/EmbedHostsIn"}}}, "required": true}, "security": [{"Bearer": []}], "x-error-codes": ["forbidden_role", "invalid_token", "method_not_allowed", "not_found", "pro_required", "rate_limited", "scope_missing", "server_error", "validation"]}}}, "components": {"schemas": {"MeOut": {"properties": {"user": {"$ref": "#/components/schemas/MeUser"}, "workspaces": {"items": {"$ref": "#/components/schemas/MeWorkspace"}, "title": "Workspaces", "type": "array"}, "token": {"$ref": "#/components/schemas/MeToken"}}, "required": ["user", "workspaces", "token"], "title": "MeOut", "type": "object"}, "MeToken": {"properties": {"kind": {"title": "Kind", "type": "string"}, "scopes": {"items": {"type": "string"}, "title": "Scopes", "type": "array"}, "audiences": {"items": {"type": "string"}, "title": "Audiences", "type": "array"}, "organization": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The workspace the token is bound to, if any.", "title": "Organization"}, "expires": {"title": "Expires", "type": "string"}, "label": {"title": "Label", "type": "string"}}, "required": ["kind", "scopes", "audiences", "expires", "label"], "title": "MeToken", "type": "object"}, "MeUser": {"properties": {"id": {"title": "Id", "type": "integer"}, "username": {"title": "Username", "type": "string"}, "email": {"title": "Email", "type": "string"}}, "required": ["id", "username", "email"], "title": "MeUser", "type": "object"}, "MeWorkspace": {"properties": {"id": {"title": "Id", "type": "integer"}, "slug": {"title": "Slug", "type": "string"}, "name": {"title": "Name", "type": "string"}, "role": {"title": "Role", "type": "string"}, "plan": {"title": "Plan", "type": "string"}, "api": {"description": "Whether the workspace's plan includes the API.", "title": "Api", "type": "boolean"}}, "required": ["id", "slug", "name", "role", "plan", "api"], "title": "MeWorkspace", "type": "object"}, "ImportJobOut": {"properties": {"id": {"title": "Id", "type": "integer"}, "status": {"title": "Status", "type": "string"}, "original_name": {"title": "Original Name", "type": "string"}, "survey": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "title": "Survey"}, "warnings": {"items": {"type": "string"}, "title": "Warnings", "type": "array"}, "error": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Error"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "finished_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Finished At"}}, "required": ["id", "status", "original_name", "survey", "warnings", "error", "created_at", "finished_at"], "title": "ImportJobOut", "type": "object"}, "SurveyList": {"properties": {"next_cursor": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Next Cursor"}, "items": {"items": {"$ref": "#/components/schemas/SurveyOut"}, "title": "Items", "type": "array"}, "hidden_by_plan": {"default": 0, "description": "Workspaces of yours whose surveys are hidden: they are on the Free plan.", "title": "Hidden By Plan", "type": "integer"}}, "required": ["items"], "title": "SurveyList", "type": "object"}, "SurveyOut": {"properties": {"uuid": {"format": "uuid", "title": "Uuid", "type": "string"}, "name": {"title": "Name", "type": "string"}, "status": {"title": "Status", "type": "string"}, "workspace": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Workspace"}, "languages": {"items": {"type": "string"}, "title": "Languages", "type": "array"}, "redirect_url": {"title": "Redirect Url", "type": "string"}, "visibility": {"title": "Visibility", "type": "string"}, "version": {"title": "Version", "type": "integer"}, "is_unpublished_changes": {"title": "Is Unpublished Changes", "type": "boolean"}, "live_survey": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "description": "For unpublished changes: the live survey they replace.", "title": "Live Survey"}, "unpublished_changes": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "description": "The uuid of this survey's unpublished changes, if any.", "title": "Unpublished Changes"}, "review": {"anyOf": [{"const": "pending", "type": "string"}, {"type": "null"}], "description": "\"pending\" while content screening holds the survey.", "title": "Review"}, "opens_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "Start of the survey period (UTC): before it respondents see an \"opens on\" page. Null = no start.", "title": "Opens At"}, "closes_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "End of the survey period (UTC): the survey closes by itself then. Null = no end.", "title": "Closes At"}, "schedule_timezone": {"default": "", "description": "IANA zone the period was entered in; \"\" = UTC.", "title": "Schedule Timezone", "type": "string"}, "url": {"title": "Url", "type": "string"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "updated_at": {"format": "date-time", "title": "Updated At", "type": "string"}}, "required": ["uuid", "name", "status", "workspace", "languages", "redirect_url", "visibility", "version", "is_unpublished_changes", "url", "created_at", "updated_at"], "title": "SurveyOut", "type": "object"}, "MapStart": {"additionalProperties": false, "properties": {"lat": {"maximum": 90, "minimum": -90, "title": "Lat", "type": "number"}, "lng": {"maximum": 180, "minimum": -180, "title": "Lng", "type": "number"}, "zoom": {"maximum": 22, "minimum": 0, "title": "Zoom", "type": "integer"}}, "required": ["lat", "lng", "zoom"], "title": "MapStart", "type": "object"}, "SurveyDetailOut": {"properties": {"uuid": {"format": "uuid", "title": "Uuid", "type": "string"}, "name": {"title": "Name", "type": "string"}, "status": {"title": "Status", "type": "string"}, "workspace": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Workspace"}, "languages": {"items": {"type": "string"}, "title": "Languages", "type": "array"}, "redirect_url": {"title": "Redirect Url", "type": "string"}, "visibility": {"title": "Visibility", "type": "string"}, "version": {"title": "Version", "type": "integer"}, "is_unpublished_changes": {"title": "Is Unpublished Changes", "type": "boolean"}, "live_survey": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "description": "For unpublished changes: the live survey they replace.", "title": "Live Survey"}, "unpublished_changes": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "description": "The uuid of this survey's unpublished changes, if any.", "title": "Unpublished Changes"}, "review": {"anyOf": [{"const": "pending", "type": "string"}, {"type": "null"}], "description": "\"pending\" while content screening holds the survey.", "title": "Review"}, "opens_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "Start of the survey period (UTC): before it respondents see an \"opens on\" page. Null = no start.", "title": "Opens At"}, "closes_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "End of the survey period (UTC): the survey closes by itself then. Null = no end.", "title": "Closes At"}, "schedule_timezone": {"default": "", "description": "IANA zone the period was entered in; \"\" = UTC.", "title": "Schedule Timezone", "type": "string"}, "url": {"title": "Url", "type": "string"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "updated_at": {"format": "date-time", "title": "Updated At", "type": "string"}, "thanks_html": {"additionalProperties": {"type": "string"}, "title": "Thanks Html", "type": "object"}, "basemaps": {"description": "Base maps respondents may switch between: preset keys (streets, satellite, topo, paper, paper_b) or \"style:<uuid>\" of a workspace map style.", "items": {"type": "string"}, "title": "Basemaps", "type": "array"}, "default_basemap": {"description": "The base map the survey opens on; one of `basemaps`.", "title": "Default Basemap", "type": "string"}, "show_branding": {"title": "Show Branding", "type": "boolean"}, "map_start": {"anyOf": [{"$ref": "#/components/schemas/MapStart"}, {"type": "null"}]}, "use_geolocation": {"title": "Use Geolocation", "type": "boolean"}, "sections": {"items": {"type": "integer"}, "title": "Sections", "type": "array"}}, "required": ["uuid", "name", "status", "workspace", "languages", "redirect_url", "visibility", "version", "is_unpublished_changes", "url", "created_at", "updated_at", "thanks_html", "basemaps", "default_basemap", "show_branding", "map_start", "use_geolocation", "sections"], "title": "SurveyDetailOut", "type": "object"}, "SurveyCreateIn": {"additionalProperties": false, "properties": {"name": {"maxLength": 45, "minLength": 1, "title": "Name", "type": "string"}, "workspace": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Workspace slug; optional when the token is bound to one or you belong to one.", "title": "Workspace"}, "language": {"default": "en", "maxLength": 10, "minLength": 2, "title": "Language", "type": "string"}, "map_start": {"anyOf": [{"$ref": "#/components/schemas/MapStart"}, {"type": "null"}]}}, "required": ["name"], "title": "SurveyCreateIn", "type": "object"}, "SurveyPatchIn": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"maxLength": 45, "minLength": 1, "type": "string"}, {"type": "null"}], "title": "Name"}, "redirect_url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "\"#\" for the built-in thanks page, or an absolute http(s) URL.", "title": "Redirect Url"}, "languages": {"anyOf": [{"items": {"type": "string"}, "minItems": 1, "type": "array"}, {"type": "null"}], "title": "Languages"}, "visibility": {"anyOf": [{"enum": ["public", "private", "demo"], "type": "string"}, {"type": "null"}], "title": "Visibility"}, "basemaps": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Preset keys (streets, satellite, topo, paper, paper_b) or \"style:<uuid>\" of a workspace map style; a key the workspace does not have is dropped.", "title": "Basemaps"}, "default_basemap": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "One of `basemaps`; else the first enabled key.", "title": "Default Basemap"}, "show_branding": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Branding"}, "thanks_html": {"anyOf": [{"additionalProperties": {"type": "string"}, "type": "object"}, {"type": "null"}], "description": "Thanks page per language; creator HTML, sanitised on save.", "title": "Thanks Html"}, "map_start": {"anyOf": [{"$ref": "#/components/schemas/MapStart"}, {"type": "null"}]}, "use_geolocation": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Use Geolocation"}, "opens_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "Start of the survey period: ISO 8601 with an offset, or a naive value read in schedule_timezone. Null clears it.", "title": "Opens At"}, "closes_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "End of the survey period, after the start and in the future. Null clears it. Reopening a survey by hand clears a past end.", "title": "Closes At"}, "schedule_timezone": {"anyOf": [{"maxLength": 64, "type": "string"}, {"type": "null"}], "description": "IANA zone (e.g. \"Europe/Berlin\") naive period values are read in and times are shown in; \"\" = UTC.", "title": "Schedule Timezone"}}, "title": "SurveyPatchIn", "type": "object"}, "PublishIn": {"additionalProperties": false, "properties": {"acknowledge_translation_gaps": {"default": false, "title": "Acknowledge Translation Gaps", "type": "boolean"}, "clear_test_data": {"default": false, "title": "Clear Test Data", "type": "boolean"}}, "title": "PublishIn", "type": "object"}, "DraftPublishIn": {"additionalProperties": false, "properties": {"acknowledge_translation_gaps": {"default": false, "title": "Acknowledge Translation Gaps", "type": "boolean"}, "force": {"default": false, "description": "Publish even when the changes conflict with collected answers.", "title": "Force", "type": "boolean"}}, "title": "DraftPublishIn", "type": "object"}, "GroupOut": {"properties": {"id": {"title": "Id", "type": "integer"}, "code": {"title": "Code", "type": "string"}, "section_id": {"title": "Section Id", "type": "integer"}, "parent_id": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "The question whose pop-up holds the group; null at top level.", "title": "Parent Id"}, "order": {"title": "Order", "type": "integer"}, "title": {"title": "Title", "type": "string"}, "description": {"title": "Description", "type": "string"}, "display_style": {"enum": ["plain", "card", "collapsible"], "title": "Display Style", "type": "string"}, "budget": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Budget"}, "visibility_rule": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Visibility Rule"}, "audience": {"enum": ["everyone", "respondents", "operators"], "title": "Audience", "type": "string"}, "question_ids": {"items": {"type": "integer"}, "title": "Question Ids", "type": "array"}, "translations": {"additionalProperties": {"$ref": "#/components/schemas/GroupTranslation"}, "title": "Translations", "type": "object"}}, "required": ["id", "code", "section_id", "order", "title", "description", "display_style", "budget", "visibility_rule", "audience", "question_ids", "translations"], "title": "GroupOut", "type": "object"}, "GroupTranslation": {"additionalProperties": false, "properties": {"title": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Title"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}}, "title": "GroupTranslation", "type": "object"}, "BudgetSettingsIn": {"additionalProperties": false, "description": "A `budget` question's settings, or a budget group's (total, unit, symbol).", "properties": {"mode": {"anyOf": [{"enum": ["split", "projects"], "type": "string"}, {"type": "null"}], "description": "`budget` only: split the budget between items, or pick projects within it.", "title": "Mode"}, "total": {"anyOf": [{"exclusiveMinimum": 0, "type": "number"}, {"type": "null"}], "description": "The budget. Fixed at 100 when unit is percent.", "title": "Total"}, "unit": {"anyOf": [{"enum": ["currency", "points", "percent"], "type": "string"}, {"type": "null"}], "title": "Unit"}, "symbol": {"anyOf": [{"maxLength": 4, "type": "string"}, {"type": "null"}], "description": "Currency symbol, e.g. \u00a3.", "title": "Symbol"}, "step": {"anyOf": [{"exclusiveMinimum": 0, "type": "number"}, {"type": "null"}], "description": "Amounts move in steps of this size (split).", "title": "Step"}, "rule": {"anyOf": [{"enum": ["all", "upto"], "type": "string"}, {"type": "null"}], "description": "Split: the whole budget must be allocated, or up to it.", "title": "Rule"}, "min_items": {"anyOf": [{"minimum": 0, "type": "integer"}, {"type": "null"}], "title": "Min Items"}, "show_shares": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Shares"}, "source": {"anyOf": [{"enum": ["list", "layer"], "type": "string"}, {"type": "null"}], "description": "`budget` only: items from `choices`, or the objects of `layer_id` (Pro).", "title": "Source"}, "cost_property": {"anyOf": [{"maxLength": 80, "type": "string"}, {"type": "null"}], "description": "With source `layer`: the object property holding the cost.", "title": "Cost Property"}}, "title": "BudgetSettingsIn", "type": "object"}, "GroupCreateIn": {"additionalProperties": false, "properties": {"title": {"anyOf": [{"maxLength": 512, "type": "string"}, {"type": "null"}], "title": "Title"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}, "display_style": {"anyOf": [{"enum": ["plain", "card", "collapsible"], "type": "string"}, {"type": "null"}], "title": "Display Style"}, "budget": {"anyOf": [{"$ref": "#/components/schemas/BudgetSettingsIn"}, {"type": "null"}], "description": "Makes the group a budget: its map questions carry a price and respondents place marks until the total is spent (total, unit, symbol). Null removes the budget."}, "visibility_rule": {"anyOf": [{"$ref": "#/components/schemas/VisibilityRule"}, {"type": "null"}]}, "audience": {"anyOf": [{"enum": ["everyone", "respondents", "operators"], "type": "string"}, {"type": "null"}], "description": "Who sees it: everyone, respondents only, or operators only (the \"Enter a response\" form workspace members fill in for someone else). Changing it on a live survey needs unpublished changes.", "title": "Audience"}, "translations": {"anyOf": [{"additionalProperties": {"$ref": "#/components/schemas/GroupTranslation"}, "type": "object"}, {"type": "null"}], "title": "Translations"}, "question_ids": {"anyOf": [{"items": {"type": "integer"}, "type": "array"}, {"type": "null"}], "description": "The questions the group holds, in order; they move together to where the first of them was. Questions of the same list only (the section, or the same pop-up).", "title": "Question Ids"}, "parent_id": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "Create the group in this question's pop-up.", "title": "Parent Id"}}, "title": "GroupCreateIn", "type": "object"}, "VisibilityRule": {"additionalProperties": false, "description": "Show the item only when an EARLIER choice question was answered with\none of `choice_codes`, or (`answered: true`) answered at all.", "properties": {"question_code": {"title": "Question Code", "type": "string"}, "choice_codes": {"anyOf": [{"items": {"type": "integer"}, "type": "array"}, {"type": "null"}], "title": "Choice Codes"}, "answered": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Answered"}}, "required": ["question_code"], "title": "VisibilityRule", "type": "object"}, "GroupIn": {"additionalProperties": false, "properties": {"title": {"anyOf": [{"maxLength": 512, "type": "string"}, {"type": "null"}], "title": "Title"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}, "display_style": {"anyOf": [{"enum": ["plain", "card", "collapsible"], "type": "string"}, {"type": "null"}], "title": "Display Style"}, "budget": {"anyOf": [{"$ref": "#/components/schemas/BudgetSettingsIn"}, {"type": "null"}], "description": "Makes the group a budget: its map questions carry a price and respondents place marks until the total is spent (total, unit, symbol). Null removes the budget."}, "visibility_rule": {"anyOf": [{"$ref": "#/components/schemas/VisibilityRule"}, {"type": "null"}]}, "audience": {"anyOf": [{"enum": ["everyone", "respondents", "operators"], "type": "string"}, {"type": "null"}], "description": "Who sees it: everyone, respondents only, or operators only (the \"Enter a response\" form workspace members fill in for someone else). Changing it on a live survey needs unpublished changes.", "title": "Audience"}, "translations": {"anyOf": [{"additionalProperties": {"$ref": "#/components/schemas/GroupTranslation"}, "type": "object"}, {"type": "null"}], "title": "Translations"}, "question_ids": {"anyOf": [{"items": {"type": "integer"}, "type": "array"}, {"type": "null"}], "description": "The questions the group holds, in order; they move together to where the first of them was. Questions of the same list only (the section, or the same pop-up).", "title": "Question Ids"}}, "title": "GroupIn", "type": "object"}, "QuestionOut": {"properties": {"id": {"title": "Id", "type": "integer"}, "code": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Code"}, "section_id": {"title": "Section Id", "type": "integer"}, "parent_id": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Parent Id"}, "group_id": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Group Id"}, "order": {"title": "Order", "type": "integer"}, "name": {"title": "Name", "type": "string"}, "subtext": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Subtext"}, "input_type": {"title": "Input Type", "type": "string"}, "required": {"title": "Required", "type": "boolean"}, "choices": {"anyOf": [{"items": {}, "type": "array"}, {"type": "null"}], "title": "Choices"}, "validation_settings": {"additionalProperties": true, "title": "Validation Settings", "type": "object"}, "color": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Color"}, "icon_class": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Icon Class"}, "display_style": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Display Style"}, "visibility_rule": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Visibility Rule"}, "audience": {"enum": ["everyone", "respondents", "operators"], "title": "Audience", "type": "string"}, "layer_id": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Layer Id"}, "min_objects": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Min Objects"}, "share_with_respondents": {"title": "Share With Respondents", "type": "boolean"}, "translations": {"additionalProperties": {"$ref": "#/components/schemas/QuestionTranslation"}, "title": "Translations", "type": "object"}, "subquestions": {"items": {"type": "integer"}, "title": "Subquestions", "type": "array"}}, "required": ["id", "code", "section_id", "parent_id", "group_id", "order", "name", "subtext", "input_type", "required", "choices", "validation_settings", "color", "icon_class", "display_style", "visibility_rule", "audience", "layer_id", "min_objects", "share_with_respondents", "translations", "subquestions"], "title": "QuestionOut", "type": "object"}, "QuestionTranslation": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "subtext": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Subtext"}}, "title": "QuestionTranslation", "type": "object"}, "SectionOut": {"properties": {"id": {"title": "Id", "type": "integer"}, "code": {"title": "Code", "type": "string"}, "name": {"title": "Name", "type": "string"}, "title": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Title"}, "subheading": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Subheading"}, "layout": {"title": "Layout", "type": "string"}, "panel_side": {"title": "Panel Side", "type": "string"}, "panel_width": {"title": "Panel Width", "type": "string"}, "content_width": {"title": "Content Width", "type": "string"}, "content_valign": {"title": "Content Valign", "type": "string"}, "keep_panel_open": {"title": "Keep Panel Open", "type": "boolean"}, "stage_image": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "URL of the picture an image section shows; null = the survey cover. Upload it in the editor.", "title": "Stage Image"}, "next_label": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Next Label"}, "position": {"title": "Position", "type": "integer"}, "visibility_rule": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Visibility Rule"}, "audience": {"enum": ["everyone", "respondents", "operators"], "title": "Audience", "type": "string"}, "map_start": {"anyOf": [{"$ref": "#/components/schemas/MapStart"}, {"type": "null"}]}, "use_geolocation": {"title": "Use Geolocation", "type": "boolean"}, "translations": {"additionalProperties": {"$ref": "#/components/schemas/SectionTranslation"}, "title": "Translations", "type": "object"}, "questions": {"items": {"type": "integer"}, "title": "Questions", "type": "array"}, "groups": {"description": "Question groups of the section, top level and pop-ups (GET \u2026/groups).", "items": {"type": "integer"}, "title": "Groups", "type": "array"}}, "required": ["id", "code", "name", "title", "subheading", "layout", "panel_side", "panel_width", "content_width", "content_valign", "keep_panel_open", "stage_image", "next_label", "position", "visibility_rule", "audience", "map_start", "use_geolocation", "translations", "questions", "groups"], "title": "SectionOut", "type": "object"}, "SectionTranslation": {"additionalProperties": false, "properties": {"title": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Title"}, "subheading": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Subheading"}, "next_label": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Next Label"}}, "title": "SectionTranslation", "type": "object"}, "CopyQuestionIn": {"additionalProperties": false, "properties": {"source_question_id": {"description": "A question of any survey you can read.", "title": "Source Question Id", "type": "integer"}, "parent_id": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "Paste into this question's pop-up (without the source's own sub-questions).", "title": "Parent Id"}}, "required": ["source_question_id"], "title": "CopyQuestionIn", "type": "object"}, "CopySectionIn": {"additionalProperties": false, "properties": {"source_section_id": {"description": "A section of any survey you can read.", "title": "Source Section Id", "type": "integer"}}, "required": ["source_section_id"], "title": "CopySectionIn", "type": "object"}, "MoveOut": {"properties": {"question": {"$ref": "#/components/schemas/QuestionOut"}, "removed_rules": {"description": "Visibility rules the move broke and cleared, by their host's label.", "items": {"type": "string"}, "title": "Removed Rules", "type": "array"}}, "required": ["question", "removed_rules"], "title": "MoveOut", "type": "object"}, "MoveIn": {"additionalProperties": false, "properties": {"section_id": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "Target section of the same survey; default: its own.", "title": "Section Id"}, "parent_id": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "Move into this question's pop-up; null moves it to the section's top level.", "title": "Parent Id"}, "position": {"anyOf": [{"minimum": 0, "type": "integer"}, {"type": "null"}], "description": "Place among the target list's items (a group counts as one); default: the end.", "title": "Position"}, "acknowledge_answer_loss": {"default": false, "title": "Acknowledge Answer Loss", "type": "boolean"}}, "title": "MoveIn", "type": "object"}, "DuplicateSurveyOut": {"properties": {"uuid": {"format": "uuid", "title": "Uuid", "type": "string"}, "name": {"title": "Name", "type": "string"}, "status": {"title": "Status", "type": "string"}, "workspace": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Workspace"}, "languages": {"items": {"type": "string"}, "title": "Languages", "type": "array"}, "redirect_url": {"title": "Redirect Url", "type": "string"}, "visibility": {"title": "Visibility", "type": "string"}, "version": {"title": "Version", "type": "integer"}, "is_unpublished_changes": {"title": "Is Unpublished Changes", "type": "boolean"}, "live_survey": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "description": "For unpublished changes: the live survey they replace.", "title": "Live Survey"}, "unpublished_changes": {"anyOf": [{"format": "uuid", "type": "string"}, {"type": "null"}], "description": "The uuid of this survey's unpublished changes, if any.", "title": "Unpublished Changes"}, "review": {"anyOf": [{"const": "pending", "type": "string"}, {"type": "null"}], "description": "\"pending\" while content screening holds the survey.", "title": "Review"}, "opens_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "Start of the survey period (UTC): before it respondents see an \"opens on\" page. Null = no start.", "title": "Opens At"}, "closes_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "End of the survey period (UTC): the survey closes by itself then. Null = no end.", "title": "Closes At"}, "schedule_timezone": {"default": "", "description": "IANA zone the period was entered in; \"\" = UTC.", "title": "Schedule Timezone", "type": "string"}, "url": {"title": "Url", "type": "string"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "updated_at": {"format": "date-time", "title": "Updated At", "type": "string"}, "sections": {"title": "Sections", "type": "integer"}, "questions": {"title": "Questions", "type": "integer"}, "layers": {"title": "Layers", "type": "integer"}}, "required": ["uuid", "name", "status", "workspace", "languages", "redirect_url", "visibility", "version", "is_unpublished_changes", "url", "created_at", "updated_at", "sections", "questions", "layers"], "title": "DuplicateSurveyOut", "type": "object"}, "VersionOut": {"properties": {"version": {"title": "Version", "type": "integer"}, "current": {"title": "Current", "type": "boolean"}, "status": {"title": "Status", "type": "string"}, "published_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Published At"}, "sections": {"title": "Sections", "type": "integer"}, "questions": {"title": "Questions", "type": "integer"}, "responses": {"title": "Responses", "type": "integer"}}, "required": ["version", "current", "status", "published_at", "sections", "questions", "responses"], "title": "VersionOut", "type": "object"}, "RestoreOut": {"properties": {"unpublished_changes": {"format": "uuid", "title": "Unpublished Changes", "type": "string"}, "version": {"title": "Version", "type": "integer"}}, "required": ["unpublished_changes", "version"], "title": "RestoreOut", "type": "object"}, "IconOut": {"properties": {"value": {"description": "The value to put in a question's icon_class or a choice's icon.", "title": "Value", "type": "string"}, "label": {"title": "Label", "type": "string"}, "set": {"enum": ["maki", "temaki", "fa"], "title": "Set", "type": "string"}, "categories": {"items": {"type": "string"}, "title": "Categories", "type": "array"}}, "required": ["value", "label", "set", "categories"], "title": "IconOut", "type": "object"}, "SectionIn": {"additionalProperties": false, "properties": {"title": {"anyOf": [{"maxLength": 256, "type": "string"}, {"type": "null"}], "title": "Title"}, "subheading": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Subheading"}, "code": {"anyOf": [{"maxLength": 8, "type": "string"}, {"type": "null"}], "title": "Code"}, "layout": {"anyOf": [{"enum": ["map", "image", "form"], "type": "string"}, {"type": "null"}], "title": "Layout"}, "panel_side": {"anyOf": [{"enum": ["left", "right"], "type": "string"}, {"type": "null"}], "title": "Panel Side"}, "panel_width": {"anyOf": [{"enum": ["default", "third", "half"], "type": "string"}, {"type": "null"}], "title": "Panel Width"}, "content_width": {"anyOf": [{"enum": ["full", "column"], "type": "string"}, {"type": "null"}], "title": "Content Width"}, "content_valign": {"anyOf": [{"enum": ["top", "middle"], "type": "string"}, {"type": "null"}], "title": "Content Valign"}, "keep_panel_open": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Keep Panel Open"}, "next_label": {"anyOf": [{"maxLength": 30, "type": "string"}, {"type": "null"}], "title": "Next Label"}, "visibility_rule": {"anyOf": [{"$ref": "#/components/schemas/VisibilityRule"}, {"type": "null"}]}, "audience": {"anyOf": [{"enum": ["everyone", "respondents", "operators"], "type": "string"}, {"type": "null"}], "description": "Who sees it: everyone, respondents only, or operators only (the \"Enter a response\" form workspace members fill in for someone else). Changing it on a live survey needs unpublished changes.", "title": "Audience"}, "translations": {"anyOf": [{"additionalProperties": {"$ref": "#/components/schemas/SectionTranslation"}, "type": "object"}, {"type": "null"}], "title": "Translations"}, "map_start": {"anyOf": [{"$ref": "#/components/schemas/MapStart"}, {"type": "null"}]}, "use_geolocation": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Use Geolocation"}}, "title": "SectionIn", "type": "object"}, "SectionOrderIn": {"additionalProperties": false, "properties": {"section_ids": {"items": {"type": "integer"}, "title": "Section Ids", "type": "array"}}, "required": ["section_ids"], "title": "SectionOrderIn", "type": "object"}, "ChoiceIn": {"additionalProperties": false, "properties": {"code": {"title": "Code", "type": "integer"}, "name": {"anyOf": [{"type": "string"}, {"additionalProperties": {"type": "string"}, "type": "object"}], "title": "Name"}, "other": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Other"}, "icon": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Icon"}, "group": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Group"}, "color": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Color"}, "description": {"anyOf": [{"maxLength": 300, "type": "string"}, {"type": "null"}], "description": "Budget questions: one line under the item.", "title": "Description"}, "cost": {"anyOf": [{"minimum": 0, "type": "number"}, {"type": "null"}], "description": "Budget questions: what the item costs. Required for projects.", "title": "Cost"}}, "required": ["code", "name"], "title": "ChoiceIn", "type": "object"}, "PriceIn": {"additionalProperties": false, "description": "What a map question's marks cost under a budget group (change budget-question).", "properties": {"amount": {"exclusiveMinimum": 0, "title": "Amount", "type": "number"}, "per": {"default": "feature", "description": "Per mark, per metre of a line, or per square metre of an area / spray.", "enum": ["feature", "length", "area"], "title": "Per", "type": "string"}}, "required": ["amount"], "title": "PriceIn", "type": "object"}, "QuestionCreateIn": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"maxLength": 512, "type": "string"}, {"type": "null"}], "title": "Name"}, "subtext": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Subtext"}, "input_type": {"enum": ["text", "number", "choice", "multichoice", "range", "rating", "ranking", "datetime", "point", "line", "polygon", "spraycan", "image", "text_line", "html", "photo", "audio", "document", "thumbs", "layer_objects", "budget"], "title": "Input Type", "type": "string"}, "required": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Required"}, "choices": {"anyOf": [{"items": {"$ref": "#/components/schemas/ChoiceIn"}, "type": "array"}, {"type": "null"}], "title": "Choices"}, "validation_settings": {"anyOf": [{"$ref": "#/components/schemas/ValidationSettingsIn"}, {"type": "null"}]}, "budget": {"anyOf": [{"$ref": "#/components/schemas/BudgetSettingsIn"}, {"type": "null"}], "description": "Settings of a `budget` question."}, "price": {"anyOf": [{"$ref": "#/components/schemas/PriceIn"}, {"type": "null"}], "description": "A map question's price under a budget group; null removes it."}, "color": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Color"}, "icon_class": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Icon Class"}, "display_style": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Display Style"}, "visibility_rule": {"anyOf": [{"$ref": "#/components/schemas/VisibilityRule"}, {"type": "null"}]}, "audience": {"anyOf": [{"enum": ["everyone", "respondents", "operators"], "type": "string"}, {"type": "null"}], "description": "Who sees it: everyone, respondents only, or operators only (the \"Enter a response\" form workspace members fill in for someone else). Changing it on a live survey needs unpublished changes.", "title": "Audience"}, "layer_id": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Layer Id"}, "layer_from_answers": {"anyOf": [{"maxLength": 50, "type": "string"}, {"type": "null"}], "description": "For an \"Objects on the map\" question: the code of a map question whose answers become a shared map (created on first use). Use instead of `layer_id`.", "title": "Layer From Answers"}, "min_objects": {"anyOf": [{"minimum": 0, "type": "integer"}, {"type": "null"}], "title": "Min Objects"}, "share_with_respondents": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Share With Respondents"}, "translations": {"anyOf": [{"additionalProperties": {"$ref": "#/components/schemas/QuestionTranslation"}, "type": "object"}, {"type": "null"}], "title": "Translations"}}, "required": ["input_type"], "title": "QuestionCreateIn", "type": "object"}, "ValidationSettingsIn": {"additionalProperties": false, "properties": {"min_value": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Min Value"}, "max_value": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Max Value"}, "outlier_sigma": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Outlier Sigma"}, "min_length": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Min Length"}, "area_outlier_factor": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Area Outlier Factor"}, "max_dots": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Max Dots"}, "max_file_mb": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Max File Mb"}, "max_files": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Max Files"}, "min_features": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Min Features"}, "max_features": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Max Features"}}, "title": "ValidationSettingsIn", "type": "object"}, "QuestionOrderIn": {"additionalProperties": false, "properties": {"parent_id": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "Order a pop-up's sub-questions instead of the section's top level.", "title": "Parent Id"}, "items": {"description": "Question ids in order; a group is {\"g\": <id>, \"q\": [<ids>]}.", "items": {"anyOf": [{"type": "integer"}, {"additionalProperties": {"anyOf": [{"type": "integer"}, {"items": {"type": "integer"}, "type": "array"}]}, "type": "object"}]}, "title": "Items", "type": "array"}}, "required": ["items"], "title": "QuestionOrderIn", "type": "object"}, "QuestionIn": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"maxLength": 512, "type": "string"}, {"type": "null"}], "title": "Name"}, "subtext": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Subtext"}, "input_type": {"anyOf": [{"enum": ["text", "number", "choice", "multichoice", "range", "rating", "ranking", "datetime", "point", "line", "polygon", "spraycan", "image", "text_line", "html", "photo", "audio", "document", "thumbs", "layer_objects", "budget"], "type": "string"}, {"type": "null"}], "title": "Input Type"}, "required": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Required"}, "choices": {"anyOf": [{"items": {"$ref": "#/components/schemas/ChoiceIn"}, "type": "array"}, {"type": "null"}], "title": "Choices"}, "validation_settings": {"anyOf": [{"$ref": "#/components/schemas/ValidationSettingsIn"}, {"type": "null"}]}, "budget": {"anyOf": [{"$ref": "#/components/schemas/BudgetSettingsIn"}, {"type": "null"}], "description": "Settings of a `budget` question."}, "price": {"anyOf": [{"$ref": "#/components/schemas/PriceIn"}, {"type": "null"}], "description": "A map question's price under a budget group; null removes it."}, "color": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Color"}, "icon_class": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Icon Class"}, "display_style": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Display Style"}, "visibility_rule": {"anyOf": [{"$ref": "#/components/schemas/VisibilityRule"}, {"type": "null"}]}, "audience": {"anyOf": [{"enum": ["everyone", "respondents", "operators"], "type": "string"}, {"type": "null"}], "description": "Who sees it: everyone, respondents only, or operators only (the \"Enter a response\" form workspace members fill in for someone else). Changing it on a live survey needs unpublished changes.", "title": "Audience"}, "layer_id": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Layer Id"}, "layer_from_answers": {"anyOf": [{"maxLength": 50, "type": "string"}, {"type": "null"}], "description": "For an \"Objects on the map\" question: the code of a map question whose answers become a shared map (created on first use). Use instead of `layer_id`.", "title": "Layer From Answers"}, "min_objects": {"anyOf": [{"minimum": 0, "type": "integer"}, {"type": "null"}], "title": "Min Objects"}, "share_with_respondents": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Share With Respondents"}, "translations": {"anyOf": [{"additionalProperties": {"$ref": "#/components/schemas/QuestionTranslation"}, "type": "object"}, {"type": "null"}], "title": "Translations"}}, "title": "QuestionIn", "type": "object"}, "ChoicesIn": {"additionalProperties": false, "properties": {"choices": {"items": {"$ref": "#/components/schemas/ChoiceIn"}, "title": "Choices", "type": "array"}}, "required": ["choices"], "title": "ChoicesIn", "type": "object"}, "LayerOut": {"properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}, "source": {"title": "Source", "type": "string"}, "color": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Color"}, "position": {"title": "Position", "type": "integer"}, "feature_count": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Feature Count"}, "property_names": {"items": {"type": "string"}, "title": "Property Names", "type": "array"}, "geojson_url": {"title": "Geojson Url", "type": "string"}}, "required": ["id", "name", "source", "color", "position", "property_names", "geojson_url"], "title": "LayerOut", "type": "object"}, "LayerCreateIn": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"maxLength": 100, "type": "string"}, {"type": "null"}], "title": "Name"}, "geojson": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "description": "A FeatureCollection, a Feature or a bare geometry in WGS 84 (lng, lat). At most 10 MB and 5 000 features; multi-part geometries become one object per part. Omit for an empty layer.", "title": "Geojson"}}, "title": "LayerCreateIn", "type": "object"}, "LayerOrderIn": {"additionalProperties": false, "properties": {"layer_ids": {"description": "Every layer id of the survey, in the new order.", "items": {"type": "integer"}, "title": "Layer Ids", "type": "array"}}, "required": ["layer_ids"], "title": "LayerOrderIn", "type": "object"}, "LayerPatchIn": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"maxLength": 100, "type": "string"}, {"type": "null"}], "title": "Name"}, "color": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "#rrggbb", "title": "Color"}, "label_field": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A property shown as the object title on the map.", "title": "Label Field"}, "key_field": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Key Field"}, "show_popups": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Popups"}, "style": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "description": "opacity, weight, fill_opacity, radius, icon, legend, and `by` \u2014 one rule on one property (categories or graduated classes). Normalised on save.", "title": "Style"}}, "title": "LayerPatchIn", "type": "object"}, "ObjectCreateIn": {"additionalProperties": false, "properties": {"key": {"anyOf": [{"maxLength": 100, "type": "string"}, {"type": "null"}], "description": "Unique in the layer; generated when omitted.", "title": "Key"}, "title": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Title"}, "category": {"anyOf": [{"maxLength": 100, "type": "string"}, {"type": "null"}], "title": "Category"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Rich text; sanitised like every creator text.", "title": "Description"}, "link": {"anyOf": [{"maxLength": 500, "type": "string"}, {"type": "null"}], "description": "An http:// or https:// address.", "title": "Link"}, "geometry": {"additionalProperties": true, "title": "Geometry", "type": "object"}, "properties": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Properties"}}, "required": ["geometry"], "title": "ObjectCreateIn", "type": "object"}, "ObjectIn": {"additionalProperties": false, "properties": {"key": {"anyOf": [{"maxLength": 100, "type": "string"}, {"type": "null"}], "description": "Unique in the layer; generated when omitted.", "title": "Key"}, "title": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Title"}, "category": {"anyOf": [{"maxLength": 100, "type": "string"}, {"type": "null"}], "title": "Category"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Rich text; sanitised like every creator text.", "title": "Description"}, "link": {"anyOf": [{"maxLength": 500, "type": "string"}, {"type": "null"}], "description": "An http:// or https:// address.", "title": "Link"}, "geometry": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "description": "One Point, LineString or Polygon (WGS 84).", "title": "Geometry"}, "properties": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Properties"}}, "title": "ObjectIn", "type": "object"}, "ObjectStatusIn": {"additionalProperties": false, "properties": {"status": {"description": "visible, pending or hidden.", "title": "Status", "type": "string"}}, "required": ["status"], "title": "ObjectStatusIn", "type": "object"}, "ResponseList": {"properties": {"next_cursor": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Next Cursor"}, "items": {"items": {"$ref": "#/components/schemas/ResponseOut"}, "title": "Items", "type": "array"}}, "required": ["items"], "title": "ResponseList", "type": "object"}, "ResponseOut": {"properties": {"id": {"title": "Id", "type": "integer"}, "number": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "The \"#N\" the Responses page shows; empty sessions have none.", "title": "Number"}, "survey": {"format": "uuid", "title": "Survey", "type": "string"}, "started_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Started At"}, "language": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Language"}, "validation_status": {"title": "Validation Status", "type": "string"}, "answers": {"items": {"additionalProperties": true, "type": "object"}, "title": "Answers", "type": "array"}}, "required": ["id", "survey", "started_at", "language", "validation_status", "answers"], "title": "ResponseOut", "type": "object"}, "ExportLinkOut": {"properties": {"url": {"description": "Open within 15 minutes; it checks your access again.", "title": "Url", "type": "string"}, "expires_at": {"format": "date-time", "title": "Expires At", "type": "string"}}, "required": ["url", "expires_at"], "title": "ExportLinkOut", "type": "object"}, "ExportLinkIn": {"additionalProperties": false, "properties": {"format": {"default": "xlsx", "enum": ["zip", "xlsx", "csv", "gpkg", "shp", "kml"], "title": "Format", "type": "string"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "One version (`v3`), several separated by commas (`v10,v11`), or omit for every version.", "title": "Version"}, "include_all": {"default": false, "description": "Also deleted and rejected responses.", "title": "Include All", "type": "boolean"}, "completed_only": {"default": false, "description": "Only responses that reached the last section.", "title": "Completed Only", "type": "boolean"}, "files": {"default": false, "description": "Add uploaded files (turns a single-file format into a ZIP).", "title": "Files", "type": "boolean"}}, "title": "ExportLinkIn", "type": "object"}, "ModerateIn": {"additionalProperties": false, "properties": {"validation_status": {"enum": ["approved", "not_approved", "on_hold", ""], "title": "Validation Status", "type": "string"}}, "required": ["validation_status"], "title": "ModerateIn", "type": "object"}, "TrackedLinkIn": {"additionalProperties": false, "properties": {"utm_source": {"description": "Where the link is posted, e.g. \"newsletter\".", "maxLength": 100, "minLength": 1, "title": "Utm Source", "type": "string"}, "utm_medium": {"default": "", "description": "e.g. \"email\", \"poster\", \"social\".", "maxLength": 100, "title": "Utm Medium", "type": "string"}, "utm_campaign": {"default": "", "description": "e.g. \"spring-2027\".", "maxLength": 100, "title": "Utm Campaign", "type": "string"}}, "required": ["utm_source"], "title": "TrackedLinkIn", "type": "object"}, "EmbedHostsIn": {"additionalProperties": false, "properties": {"hosts": {"description": "Sites allowed to embed the survey, e.g. [\"example.org\", \"*.city.gov\"]; empty = any site.", "items": {"type": "string"}, "title": "Hosts", "type": "array"}}, "required": ["hosts"], "title": "EmbedHostsIn", "type": "object"}}, "securitySchemes": {"Bearer": {"type": "http", "scheme": "bearer"}}}, "servers": []}