MQUAD Platform - Unified API Documentation

v2.0.0

Contact: support@mquad.example.com

Base URLs
http://localhost:8000Backend
http://localhost:8001Survey Service
http://localhost:8002Data Service
http://localhost:8003Sync Service
http://localhost:8004Analytics Service
http://localhost:8006Workspace Service
http://localhost:8007Webhook Service
http://localhost:8009ODK Bridge
http://localhost:8010Form Service
http://localhost:8011Media Service
http://localhost:8012Notification Service
http://localhost:8013Audit Service
http://localhost:8014Feature Flags Service
http://localhost:6380Quota Service

Complete API reference for all MQUAD microservices, consolidated from each service's live OpenAPI specification.

Every endpoint is tagged <Service> / <Topic> so the sidebar is grouped by service and then by functional area. Use the server selector on each endpoint to target the correct local service (all services run on localhost; see the Servers list). Microservice-to-microservice calls additionally require the X-Tenant-ID header.

Regenerate with: python3 scripts/merge_openapi_specs.py

Authentication

OAuth2PasswordBeareroauth2
password
Token URL
api/v1/account/login
JWThttp

JWT Token Authentication

Scheme: bearer

HTTPBearerhttp

Scheme: bearer

Backend

Main orchestrator: authentication, users, roles, tenants, billing, app configuration

Backend / Health

Health — Backend

Backend / System Metrics

System Metrics — Backend

Get System Metrics

GET
http://localhost:8000/api/v1/system-metrics

Response

Successful Response

Response fields application/json
os_metricsBackend_OSMetricsDtorequired
Show child attributes
cpu_percentnumberrequired
memory_percentnumberrequired
memory_total_mbnumberrequired
memory_used_mbnumberrequired
celery_metricsBackend_CeleryMetricsDto | null
Show child attributes
Any of
workers_onlineintegerrequired
active_tasksintegerrequired
scheduled_tasksintegerrequired
reserved_tasksintegerrequired
worker_detailsobjectrequired
null

Authorization

OAuth2PasswordBeareroauth2

Backend / Tenants

Tenants — Backend

List Tenants

GET
http://localhost:8000/api/v1/tenants

Parameters

skipinteger0query
limitinteger10query
searchstring | nullquery

Response

Successful Response

Response fields application/json
Show child attributes
idstring | nullrequired
Show child attributes
Any of
string
null
namestringrequired
subdomainstring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
custom_domainstring | nullrequired
Show child attributes
Any of
string
null
custom_domain_statusstringactivefailedactivation-progressfailed
Show child attributes
nameBackend_Featurechatreportanalyticsorganizationteamsstriperequired
enabledbooleanrequired
subscription_idstring | nullrequired
Show child attributes
Any of
string
null
plan_tierstringfree
is_trialbooleanfalse
trial_end_atstring | null
Show child attributes
Any of
string
null
has_had_trialbooleanfalse
is_dormantbooleanfalse
billing_individual_namestring | null
Show child attributes
Any of
string
null
billing_business_namestring | null
Show child attributes
Any of
string
null
billing_address_line1string | null
Show child attributes
Any of
string
null
billing_address_line2string | null
Show child attributes
Any of
string
null
billing_address_citystring | null
Show child attributes
Any of
string
null
billing_address_statestring | null
Show child attributes
Any of
string
null
billing_address_postal_codestring | null
Show child attributes
Any of
string
null
billing_address_countrystring | null
Show child attributes
Any of
string
null
tax_idstring | null
Show child attributes
Any of
string
null
skipintegerrequired
limitintegerrequired
totalintegerrequired
has_previousbooleanrequired
has_nextbooleanrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Create Tenant

POST
http://localhost:8000/api/v1/tenants

Body

application/json
namestringrequired
subdomainstringrequired
admin_emailstring<email>required
admin_passwordstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
genderBackend_Gendermalefemaleotherprefer_not_to_sayrequired

Response

Successful Response

Response fields application/json
idstringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Delete Tenant

DELETE
http://localhost:8000/api/v1/tenants/{id}

Parameters

idstringrequiredpath

Response

202Acceptedany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Search By Name

GET
http://localhost:8000/api/v1/tenants/search_by_name/{name}

Parameters

namestringrequiredpath

Response

Successful Response

Response fields application/json
idstring | nullrequired
Show child attributes
Any of
string
null
namestringrequired
subdomainstring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
custom_domainstring | nullrequired
Show child attributes
Any of
string
null
custom_domain_statusstringactivefailedactivation-progressfailed
Show child attributes
nameBackend_Featurechatreportanalyticsorganizationteamsstriperequired
enabledbooleanrequired
subscription_idstring | nullrequired
Show child attributes
Any of
string
null
plan_tierstringfree
is_trialbooleanfalse
trial_end_atstring | null
Show child attributes
Any of
string
null
has_had_trialbooleanfalse
is_dormantbooleanfalse
billing_individual_namestring | null
Show child attributes
Any of
string
null
billing_business_namestring | null
Show child attributes
Any of
string
null
billing_address_line1string | null
Show child attributes
Any of
string
null
billing_address_line2string | null
Show child attributes
Any of
string
null
billing_address_citystring | null
Show child attributes
Any of
string
null
billing_address_statestring | null
Show child attributes
Any of
string
null
billing_address_postal_codestring | null
Show child attributes
Any of
string
null
billing_address_countrystring | null
Show child attributes
Any of
string
null
tax_idstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Search By Subdomain

GET
http://localhost:8000/api/v1/tenants/search_by_subdomain/{subdomain}

Parameters

subdomainstringrequiredpath

Response

Successful Response

Response fields application/json
idstring | nullrequired
Show child attributes
Any of
string
null
namestringrequired
subdomainstring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
custom_domainstring | nullrequired
Show child attributes
Any of
string
null
custom_domain_statusstringactivefailedactivation-progressfailed
Show child attributes
nameBackend_Featurechatreportanalyticsorganizationteamsstriperequired
enabledbooleanrequired
subscription_idstring | nullrequired
Show child attributes
Any of
string
null
plan_tierstringfree
is_trialbooleanfalse
trial_end_atstring | null
Show child attributes
Any of
string
null
has_had_trialbooleanfalse
is_dormantbooleanfalse
billing_individual_namestring | null
Show child attributes
Any of
string
null
billing_business_namestring | null
Show child attributes
Any of
string
null
billing_address_line1string | null
Show child attributes
Any of
string
null
billing_address_line2string | null
Show child attributes
Any of
string
null
billing_address_citystring | null
Show child attributes
Any of
string
null
billing_address_statestring | null
Show child attributes
Any of
string
null
billing_address_postal_codestring | null
Show child attributes
Any of
string
null
billing_address_countrystring | null
Show child attributes
Any of
string
null
tax_idstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Check Subdomain Availability

GET
http://localhost:8000/api/v1/tenants/check_subdomain/{subdomain}

Parameters

subdomainstringrequiredpath

Response

Successful Response

Response fields application/json
is_availablebooleanrequired
reasonstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Get Reserved Subdomains

GET
http://localhost:8000/api/v1/tenants/reserved-subdomains

Get list of reserved subdomains that cannot be used for tenant creation.

Response

Successful Response

Response fields application/json
subdomainsArray<string>required

Update Tenant Dns Record

POST
http://localhost:8000/api/v1/tenants/{tenant_id}/update_dns

When bringing your own domain you must map the DNS records for your custom domain to point to our main domain. You can do this by adding a CNAME record in your domain's DNS settings. Here is an example of how to set it up: Type: CNAME Name: app Value: mquad.local

Body

application/json
is_activeboolean | null
Show child attributes
Any of
boolean
null
is_dormantboolean | null
Show child attributes
Any of
boolean
null
custom_domainstring | null
Show child attributes
Any of
string
null
subscription_idstring | null
Show child attributes
Any of
string
null
plan_tierstring | null
Show child attributes
Any of
string
null
custom_domain_statusstring | null
Show child attributes
Any of
stringactivefailedactivation-progress
null
billing_individual_namestring | null
Show child attributes
Any of
string
null
billing_business_namestring | null
Show child attributes
Any of
string
null
billing_address_line1string | null
Show child attributes
Any of
string
null
billing_address_line2string | null
Show child attributes
Any of
string
null
billing_address_citystring | null
Show child attributes
Any of
string
null
billing_address_statestring | null
Show child attributes
Any of
string
null
billing_address_postal_codestring | null
Show child attributes
Any of
string
null
billing_address_countrystring | null
Show child attributes
Any of
string
null
tax_idstring | null
Show child attributes
Any of
string
null

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
messagestringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Check Dns Status

GET
http://localhost:8000/api/v1/tenants/{tenant_id}/check_dns

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
messagestringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Get Dns Details

GET
http://localhost:8000/api/v1/tenants/{tenant_id}/dns-details

Get detailed DNS information for a tenant.

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
idstring | nullrequired
Show child attributes
Any of
string
null
namestringrequired
subdomainstring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
custom_domainstring | nullrequired
Show child attributes
Any of
string
null
custom_domain_statusstringactivefailedactivation-progressfailed
Show child attributes
nameBackend_Featurechatreportanalyticsorganizationteamsstriperequired
enabledbooleanrequired
subscription_idstring | nullrequired
Show child attributes
Any of
string
null
plan_tierstringfree
is_trialbooleanfalse
trial_end_atstring | null
Show child attributes
Any of
string
null
has_had_trialbooleanfalse
is_dormantbooleanfalse
billing_individual_namestring | null
Show child attributes
Any of
string
null
billing_business_namestring | null
Show child attributes
Any of
string
null
billing_address_line1string | null
Show child attributes
Any of
string
null
billing_address_line2string | null
Show child attributes
Any of
string
null
billing_address_citystring | null
Show child attributes
Any of
string
null
billing_address_statestring | null
Show child attributes
Any of
string
null
billing_address_postal_codestring | null
Show child attributes
Any of
string
null
billing_address_countrystring | null
Show child attributes
Any of
string
null
tax_idstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Update Tenant

PUT
http://localhost:8000/api/v1/tenants/{tenant_id}

Body

application/json
is_activeboolean | null
Show child attributes
Any of
boolean
null
is_dormantboolean | null
Show child attributes
Any of
boolean
null
custom_domainstring | null
Show child attributes
Any of
string
null
subscription_idstring | null
Show child attributes
Any of
string
null
plan_tierstring | null
Show child attributes
Any of
string
null
custom_domain_statusstring | null
Show child attributes
Any of
stringactivefailedactivation-progress
null
billing_individual_namestring | null
Show child attributes
Any of
string
null
billing_business_namestring | null
Show child attributes
Any of
string
null
billing_address_line1string | null
Show child attributes
Any of
string
null
billing_address_line2string | null
Show child attributes
Any of
string
null
billing_address_citystring | null
Show child attributes
Any of
string
null
billing_address_statestring | null
Show child attributes
Any of
string
null
billing_address_postal_codestring | null
Show child attributes
Any of
string
null
billing_address_countrystring | null
Show child attributes
Any of
string
null
tax_idstring | null
Show child attributes
Any of
string
null

Parameters

tenant_idstringrequiredpath

Response

204No Content

Successful Response

422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Get Tenant Features

GET
http://localhost:8000/api/v1/tenants/{tenant_id}/features

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
Show child attributes
nameBackend_Featurechatreportanalyticsorganizationteamsstriperequired
enabledbooleanrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Update Tenant Feature

PATCH
http://localhost:8000/api/v1/tenants/{tenant_id}/update_feature

Body

application/json
nameBackend_Featurechatreportanalyticsorganizationteamsstriperequired
enabledbooleanrequired

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
messagestringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Activate Trial Plan

PATCH
http://localhost:8000/api/v1/tenants/{tenant_id}/activate_trial_plan

Activate a trial subscription by creating a real Stripe subscription.

Body

application/json
Any of
Show child attributes
individual_namestringrequired
business_namestring | null
Show child attributes
Any of
string
null
line1stringrequired
line2string | null
Show child attributes
Any of
string
null
citystringrequired
statestringrequired
postal_codestringrequired
countrystringrequired
tax_idstring | null
Show child attributes
Any of
string
null
null

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
messagestringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Update Tenant Billing Address

PUT
http://localhost:8000/api/v1/tenants/{tenant_id}/billing-address

Update tenant billing address and optionally tax ID.

Body

application/json
Show child attributes
individual_namestringrequired
business_namestring | null
Show child attributes
Any of
string
null
line1stringrequired
line2string | null
Show child attributes
Any of
string
null
citystringrequired
statestringrequired
postal_codestringrequired
countrystringrequired
tax_idstring | null
Show child attributes
Any of
string
null

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
messagestringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Get Tenant Plan Tier

GET
http://localhost:8000/api/v1/tenants/{tenant_id}/plan-tier

Get the plan tier for a tenant.

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
tierstringrequired
namestringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Get Tenant Plan Context

GET
http://localhost:8000/api/v1/tenants/{tenant_id}/plan-context

Return tenant billing state used by feature-flags-service plan resolution.

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
tenant_idstringrequired
tierstringrequired
namestringrequired
subscription_statusstringinactive
is_activebooleanfalse
is_trialbooleanfalse
trial_end_atstring | null
Show child attributes
Any of
string
null
is_dormantbooleanfalse
featuresArray<object>
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Enterprise Signup

POST
http://localhost:8000/api/v1/tenants/{tenant_id}/enterprise-signup

Submit an enterprise plan inquiry. Sends the inquiry to the sales team via notification-service using the enterprise_signup template. Uses tenant admin's name and tenant name as defaults.

Body

application/json
namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
companystring | null
Show child attributes
Any of
string
null
phonestring | null
Show child attributes
Any of
string
null
messagestring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
messagestringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Cancel Tenant Subscription

POST
http://localhost:8000/api/v1/tenants/{tenant_id}/cancel-subscription

Host admin endpoint to cancel a tenant's Stripe subscription. Downgrades the tenant to Free plan and clears dormant state.

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
messagestringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / Features

Features — Backend

List Features

GET
http://localhost:8000/api/v1/features

List all available features. Requires HOST_MANAGE_TENANTS permission.

Response

200OKArray<Backend_Feature>chatreportanalyticsorganizationteamsstripe

Successful Response

Response fields application/json
Array<Backend_Feature>chatreportanalyticsorganizationteamsstripe

Authorization

OAuth2PasswordBeareroauth2

Backend / App Configuration

App Configuration — Backend

Get App Configuration

GET
http://localhost:8000/api/v1/app_configuration

Response

Successful Response

Response fields application/json
is_multi_tenant_enabledbooleanrequired
multi_tenancy_strategystringrequired
host_main_domainstringrequired
is_user_logged_inboolean | nullfalse
Show child attributes
Any of
boolean
null
user_preferencesBackend_UserPreferenceDto | null
Show child attributes
Any of
user_idstringrequired
preferencesobjectrequired
null
current_tenantBackend_TenantDto | null
Show child attributes
Any of
idstring | nullrequired
Show child attributes
Any of
string
null
namestringrequired
subdomainstring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
custom_domainstring | nullrequired
Show child attributes
Any of
string
null
custom_domain_statusstringactivefailedactivation-progressfailed
Show child attributes
nameBackend_Featurechatreportanalyticsorganizationteamsstriperequired
enabledbooleanrequired
subscription_idstring | nullrequired
Show child attributes
Any of
string
null
plan_tierstringfree
is_trialbooleanfalse
trial_end_atstring | null
Show child attributes
Any of
string
null
has_had_trialbooleanfalse
is_dormantbooleanfalse
billing_individual_namestring | null
Show child attributes
Any of
string
null
billing_business_namestring | null
Show child attributes
Any of
string
null
billing_address_line1string | null
Show child attributes
Any of
string
null
billing_address_line2string | null
Show child attributes
Any of
string
null
billing_address_citystring | null
Show child attributes
Any of
string
null
billing_address_statestring | null
Show child attributes
Any of
string
null
billing_address_postal_codestring | null
Show child attributes
Any of
string
null
billing_address_countrystring | null
Show child attributes
Any of
string
null
tax_idstring | null
Show child attributes
Any of
string
null
null
environmentstringrequired
runtime_security_configBackend_RuntimeSecurityConfigConfigDto | null
Show child attributes
Any of
screenshot_prevention_modestringdisabled
root_detection_modestringwarning
biometric_required_modestringdisabled
session_timeout_minutesinteger0
wifi_only_syncbooleanfalse
battery_aware_syncbooleanfalse
battery_low_threshold_percentinteger20
block_sync_on_roamingbooleanfalse
background_sync_enabledbooleantrue
crash_reporting_enabledbooleantrue
telemetry_enabledbooleantrue
global_modestringwarning
version_idstring | null
Show child attributes
Any of
string
null
null
tenant_data_governancesArray<Backend_TenantDataGovernanceConfigDto> | null
Show child attributes
Any of
Show child attributes
tenant_idstringrequired
max_offline_duration_hoursinteger0
force_revalidation_hoursinteger0
media_upload_max_size_mbinteger50
media_upload_allowed_typesArray<string> | null
Show child attributes
Any of
Array<string>
null
local_retention_daysinteger0
remote_wipe_enabledbooleanfalse
version_idstring | null
Show child attributes
Any of
string
null
null
mobile_security_policyBackend_DeprecatedMobileSecurityPolicyConfigDto | null
Show child attributes
Any of

DEPRECATED: For old mobile clients. Remove after migration window.

global_modestringwarning
screenshot_prevention_modestringdisabled
root_detection_modestringwarning
max_offline_duration_hoursinteger0
force_revalidation_hoursinteger0
media_upload_max_size_mbinteger50
media_upload_allowed_typesArray<any> | null
Show child attributes
Any of
Array<any>
null
wifi_only_syncbooleanfalse
battery_aware_syncbooleanfalse
battery_low_threshold_percentinteger20
block_sync_on_roamingbooleanfalse
local_retention_daysinteger0
remote_wipe_enabledbooleanfalse
biometric_required_modestringdisabled
session_timeout_minutesinteger0
null

Authorization

OAuth2PasswordBeareroauth2

Backend / Account

Account — Backend

Login New

POST
http://localhost:8000/api/v1/account/login/new

New login endpoint - authenticate and return user info with tenant list. Does not require tenant selection. User selects tenant in separate step.

Body

application/x-www-form-urlencoded
grant_typestring | null
Show child attributes
Any of
string
null
usernamestringrequired
passwordstring<password>required
scopestring
client_idstring | null
Show child attributes
Any of
string
null
client_secretstring | null<password>
Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json

Response after successful login with tenant selection info

User information returned after login

Show child attributes
idstringrequired
emailstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
activated_atstring | null
Show child attributes
Any of
string<date-time>
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
user_codestring | null
Show child attributes
Any of
string
null
Show child attributes

Tenant information for selection

idstringrequired
namestringrequired
subdomainstring | null
Show child attributes
Any of
string
null
custom_domainstring | null
Show child attributes
Any of
string
null
logo_urlstring | null
Show child attributes
Any of
string
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
requires_tenant_selectionbooleanrequired
is_super_adminbooleanrequired
messagestringLogin successful
tokenstring | null
Show child attributes
Any of
string
null
refresh_tokenstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Login Super Admin

POST
http://localhost:8000/api/v1/account/login/super-admin

Super admin login endpoint - authenticate and return tokens directly. Super admins have system-wide access without tenant selection.

Body

application/x-www-form-urlencoded
grant_typestring | null
Show child attributes
Any of
string
null
usernamestringrequired
passwordstring<password>required
scopestring
client_idstring | null
Show child attributes
Any of
string
null
client_secretstring | null<password>
Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json

Response after tenant selection with tokens

access_tokenstringrequired
token_typestringbearer
expires_inintegerrequired
refresh_tokenstringrequired
refresh_token_expires_inintegerrequired

User information returned after login

Show child attributes
idstringrequired
emailstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
activated_atstring | null
Show child attributes
Any of
string<date-time>
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
user_codestring | null
Show child attributes
Any of
string
null
tenantBackend_TenantInfoDto | null
Show child attributes
Any of

Tenant information for selection

idstringrequired
namestringrequired
subdomainstring | null
Show child attributes
Any of
string
null
custom_domainstring | null
Show child attributes
Any of
string
null
logo_urlstring | null
Show child attributes
Any of
string
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Login Host Admin

POST
http://localhost:8000/api/v1/account/login/host-admin

Host admin login endpoint - for users without a specific tenant (host-level access). Returns tokens for users who have access to the host system but no tenant.

Body

application/x-www-form-urlencoded
grant_typestring | null
Show child attributes
Any of
string
null
usernamestringrequired
passwordstring<password>required
scopestring
client_idstring | null
Show child attributes
Any of
string
null
client_secretstring | null<password>
Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json

Response after tenant selection with tokens

access_tokenstringrequired
token_typestringbearer
expires_inintegerrequired
refresh_tokenstringrequired
refresh_token_expires_inintegerrequired

User information returned after login

Show child attributes
idstringrequired
emailstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
activated_atstring | null
Show child attributes
Any of
string<date-time>
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
user_codestring | null
Show child attributes
Any of
string
null
tenantBackend_TenantInfoDto | null
Show child attributes
Any of

Tenant information for selection

idstringrequired
namestringrequired
subdomainstring | null
Show child attributes
Any of
string
null
custom_domainstring | null
Show child attributes
Any of
string
null
logo_urlstring | null
Show child attributes
Any of
string
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Select Tenant

POST
http://localhost:8000/api/v1/account/select-tenant

After login, select a tenant and get access tokens. Super admins skip tenant selection.

Body

application/json

Request to select a tenant and get tokens

tenant_idstringrequired

Response

Successful Response

Response fields application/json

Response after tenant selection with tokens

access_tokenstringrequired
token_typestringbearer
expires_inintegerrequired
refresh_tokenstringrequired
refresh_token_expires_inintegerrequired

User information returned after login

Show child attributes
idstringrequired
emailstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
activated_atstring | null
Show child attributes
Any of
string<date-time>
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
user_codestring | null
Show child attributes
Any of
string
null
tenantBackend_TenantInfoDto | null
Show child attributes
Any of

Tenant information for selection

idstringrequired
namestringrequired
subdomainstring | null
Show child attributes
Any of
string
null
custom_domainstring | null
Show child attributes
Any of
string
null
logo_urlstring | null
Show child attributes
Any of
string
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Switch Tenant

POST
http://localhost:8000/api/v1/account/switch-tenant

Switch the user's active tenant mid-session. Requires a valid session token (not a pre-auth token). Issues entirely new access + refresh tokens scoped to the target tenant. The previous tenant_id comes from the current JWT's tenant_id claim.

Body

application/json

Request to switch active tenant

tenant_idstringrequired

Response

Successful Response

Response fields application/json

Response after switching tenant with new tokens and context

access_tokenstringrequired
token_typestringbearer
expires_inintegerrequired
refresh_tokenstringrequired
refresh_token_expires_inintegerrequired

User information returned after login

Show child attributes
idstringrequired
emailstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
activated_atstring | null
Show child attributes
Any of
string<date-time>
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
user_codestring | null
Show child attributes
Any of
string
null
tenantBackend_TenantInfoDtorequired

Tenant information for selection

Show child attributes
idstringrequired
namestringrequired
subdomainstring | null
Show child attributes
Any of
string
null
custom_domainstring | null
Show child attributes
Any of
string
null
logo_urlstring | null
Show child attributes
Any of
string
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
previous_tenant_idstring | null
Show child attributes
Any of
string
null
messagestringTenant switched successfully
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Login

POST
http://localhost:8000/api/v1/account/login

Body

application/x-www-form-urlencoded
grant_typestring | null
Show child attributes
Any of
string
null
usernamestringrequired
passwordstring<password>required
scopestring
client_idstring | null
Show child attributes
Any of
string
null
client_secretstring | null<password>
Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json
refresh_tokenstringrequired
refresh_token_expires_inintegerrequired
access_tokenstringrequired
token_typestringrequired
expires_inintegerrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Refresh Token

POST
http://localhost:8000/api/v1/account/refresh

Parameters

refresh_tokenstring | nullcookie

Response

Successful Response

Response fields application/json
refresh_tokenstringrequired
refresh_token_expires_inintegerrequired
access_tokenstringrequired
token_typestringrequired
expires_inintegerrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Logout

GET
http://localhost:8000/api/v1/account/logout

Response

200OKany

Successful Response

Response fields application/json
any

Authorization

OAuth2PasswordBeareroauth2

Logout

POST
http://localhost:8000/api/v1/account/logout

Response

200OKany

Successful Response

Response fields application/json
any

Authorization

OAuth2PasswordBeareroauth2

Register

POST
http://localhost:8000/api/v1/account/register

Body

application/json
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
genderBackend_Gender | nullprefer_not_to_say
Show child attributes
Any of
Backend_Gendermalefemaleotherprefer_not_to_say
null
tenant_idstring | null
Show child attributes
Any of
string
null
role_idstring | null
Show child attributes
Any of
string
null
passwordstringrequired
sub_domainstring | null
Show child attributes
Any of
string
null
agreed_to_termsbooleantrue

Response

201Createdany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Read Users Me

GET
http://localhost:8000/api/v1/account/me

Response

Successful Response

Response fields application/json
idstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
genderBackend_Gendermalefemaleotherprefer_not_to_sayrequired
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
member_activebooleantrue
activated_atstring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
user_codestring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<string> | null
Show child attributes
Any of
Array<string>
null
agreed_to_termsbooleanfalse
roleBackend_RoleDtorequired
Show child attributes
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
subscriptionBackend_SubscriptionPlanDto | nullrequired
Show child attributes
Any of
idstringrequired
plan_levelsobjectrequired

e.g., {'basic': 0, 'pro': 1, 'enterprise': 2}

Show child attributes
[key: string]integer
is_trialbooleanrequired

Indicates if the subscription is a trial

tenant_idstring | nullrequired

The tenant who owns the subscription

Show child attributes
Any of
string
null
actorstringrequired

who it is applied to, If end_user, then user_id must be set

user_idstring | nullrequired

The end user who has this subscription, if applicable

Show child attributes
Any of
string
null
plan_idstringrequired

Corresponding Stripe Price ID

plan_namestring | null

Plan name like Free, Starter, Pro, Enterprise

Show child attributes
Any of
string
null
stripe_subscription_statusstring | null

Stripe subscription status: active, trialing, incomplete, past_due, etc.

Show child attributes
Any of
string
null
trial_end_atstring | null

Trial end date if applicable

Show child attributes
Any of
string
null
null

Authorization

OAuth2PasswordBeareroauth2

Password Reset Request

POST
http://localhost:8000/api/v1/account/password_reset_request

Body

application/json
emailstring<email>required

Response

Successful Response

Response fields application/json
messagestringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Password Reset Confirm

POST
http://localhost:8000/api/v1/account/password_reset_confirmation

Body

application/json
new_passwordstringrequired

Parameters

tokenstringrequiredquery

The password reset token

user_idstringrequiredquery

The user ID associated with the token

tenant_idstring | nullquery

The tenant ID associated with the user, if applicable

Response

Successful Response

Response fields application/json
messagestringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Resend Activation Email

POST
http://localhost:8000/api/v1/account/resend_activation_email

Body

application/json
emailstring<email>required
idstringrequired
first_namestringrequired
tenant_idstring | null
Show child attributes
Any of
string
null

Response

202Acceptedany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Resend Activation Email Public

POST
http://localhost:8000/api/v1/account/resend_activation

Public resend of the account activation email, used by the account activation gate page for users whose accounts are inactive. Sending is refused for already-active accounts (InvalidOperationException).

Body

application/json
emailstring<email>required
idstringrequired
first_namestringrequired
tenant_idstring | null
Show child attributes
Any of
string
null

Response

202Acceptedany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Activate Account

POST
http://localhost:8000/api/v1/account/activate

Body

application/json
tokenstringrequired

Parameters

tenant_idstring | nullquery

The tenant ID associated with the user, if applicable

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Change Email

PATCH
http://localhost:8000/api/v1/account/change_email_request

Body

application/json
new_emailstring<email>required

Response

202Acceptedany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Change Email Confirmation

PATCH
http://localhost:8000/api/v1/account/change_email_confirmation

Body

application/json
tokenstringrequired

Response

Successful Response

Response fields application/json
messagestringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Passkey Register Options

POST
http://localhost:8000/api/v1/account/passkey/register_options

Body

application/json
string<email>

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Passkey Register

POST
http://localhost:8000/api/v1/account/passkey/register

Body

application/json
emailstring<email>required
credentialobjectrequired

Response

202Acceptedany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Passkey Login Options

POST
http://localhost:8000/api/v1/account/passkey/login_options

Body

application/json
string<email>

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Passkey Login

POST
http://localhost:8000/api/v1/account/passkey/login

Body

application/json
emailstring<email>required
credentialobjectrequired

Response

Successful Response

Response fields application/json

Response after successful login with tenant selection info

User information returned after login

Show child attributes
idstringrequired
emailstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
activated_atstring | null
Show child attributes
Any of
string<date-time>
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
user_codestring | null
Show child attributes
Any of
string
null
Show child attributes

Tenant information for selection

idstringrequired
namestringrequired
subdomainstring | null
Show child attributes
Any of
string
null
custom_domainstring | null
Show child attributes
Any of
string
null
logo_urlstring | null
Show child attributes
Any of
string
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
requires_tenant_selectionbooleanrequired
is_super_adminbooleanrequired
messagestringLogin successful
tokenstring | null
Show child attributes
Any of
string
null
refresh_tokenstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Has Passkeys

POST
http://localhost:8000/api/v1/account/passkey/has_passkeys

Body

application/json
string<email>

Response

Successful Response

Response fields application/json
has_passkeysbooleanrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Email Magic Link Login

POST
http://localhost:8000/api/v1/account/email_magic_link_login

Body

application/json
string<email>

Response

Successful Response

Response fields application/json
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json

Backend / Manage Security

Manage Security — Backend

Get Registered Passkeys

GET
http://localhost:8000/api/v1/security/passkeys

Endpoint to retrieve registered passkeys for the current user.

Response

Successful Response

Response fields application/json
Show child attributes
credential_idstringrequired
public_keystringrequired
sigin_countintegerrequired
transportsArray<Backend_AuthenticatorTransport>usbnfcblesmart-cardinternalcablehybrid
created_atstring<date-time>required
last_used_atstring | null
Show child attributes
Any of
string<date-time>
null

Authorization

OAuth2PasswordBeareroauth2

Delete Registered Passkey

DELETE
http://localhost:8000/api/v1/security/passkeys/{credential_id}

Endpoint to delete a registered passkey for the current user.

Parameters

credential_idstringrequiredpath

Response

204No Content

Successful Response

422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / Dashboard

Dashboard — Backend

Get Dashboard Metrics

GET
http://localhost:8000/api/v1/dashboard

Parameters

filterstringtodaythis_weeklast_3_monthsallallquery

Response

Successful Response

Response fields application/json
filterstringtodaythis_weeklast_3_monthsallrequired
joined_usersintegerrequired
total_usersintegerrequired
Show child attributes
time_or_datestringrequired
countintegerrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / Superadmin

Superadmin — Backend

Get Superadmin Dashboard

GET
http://localhost:8000/api/v1/superadmin/dashboard

Get superadmin dashboard with platform-wide metrics.

Response

Successful Response

Response fields application/json
Show child attributes
total_tenantsintegerrequired
active_tenants_30dintegerrequired
new_tenants_this_monthintegerrequired
suspended_tenantsintegerrequired
submissionsBackend_SubmissionMetricsDtorequired
Show child attributes
submissions_todayintegerrequired
submissions_this_weekintegerrequired
submissions_this_monthintegerrequired
submissions_trendArray<object>required
Show child attributes
[key: string]integer
Show child attributes
total_usersintegerrequired
active_users_30dintegerrequired
new_users_this_monthintegerrequired
subscriptionsBackend_SubscriptionMetricsDtorequired
Show child attributes
mrrnumberrequired
active_subscriptionsintegerrequired
trials_runningintegerrequired
cancelled_this_monthintegerrequired
plans_breakdownobjectrequired
Show child attributes
[key: string]integer
infrastructureBackend_InfrastructureMetricsDtorequired
Show child attributes
celery_queue_sizeintegerrequired
redis_memory_mbnumberrequired
db_connectionsintegerrequired
storage_used_gbnumberrequired
webhook_failuresintegerrequired
Show child attributes
idstringrequired
typestringrequired
severitystringcriticalwarninginforequired
messagestringrequired
tenant_idstring | nullrequired
Show child attributes
Any of
string
null
created_atstring<date-time>required
platform_healthBackend_PlatformHealthDtorequired
Show child attributes
statusstringhealthydegradeddownrequired
api_uptime_secondsnumberrequired
last_incident_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
active_incidentsintegerrequired
submissions_trendArray<Backend_TimeSeriesPointDto>required
Show child attributes
datestringrequired
countintegerrequired
tenant_growth_trendArray<Backend_TimeSeriesPointDto>required
Show child attributes
datestringrequired
countintegerrequired
recent_tenant_activityArray<Backend_TenantActivityDto>required
Show child attributes
tenant_idstringrequired
tenant_namestringrequired
subdomainstringrequired
planstringrequired
users_countintegerrequired
surveys_countintegerrequired
submissions_countintegerrequired
last_activity_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
statusstringactiveidlesuspendedemptyrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / Users

Users — Backend

List Users

GET
http://localhost:8000/api/v1/users

Parameters

skipinteger0query
limitinteger10query
searchstring | nullquery

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
genderBackend_Gendermalefemaleotherprefer_not_to_sayrequired
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
member_activebooleantrue
activated_atstring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
user_codestring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<string> | null
Show child attributes
Any of
Array<string>
null
agreed_to_termsbooleanfalse
skipintegerrequired
limitintegerrequired
totalintegerrequired
has_previousbooleanrequired
has_nextbooleanrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Create User

POST
http://localhost:8000/api/v1/users

Body

application/json
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
genderBackend_Gender | nullprefer_not_to_say
Show child attributes
Any of
Backend_Gendermalefemaleotherprefer_not_to_say
null
tenant_idstring | null
Show child attributes
Any of
string
null
role_idstring | null
Show child attributes
Any of
string
null
passwordstringrequired
sub_domainstring | null
Show child attributes
Any of
string
null
agreed_to_termsbooleantrue

Response

Successful Response

Response fields application/json
idstringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Search User By Email

GET
http://localhost:8000/api/v1/users/search/by-email

Search for a user by their email address within the current tenant context. Returns user details if found, useful for workspace member invitations.

Parameters

emailstringrequiredquery

Response

Successful Response

Response fields application/json
idstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
genderBackend_Gendermalefemaleotherprefer_not_to_sayrequired
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
member_activebooleantrue
activated_atstring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
user_codestring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<string> | null
Show child attributes
Any of
Array<string>
null
agreed_to_termsbooleanfalse
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Search Users With Roles

GET
http://localhost:8000/api/v1/users/search/with-roles

Search users with role filtering.

Useful for form access management where you need to find Field Supervisors or Enumerators in the same tenant.

SECURITY: Form Builders and Field Supervisors can only search Field Supervisors and Enumerators. Admins and Survey Managers can search all users.

  • role_ids: Comma-separated list of role UUIDs (e.g., "uuid1,uuid2")
  • search: Search by first_name, last_name, email, or user_code

Parameters

skipinteger>= 00query
limitinteger[1, 100]20query
role_idsstring | nullquery

Comma-separated list of role IDs to filter by

searchstring | nullquery

Search by name, email, or user_code

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
genderBackend_Gendermalefemaleotherprefer_not_to_sayrequired
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
member_activebooleantrue
activated_atstring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
user_codestring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<string> | null
Show child attributes
Any of
Array<string>
null
agreed_to_termsbooleanfalse
skipintegerrequired
limitintegerrequired
totalintegerrequired
has_previousbooleanrequired
has_nextbooleanrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Get Users Bulk

POST
http://localhost:8000/api/v1/users/bulk

Fetch multiple users by their IDs in bulk, scoped to the current tenant. Prevents cross-tenant user enumeration.

Body

application/json
user_idsArray<string>required

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
genderBackend_Gendermalefemaleotherprefer_not_to_sayrequired
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
member_activebooleantrue
activated_atstring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
user_codestring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<string> | null
Show child attributes
Any of
Array<string>
null
agreed_to_termsbooleanfalse
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Provision User

POST
http://localhost:8000/api/v1/users/provision

Provision a user to the current tenant.

CASE A — New user: Creates the user and adds them to the tenant with the selected role. CASE B — Existing user: Adds the existing user to the tenant with the selected role. CASE C — Already a member: Returns a friendly message without creating duplicates.

Role selection is mandatory in all cases.

Body

application/json

DTO for provisioning a user to a tenant (create or invite)

emailstring<email>required
role_idstringrequired
passwordstring | null
Show child attributes
Any of
string
null
first_namestring | null
Show child attributes
Any of
string
null
last_namestring | null
Show child attributes
Any of
string
null
genderBackend_Gender | null
Show child attributes
Any of
Backend_Gendermalefemaleotherprefer_not_to_say
null

Response

Successful Response

Response fields application/json

Response DTO for user provisioning

idstringrequired
statusstringrequired
messagestringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Get Available Roles

GET
http://localhost:8000/api/v1/users/available-roles

Response

200OKArray<object>

Successful Response

Response fields application/json
Array<object>

Authorization

OAuth2PasswordBeareroauth2

Count Users

GET
http://localhost:8000/api/v1/users/count

Count users in the current tenant, optionally filtered by account active status and/or role name (e.g. "Enumerator"). Super admins count across all tenants when no role filter is applied.

Parameters

is_activeboolean | nullquery
role_namestring | nullquery

Response

Successful Response

Response fields application/json
totalintegerrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Get User

GET
http://localhost:8000/api/v1/users/{user_id}

Get a single user by ID, scoped to the current tenant. Non-super-admin users can only retrieve users belonging to their active tenant.

Parameters

user_idstringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
genderBackend_Gendermalefemaleotherprefer_not_to_sayrequired
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
member_activebooleantrue
activated_atstring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
user_codestring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<string> | null
Show child attributes
Any of
Array<string>
null
agreed_to_termsbooleanfalse
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Update User

PUT
http://localhost:8000/api/v1/users/{user_id}

Body

application/json
first_namestring | null
Show child attributes
Any of
string
null
last_namestring | null
Show child attributes
Any of
string
null
emailstring | null
Show child attributes
Any of
string<email>
null
genderBackend_Gender | null
Show child attributes
Any of
Backend_Gendermalefemaleotherprefer_not_to_say
null
image_urlstring | null
Show child attributes
Any of
string
null
role_idstring | null
Show child attributes
Any of
string
null
is_activeboolean | null
Show child attributes
Any of
boolean
null
activated_atstring | null
Show child attributes
Any of
string<date-time>
null
tenant_idstring | null
Show child attributes
Any of
string
null
passwordstring | null
Show child attributes
Any of
string
null

Parameters

user_idstringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
genderBackend_Gendermalefemaleotherprefer_not_to_sayrequired
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
member_activebooleantrue
activated_atstring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
user_codestring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<string> | null
Show child attributes
Any of
Array<string>
null
agreed_to_termsbooleanfalse
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Delete User

DELETE
http://localhost:8000/api/v1/users/{user_id}

Parameters

user_idstringrequiredpath

Response

202Acceptedany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Get Profile Image

GET
http://localhost:8000/api/v1/users/profile/{image_key}

Parameters

image_keystringrequiredpath

Response

Successful Response

Response fields application/json
image_urlstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Update User Tenant Access

PATCH
http://localhost:8000/api/v1/users/{user_id}/tenant-access

Activate or deactivate a user's membership in the active tenant.

Per-tenant activation: deactivating a membership in one tenant does NOT affect the user's access or login ability in other tenants, nor does it disable the global account (users.is_active). The active tenant is resolved from the X-Tenant-ID header, falling back to the actor's primary tenant.

Body

application/json

DTO for updating a user's per-tenant access (activate/deactivate in the active tenant)

is_activebooleanrequired

Parameters

user_idstringrequiredpath

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Update Profile Picture

PUT
http://localhost:8000/api/v1/users/{user_id}/update_profile_picture

Body

multipart/form-data
filestring<binary>required

Parameters

user_idstringrequiredpath

Response

Successful Response

Response fields application/json
image_urlstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Delete Profile Picture

DELETE
http://localhost:8000/api/v1/users/{user_id}/delete_profile_picture

Parameters

user_idstringrequiredpath

Response

Successful Response

Response fields application/json
image_urlstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Patch User

PATCH
http://localhost:8000/api/v1/users/{user_id}/assign_role

Body

application/json
role_idstringrequired

Parameters

user_idstringrequiredpath

Response

202AcceptedBackend_UserDto

Successful Response

Response fields application/json
idstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
genderBackend_Gendermalefemaleotherprefer_not_to_sayrequired
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
member_activebooleantrue
activated_atstring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
user_codestring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<string> | null
Show child attributes
Any of
Array<string>
null
agreed_to_termsbooleanfalse
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Remove User Role

PATCH
http://localhost:8000/api/v1/users/{user_id}/remove_role

Body

application/json
role_idstringrequired

Parameters

user_idstringrequiredpath

Response

202AcceptedBackend_UserDto

Successful Response

Response fields application/json
idstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
genderBackend_Gendermalefemaleotherprefer_not_to_sayrequired
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
member_activebooleantrue
activated_atstring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
user_codestring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<string> | null
Show child attributes
Any of
Array<string>
null
agreed_to_termsbooleanfalse
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / User Tenants

User Tenants — Backend

Get My Tenants

GET
http://localhost:8000/api/v1/users/me/tenants

Get all tenants for the currently authenticated user. This endpoint is accessible to all authenticated users.

Parameters

skipinteger0query
limitinteger100query

Response

Successful Response

Response fields application/json

DTO for listing user tenants

Show child attributes

DTO for user-tenant relationship

idstringrequired
user_idstringrequired
tenant_idstringrequired
tenant_namestring | null
Show child attributes
Any of
string
null
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
permissionsArray<string>
is_primarybooleanrequired
is_activebooleantrue
joined_atstringrequired
totalintegerrequired
skipinteger0
limitinteger10
has_nextbooleanfalse
has_previousbooleanfalse
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Get User Tenants

GET
http://localhost:8000/api/v1/users/{user_id}/tenants

Get all tenants for a user. Users can view their own tenants. Platform admins can view any user's tenants. Tenant admins can only view memberships for their own authorized tenant(s).

Parameters

user_idstringrequiredpath
skipinteger0query
limitinteger100query

Response

Successful Response

Response fields application/json

DTO for listing user tenants

Show child attributes

DTO for user-tenant relationship

idstringrequired
user_idstringrequired
tenant_idstringrequired
tenant_namestring | null
Show child attributes
Any of
string
null
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
permissionsArray<string>
is_primarybooleanrequired
is_activebooleantrue
joined_atstringrequired
totalintegerrequired
skipinteger0
limitinteger10
has_nextbooleanfalse
has_previousbooleanfalse
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Add User To Tenant

POST
http://localhost:8000/api/v1/users/{user_id}/tenants

Add a user to a tenant. Only users with USER_READ_AND_WRITE_ONLY permission can add users to tenants.

Body

application/json

DTO for creating user-tenant relationship

user_idstringrequired
tenant_idstringrequired
role_idstring | null
Show child attributes
Any of
string
null
is_primarybooleanfalse
is_activebooleantrue

Parameters

user_idstringrequiredpath

Response

201Createdobject

Successful Response

Response fields application/json
object
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Update User Tenant

PUT
http://localhost:8000/api/v1/users/{user_id}/tenants/{user_tenant_id}

Update a user-tenant relationship (change role or primary status). Only users with USER_READ_AND_WRITE_ONLY permission can update.

Body

application/json

DTO for updating user-tenant relationship

role_idstring | null
Show child attributes
Any of
string
null
is_primaryboolean | null
Show child attributes
Any of
boolean
null
is_activeboolean | null
Show child attributes
Any of
boolean
null

Parameters

user_idstringrequiredpath
user_tenant_idstringrequiredpath

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Remove User From Tenant

DELETE
http://localhost:8000/api/v1/users/{user_id}/tenants/{user_tenant_id}

Remove a user from a tenant. Only users with USER_DELETE_ONLY permission can remove users from tenants.

Parameters

user_idstringrequiredpath
user_tenant_idstringrequiredpath

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Set Primary Tenant

POST
http://localhost:8000/api/v1/users/{user_id}/tenants/set-primary

Set a tenant as the primary tenant for a user. Users can set their own primary tenant. Admins can set for any user.

Body

application/json

DTO for setting primary tenant

tenant_idstringrequired

Parameters

user_idstringrequiredpath

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Get Primary Tenant

GET
http://localhost:8000/api/v1/users/{user_id}/tenants/primary

Get the primary tenant for a user. Users can view their own primary tenant. Admins can view for any user.

Parameters

user_idstringrequiredpath

Response

200OKobject | null

Successful Response

Response fields application/json
Any of
object
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Switch Primary Tenant

POST
http://localhost:8000/api/v1/users/me/tenants/switch

Switch the primary tenant for the currently authenticated user. The user must already be a member of the tenant.

Body

application/json

DTO for setting primary tenant

tenant_idstringrequired

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Bulk Upload Users

POST
http://localhost:8000/api/v1/users/bulk-upload

Bulk upload users to a tenant from CSV or Excel file.

Expected CSV/Excel columns:

  • email (required)
  • first_name or firstName (required)
  • last_name or lastName (optional)
  • gender (optional: male, female, other, prefer_not_to_say)
  • role_name or roleName (optional: e.g., 'Admin', 'User', 'Manager')

For existing users: They will be added to the tenant. For new users: They will be created and added to the tenant.

Note: Use role_name instead of role_id for easier file preparation. Get available role names from GET /api/v1/users/available-roles endpoint.

Body

multipart/form-data
tenant_idstringrequired

Tenant ID to add users to

default_role_idstring | null

Default role ID for new users

Show child attributes
Any of
string
null
default_role_namestring | null

Default role name for new users (e.g., 'Admin', 'User')

Show child attributes
Any of
string
null
send_invitationbooleantrue

Whether to send invitation emails

filestring<binary>required

CSV or Excel file with user data

Response

Successful Response

Response fields application/json

DTO for bulk user upload response

totalintegerrequired
successintegerrequired
failedintegerrequired
Show child attributes

DTO for individual user upload result

emailstringrequired
successbooleanrequired
user_idstring | null
Show child attributes
Any of
string
null
messagestringrequired
errorstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / Roles

Roles — Backend

List Roles

GET
http://localhost:8000/api/v1/roles

Parameters

skipinteger>= 00query
limitinteger[1, 100]20query
searchstring | nullquery

Search by role name

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
skipintegerrequired
limitintegerrequired
totalintegerrequired
has_previousbooleanrequired
has_nextbooleanrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Create Role

POST
http://localhost:8000/api/v1/roles

Body

application/json
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse

Response

Successful Response

Response fields application/json
idstringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Search Role By Name

GET
http://localhost:8000/api/v1/roles/search_by_name

Parameters

namestringrequiredquery

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Update Role Permissions

PATCH
http://localhost:8000/api/v1/roles/{role_id}/permissions

Update role permissions only (for inline editing in Role Details).

Body

application/json
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage

Parameters

role_idstringrequiredpath

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Get Role

GET
http://localhost:8000/api/v1/roles/{role_id}

Parameters

role_idstringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Update Role

PUT
http://localhost:8000/api/v1/roles/{role_id}

Body

application/json
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse

Parameters

role_idstringrequiredpath

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Delete Role

DELETE
http://localhost:8000/api/v1/roles/{role_id}

Deletes a role if it is not assigned to any users.

Parameters

role_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Sync Admin Permissions

POST
http://localhost:8000/api/v1/roles/sync-admin-permissions

Sync ADMIN role permissions with the latest from seeder_utils. Use this after adding new permissions.

Response

200OKany

Successful Response

Response fields application/json
any

Authorization

OAuth2PasswordBeareroauth2

Sync User Permissions

POST
http://localhost:8000/api/v1/roles/sync-user-permissions

Sync USER role permissions with the latest from seeder_utils. Use this after adding new permissions.

Response

200OKany

Successful Response

Response fields application/json
any

Authorization

OAuth2PasswordBeareroauth2

Get Grouped Permissions

GET
http://localhost:8000/api/v1/roles/grouped-permissions

Get permissions grouped by category for enterprise permission management UI

Response

Successful Response

Response fields application/json
Show child attributes
categoryBackend_PermissionCategoryUser ManagementRole ManagementSurvey ManagementForm ManagementResponse ManagementWorkspace ManagementAnalyticsReportingExportNotificationMediaSystemBillingFeature FlagsComplianceAuditPlatformrequired

Logical grouping of permissions.

permissionsArray<Backend_PermissionDto>required
Show child attributes
namestringrequired
display_namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
categoryBackend_PermissionCategory | null
Show child attributes
Any of

Logical grouping of permissions.

Backend_PermissionCategoryUser ManagementRole ManagementSurvey ManagementForm ManagementResponse ManagementWorkspace ManagementAnalyticsReportingExportNotificationMediaSystemBillingFeature FlagsComplianceAuditPlatform
null
danger_levelBackend_PermissionDangerLevellowmediumhighdangerouslow

Categorizes permissions by potential system impact.

Authorization

OAuth2PasswordBeareroauth2

Get Role Stats

GET
http://localhost:8000/api/v1/roles/{role_id}/stats

Get role statistics including assigned users count

Parameters

role_idstringrequiredpath

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Get Role Users

GET
http://localhost:8000/api/v1/roles/{role_id}/users

List users assigned to a role (checks both users.role_id and user_tenants.role_id).

Parameters

role_idstringrequiredpath
skipinteger>= 00query
limitinteger[1, 100]20query

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
genderBackend_Gendermalefemaleotherprefer_not_to_sayrequired
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
member_activebooleantrue
activated_atstring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
user_codestring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<string> | null
Show child attributes
Any of
Array<string>
null
agreed_to_termsbooleanfalse
skipintegerrequired
limitintegerrequired
totalintegerrequired
has_previousbooleanrequired
has_nextbooleanrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / Permissions

Permissions — Backend

Get Permissions

GET
http://localhost:8000/api/v1/permissions

Response

Successful Response

Response fields application/json
Show child attributes
namestringrequired
display_namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
categoryBackend_PermissionCategory | null
Show child attributes
Any of

Logical grouping of permissions.

Backend_PermissionCategoryUser ManagementRole ManagementSurvey ManagementForm ManagementResponse ManagementWorkspace ManagementAnalyticsReportingExportNotificationMediaSystemBillingFeature FlagsComplianceAuditPlatform
null
danger_levelBackend_PermissionDangerLevellowmediumhighdangerouslow

Categorizes permissions by potential system impact.

Authorization

OAuth2PasswordBeareroauth2

Backend / Stripe - Products

Stripe - Products — Backend

List Products

GET
http://localhost:8000/api/v1/products

Parameters

activeboolean | nullquery

Filter active products. None returns all.

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
tax_codestring | null
Show child attributes
Any of
string
null
activebooleanrequired
has_morebooleanrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Create a Product

POST
http://localhost:8000/api/v1/products

Body

application/json
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
tax_codestring | null
Show child attributes
Any of
string
null
activebooleantrue

Response

201Createdany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Get Product by ID

GET
http://localhost:8000/api/v1/products/{product_id}

Parameters

product_idstringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
tax_codestring | null
Show child attributes
Any of
string
null
activebooleanrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Delete a Product

DELETE
http://localhost:8000/api/v1/products/{product_id}

Parameters

product_idstringrequiredpath

Response

202Acceptedany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Update a Product

PATCH
http://localhost:8000/api/v1/products/{product_id}

Body

application/json
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
tax_codestring | null
Show child attributes
Any of
string
null
activebooleantrue

Parameters

product_idstringrequiredpath

Response

204No Content

Successful Response

422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / Stripe - Pricing

Stripe - Pricing — Backend

Get Pricing List

GET
http://localhost:8000/api/v1/prices

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
currencystringrequired
unit_amountintegerrequired
productstringrequired
activebooleanrequired
recurringBackend_RecurringDtorequired
Show child attributes
intervalstringdayweekmonthyearmonth

Billing interval, e.g., 'month'

interval_countinteger1

Number of intervals between each billing cycle

usage_typestringlicensedmeteredlicensed

Configures how the quantity per period should be determined. Can be either metered or licensed. licensed automatically bills the quantity set when adding it to a subscription. metered aggregates the total usage based on usage records. Defaults to licensed.

tax_behaviorstringrequired
typestringrequired
unit_amount_decimalstringrequired
has_morebooleanrequired

Authorization

OAuth2PasswordBeareroauth2

Create Pricing

POST
http://localhost:8000/api/v1/prices

Body

application/json
currencystringusd

Currency code, e.g., 'usd'

unit_amountintegerrequired

A positive integer in cents (or 0 for a free price) representing how much to charge. One of unit_amount, unit_amount_decimal, or custom_unit_amount is required, unless billing_scheme=tiered.

productstringrequired

The ID of the product this price is associated with

activebooleantrue

Whether the price is active or not

recurringBackend_RecurringDtorequired
Show child attributes
intervalstringdayweekmonthyearmonth

Billing interval, e.g., 'month'

interval_countinteger1

Number of intervals between each billing cycle

usage_typestringlicensedmeteredlicensed

Configures how the quantity per period should be determined. Can be either metered or licensed. licensed automatically bills the quantity set when adding it to a subscription. metered aggregates the total usage based on usage records. Defaults to licensed.

Response

201Createdany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Update Pricing

PATCH
http://localhost:8000/api/v1/prices/{price_id}

Body

application/json
activebooleanrequired
metadataobject | null
Show child attributes
Any of
object
null
tax_behaviorstring | null
Show child attributes
Any of
stringexclusiveinclusiveunspecified
null

Parameters

price_idstringrequiredpath

Response

204No Content

Successful Response

422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / Stripe - Billing

Stripe - Billing — Backend

Get billing configuration

GET
http://localhost:8000/api/v1/billing/config

Returns the Stripe publishable key to the frontend.

Response

Successful Response

Response fields application/json
publishable_keystringrequired

Authorization

OAuth2PasswordBeareroauth2

List available plans

GET
http://localhost:8000/api/v1/billing/plans

Parameters

skipinteger0query
limitinteger10query
searchstring | nullquery

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
activebooleanrequired
amountintegerrequired
amount_decimalstringrequired
billing_schemestringrequired
currencystringusd
intervalstringrequired
interval_countintegerrequired
productstringrequired
trial_period_daysinteger | null
Show child attributes
Any of
integer
null
usage_typestringrequired
totalintegerrequired
skipinteger0
limitinteger10
has_nextbooleanfalse
has_previousbooleanfalse
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Create a new plan

POST
http://localhost:8000/api/v1/billing/plans

Body

application/json
currencystringusd

Must be a supported currency: https://docs.stripe.com/currencies

intervalstringmonthyearrequired
product_idstringrequired

The product whose pricing the created plan will represent. This must be the ID of an existing product.

amountintegerrequired
trial_period_daysinteger | null

Number of days for the trial period. Set > 0 to enable trials.

Show child attributes
Any of
integer
null

Response

201Createdany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Get a plan details

GET
http://localhost:8000/api/v1/billing/plans/{plan_id}

Parameters

plan_idstringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
activebooleanrequired
amountintegerrequired
amount_decimalstringrequired
billing_schemestringrequired
currencystringusd
intervalstringrequired
interval_countintegerrequired
productstringrequired
trial_period_daysinteger | null
Show child attributes
Any of
integer
null
usage_typestringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Delete existing plan

DELETE
http://localhost:8000/api/v1/billing/plans/{plan_id}

Parameters

plan_idstringrequiredpath

Response

202Acceptedany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Update a existing plan

PATCH
http://localhost:8000/api/v1/billing/plans/{plan_id}

Body

application/json
trial_period_daysintegerrequired
activebooleantrue
metadataobject | null
Show child attributes
Any of
object
null

Parameters

plan_idstringrequiredpath

Response

204No Content

Successful Response

422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Create a Stripe SetupIntent for adding a payment method inline

POST
http://localhost:8000/api/v1/billing/payment-methods/setup-intent

Returns a Stripe SetupIntent client_secret. The frontend uses this with Stripe.js confirmCardSetup() to save a card without charging it.

Response

Successful Response

Response fields application/json
client_secretstringrequired
setup_intent_idstringrequired

Authorization

OAuth2PasswordBeareroauth2

List saved payment methods for the current tenant

GET
http://localhost:8000/api/v1/billing/payment-methods

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
typestringrequired
cardBackend_PaymentMethodCardDto | null
Show child attributes
Any of
brandstringrequired
last4stringrequired
exp_monthintegerrequired
exp_yearintegerrequired
countrystring | null
Show child attributes
Any of
string
null
null
createdintegerrequired
is_defaultbooleanfalse
customer_idstring | null
Show child attributes
Any of
string
null

Authorization

OAuth2PasswordBeareroauth2

Remove a saved payment method

DELETE
http://localhost:8000/api/v1/billing/payment-methods/{payment_method_id}

Parameters

payment_method_idstringrequiredpath

Response

202Acceptedany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Set a payment method as the default for the tenant

POST
http://localhost:8000/api/v1/billing/payment-methods/{payment_method_id}/default

Parameters

payment_method_idstringrequiredpath

Response

204No Content

Successful Response

422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Sync tenant subscription with Stripe

POST
http://localhost:8000/api/v1/billing/sync

Sync tenant subscription with Stripe.

Response

200OKany

Successful Response

Response fields application/json
any

Authorization

OAuth2PasswordBeareroauth2

Create native subscription intent (compatibility endpoint)

POST
http://localhost:8000/api/v1/billing/subscription/create-intent

Create native subscription for tenant using Stripe Elements.

Body

application/json
price_idstringrequired
tenant_idstringrequired
modestringsubscriptionpaymentsubscription
emailstringrequired

Response

Successful Response

Response fields application/json
client_secretstringrequired
subscription_idstringrequired
customer_idstringrequired
billing_record_idstringrequired
is_upgradebooleanfalse
requires_confirmationbooleantrue
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Create native subscription intent with Stripe Elements

POST
http://localhost:8000/api/v1/billing/native-subscription

Create native subscription for tenant using Stripe Elements.

Body

application/json
price_idstringrequired
tenant_idstringrequired
modestringsubscriptionpaymentsubscription
emailstringrequired

Response

Successful Response

Response fields application/json
client_secretstringrequired
subscription_idstringrequired
customer_idstringrequired
billing_record_idstringrequired
is_upgradebooleanfalse
requires_confirmationbooleantrue
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Confirm native subscription (compatibility endpoint)

POST
http://localhost:8000/api/v1/billing/subscription/confirm

Confirm native subscription: update billing record and sync tenant subscription with Stripe.

Body

application/json
billing_record_idstringrequired

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Confirm native subscription and sync tenant data

POST
http://localhost:8000/api/v1/billing/native-subscription/confirm

Confirm native subscription: update billing record and sync tenant subscription with Stripe.

Body

application/json
billing_record_idstringrequired

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Create payment intent for incomplete subscription

POST
http://localhost:8000/api/v1/billing/subscription/complete-payment

Create a payment intent for an incomplete subscription so the user can complete payment.

Body

application/json
subscription_idstringrequired
tenant_idstringrequired

Response

Successful Response

Response fields application/json
client_secretstringrequired
subscription_idstringrequired
customer_idstringrequired
billing_record_idstringrequired
is_upgradebooleanfalse
requires_confirmationbooleantrue
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Get current tenant subscription status

GET
http://localhost:8000/api/v1/billing/subscription/status

Returns the current tenant's subscription status including dormant state.

Response

200OKany

Successful Response

Response fields application/json
any

Authorization

OAuth2PasswordBeareroauth2

Downgrade dormant tenant to Free plan

POST
http://localhost:8000/api/v1/billing/subscription/downgrade-to-free

Downgrade a dormant/expired tenant to the Free plan. Cancels Stripe subscription but preserves all tenant data.

Response

200OKany

Successful Response

Response fields application/json
any

Authorization

OAuth2PasswordBeareroauth2

Backend / Webhooks - Stripe

Webhooks - Stripe — Backend

Stripe Webhook

POST
http://localhost:8000/api/v1/stripe/webhooks

Response

200OKany

Successful Response

Response fields application/json
any

Backend / Stripe - Invoices

Stripe - Invoices — Backend

List invoices

GET
http://localhost:8000/api/v1/invoices

Parameters

skipinteger0query
limitinteger10query
searchstring | nullquery

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
amount_dueinteger0
amount_paidinteger0
amount_remaininginteger0
amount_overpaidinteger0
attempt_countinteger0
attemptedbooleanfalse
auto_advancebooleanfalse
billing_reasonstring | null
Show child attributes
Any of
string
null
collection_methodstring | null
Show child attributes
Any of
string
null
createdintegerrequired
currencystringusd
customerstring | null
Show child attributes
Any of
string
null
customer_namestring | null
Show child attributes
Any of
string
null
statusstringopen
totalinteger0
receipt_numberstring | null
Show child attributes
Any of
string
null
amount_countrystring | null
Show child attributes
Any of
string
null
account_namestring | null
Show child attributes
Any of
string
null
invoice_pdfstring | null
Show child attributes
Any of
string
null
hosted_invoice_urlstring | null
Show child attributes
Any of
string
null
totalintegerrequired
skipinteger0
limitinteger10
has_nextbooleanfalse
has_previousbooleanfalse
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

List subscription history

GET
http://localhost:8000/api/v1/invoices/history

Parameters

skipinteger0query
limitinteger10query
searchstring | nullquery

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
created_atstringrequired
scopestringhosttenantrequired
actorstringtenantend_userrequired
user_idstring | null
Show child attributes
Any of
string
null
user_namestring | null
Show child attributes
Any of
string
null
user_emailstring | null
Show child attributes
Any of
string
null
payment_typestringrequired
currencystringrequired
amountinteger | null
Show child attributes
Any of
integer
null
amount_formattedstring | null
Show child attributes
Any of
string
null
stripe_customer_idstring | null
Show child attributes
Any of
string
null
stripe_subscription_idstring | null
Show child attributes
Any of
string
null
stripe_session_idstring | null
Show child attributes
Any of
string
null
stripe_invoice_idstring | null
Show child attributes
Any of
string
null
stripe_payment_intent_idstring | null
Show child attributes
Any of
string
null
product_idstring | null
Show child attributes
Any of
string
null
price_idstring | null
Show child attributes
Any of
string
null
statusstringpendingrequires_payment_methodrequires_actionactivesucceededpayment_failedcanceledincompleterequired
current_period_endstring | null
Show child attributes
Any of
string
null
canceled_atstring | null
Show child attributes
Any of
string
null
cancellation_reasonstring | null
Show child attributes
Any of
string
null
invoice_urlstring | null
Show child attributes
Any of
string
null
invoice_pdf_urlstring | null
Show child attributes
Any of
string
null
receipt_urlstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
skipintegerrequired
limitintegerrequired
totalintegerrequired
has_previousbooleanrequired
has_nextbooleanrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

List tenant invoices

GET
http://localhost:8000/api/v1/invoices/tenant

List invoices for the current tenant only, filtered by date range and status.

Parameters

start_datestringquery
end_datestringquery
statusstringquery
skipinteger0query
limitinteger20query
searchstring | nullquery

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
invoice_numberstring | null
Show child attributes
Any of
string
null
createdintegerrequired
due_dateinteger | null
Show child attributes
Any of
integer
null
statusstringopen
currencystringusd
amount_dueinteger0
amount_paidinteger0
tax_amountinteger0
totalinteger0
billing_reasonstring | null
Show child attributes
Any of
string
null
customer_namestring | null
Show child attributes
Any of
string
null
tenant_namestring | null
Show child attributes
Any of
string
null
tenant_tax_idstring | null
Show child attributes
Any of
string
null
invoice_pdfstring | null
Show child attributes
Any of
string
null
hosted_invoice_urlstring | null
Show child attributes
Any of
string
null
Show child attributes
descriptionstring | null
Show child attributes
Any of
string
null
quantityinteger1
unit_amountinteger0
amountinteger0
currencystringusd
totalintegerrequired
skipinteger0
limitinteger10
has_nextbooleanfalse
has_previousbooleanfalse
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Export tenant invoices as CSV

GET
http://localhost:8000/api/v1/invoices/tenant/export

Export all tenant invoices as CSV for tax filing purposes.

Parameters

start_datestringquery
end_datestringquery
statusstringquery

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / Stripe - Checkout

Stripe - Checkout — Backend

Create Host Checkout Session

POST
http://localhost:8000/api/v1/checkouts/host/{tenant_id}/tenant

Body

application/json
price_idstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
modestringpaymentsubscriptionsetupsubscription
emailstring<email>required

Response

Successful Response

Response fields application/json
checkout_urlstringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Create Tenant Subscription Checkout

POST
http://localhost:8000/api/v1/checkouts/tenant/subscription

Create a Stripe checkout session for tenant subscription. Uses host-level Stripe settings (NOT tenant-specific). Host charges tenants for their subscriptions.

Body

application/json
price_idstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
modestringpaymentsubscriptionsetupsubscription
emailstring<email>required

Response

Successful Response

Response fields application/json
checkout_urlstringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Host Checkout Success

POST
http://localhost:8000/api/v1/checkouts/host/payment/success

Parameters

session_idstringrequiredquery
tenant_idstringrequiredquery

Response

202Acceptedany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Host Checkout Canceled

POST
http://localhost:8000/api/v1/checkouts/host/payment/cancel

Parameters

tenant_idstringrequiredquery

Response

202Acceptedany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Tenant Checkout Success

POST
http://localhost:8000/api/v1/checkouts/tenant/payment/success

Handle successful tenant subscription checkout. Uses host-level Stripe settings.

Parameters

session_idstringrequiredquery

Response

202Acceptedany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Tenant Checkout Canceled

POST
http://localhost:8000/api/v1/checkouts/tenant/payment/cancel

Handle cancelled tenant subscription checkout.

Response

202Acceptedany

Successful Response

Response fields application/json
any

Authorization

OAuth2PasswordBeareroauth2

List Checkout Records

GET
http://localhost:8000/api/v1/checkouts/all

Parameters

skipinteger0query
limitinteger100query
searchstring | nullquery

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
created_atstringrequired
scopestringhosttenantrequired
actorstringtenantend_userrequired
user_idstring | null
Show child attributes
Any of
string
null
user_namestring | null
Show child attributes
Any of
string
null
user_emailstring | null
Show child attributes
Any of
string
null
payment_typestringrequired
currencystringrequired
amountinteger | null
Show child attributes
Any of
integer
null
amount_formattedstring | null
Show child attributes
Any of
string
null
stripe_customer_idstring | null
Show child attributes
Any of
string
null
stripe_subscription_idstring | null
Show child attributes
Any of
string
null
stripe_session_idstring | null
Show child attributes
Any of
string
null
stripe_invoice_idstring | null
Show child attributes
Any of
string
null
stripe_payment_intent_idstring | null
Show child attributes
Any of
string
null
product_idstring | null
Show child attributes
Any of
string
null
price_idstring | null
Show child attributes
Any of
string
null
statusstringpendingrequires_payment_methodrequires_actionactivesucceededpayment_failedcanceledincompleterequired
current_period_endstring | null
Show child attributes
Any of
string
null
canceled_atstring | null
Show child attributes
Any of
string
null
cancellation_reasonstring | null
Show child attributes
Any of
string
null
invoice_urlstring | null
Show child attributes
Any of
string
null
invoice_pdf_urlstring | null
Show child attributes
Any of
string
null
receipt_urlstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
skipintegerrequired
limitintegerrequired
totalintegerrequired
has_previousbooleanrequired
has_nextbooleanrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / Notifications

Notifications — Backend

Get Notification Banner

GET
http://localhost:8000/api/v1/notifications/banner

Get the current notification banner information.

Response

Successful Response

Response fields application/json
is_enabledbooleanrequired
messagestring | null
Show child attributes
Any of
string
null
idstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null

Create Notification Banner

POST
http://localhost:8000/api/v1/notifications/banner

Create a new notification banner setting.

Body

application/json
is_enabledbooleanrequired
messagestring | null
Show child attributes
Any of
string
null

Response

201Createdany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Update Notification Banner

PUT
http://localhost:8000/api/v1/notifications/banner/{id}

Update an existing notification banner setting.

Body

application/json
is_enabledbooleanrequired
messagestring | null
Show child attributes
Any of
string
null

Parameters

idstringrequiredpath

Response

204No Content

Successful Response

422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / Audit Logs

Audit Logs — Backend

Download Audit Logs

POST
http://localhost:8000/api/v1/audit-logs/download

Body

application/json
actionstring | null
Show child attributes
Any of
stringcreateupdatedeletereadloginlogouterrordownload
null
total_recordsintegerrequired

Response

Successful Response

Response fields application/json
messagestringrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Get User Activity Logs

GET
http://localhost:8000/api/v1/users/{user_id}/activity-logs

Parameters

user_idstringrequiredpath
limitinteger10query
skipinteger0query
actionstring | nullquery
categorystring | nullquery
searchstring | nullquery
date_fromstring | nullquery
date_tostring | nullquery

Response

Successful Response

Response fields application/json
totalintegerrequired
Show child attributes
idstring | null
Show child attributes
Any of
string
null
entitystringrequired
service_namestring | null
Show child attributes
Any of
string
null
actionstringcreateupdatedeletereadloginlogouterrordownloadrequired
changesobject
user_idstring | null
Show child attributes
Any of
string
null
timestampstring
tenant_idstring | null
Show child attributes
Any of
string
null
actor_namestring | null
Show child attributes
Any of
string
null
actor_emailstring | null
Show child attributes
Any of
string
null
resource_idstring | null
Show child attributes
Any of
string
null
resource_namestring | null
Show child attributes
Any of
string
null
categorystring | null
Show child attributes
Any of
string
null
severitystring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
failure_reasonstring | null
Show child attributes
Any of
string
null
correlation_idstring | null
Show child attributes
Any of
string
null
statusstring | null
Show child attributes
Any of
string
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
event_typestring | null
Show child attributes
Any of
string
null
has_nextbooleanrequired
has_previousbooleanrequired
limitintegerrequired
skipintegerrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / Frontend Logs

Frontend Logs — Backend

Create Frontend Log

POST
http://localhost:8000/api/v1/frontend-logs

Receive frontend log entry and write to frontend/logs directory.

This endpoint accepts logs from the frontend and stores them in:

  • frontend/logs/frontend-all.log (all logs)
  • frontend/logs/frontend-errors.log (ERROR and FATAL only)

Logs are stored in JSON Lines format (one JSON object per line).

Body

application/json

Frontend log entry model

timestampstringrequired
levelstringrequired
messagestringrequired
contextobject | null
Show child attributes
Any of
object
null
stackstring | null
Show child attributes
Any of
string
null
userAgentstring | null
Show child attributes
Any of
string
null
urlstring | null
Show child attributes
Any of
string
null
userIdstring | null
Show child attributes
Any of
string
null
tenantIdstring | null
Show child attributes
Any of
string
null

Response

201Createdany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Health Check

GET
http://localhost:8000/api/v1/frontend-logs/health

Health check for frontend logging endpoint

Response

200OKany

Successful Response

Response fields application/json
any

Backend / Frontend Audit

Frontend Audit — Backend

Ingest Audit Event

POST
http://localhost:8000/api/v1/frontend-audit/logs

Relay a client-originated audit event to the centralized audit-service.

The browser cannot call the audit-service's internal-only ingest endpoint (service_only=True). This endpoint accepts authenticated user events and forwards them with the backend's service token, pinning the actor to the authenticated user so clients cannot forge audit entries.

Body

application/json

Client-originated audit event relayed to the centralized audit-service.

Mirrors the schema the browser sends via the generated AuditLogsService (createAuditLog). Unknown fields are preserved (extra="allow") so the relay forwards the payload faithfully to the audit-service, which owns validation.

event_idstring | null
Show child attributes
Any of
string
null
event_typestring | null
Show child attributes
Any of
string
null
log_schema_versionstring | null1.0
Show child attributes
Any of
string
null
service_namestringfrontend
actionstringrequired
actor_typestring | null
Show child attributes
Any of
string
null
actor_idstring | null
Show child attributes
Any of
string
null
actor_emailstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
resource_typestring | null
Show child attributes
Any of
string
null
resource_idstring | null
Show child attributes
Any of
string
null
statusstring | nullsuccess
Show child attributes
Any of
string
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
request_idstring | null
Show child attributes
Any of
string
null
trace_idstring | null
Show child attributes
Any of
string
null
parent_trace_idstring | null
Show child attributes
Any of
string
null
http_methodstring | null
Show child attributes
Any of
string
null
http_pathstring | null
Show child attributes
Any of
string
null
http_statusinteger | null
Show child attributes
Any of
integer
null
duration_msinteger | null
Show child attributes
Any of
integer
null
metadataobject | null
Show child attributes
Any of
object
null
event_idempotency_keystring | null
Show child attributes
Any of
string
null
data_classificationstring | null
Show child attributes
Any of
string
null

Response

201Createdany

Successful Response

Response fields application/json
any
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / Mobile Security Policies (DEPRECATED)

Mobile Security Policies (DEPRECATED) — Backend

Get Deprecated Mobile Security Policy

deprecated
GET
http://localhost:8000/api/v1/mobile-security-policies/{tenant_id}

DEPRECATED: Use GET /tenant-governance/{tenant_id} + GET /runtime-security-config/ instead.

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json

Backward-compatible adapter for old mobile clients.

Maps from RuntimeSecurityConfig + TenantDataGovernance into the old monolithic MobileSecurityPolicyDto format. This is TEMPORARY — remove after migration window.

DEPRECATED: Use RuntimeSecurityConfigDto + TenantDataGovernanceDto instead.

idstring | null
Show child attributes
Any of
string
null
tenant_idstringrequired
global_modestringwarning
screenshot_prevention_modestringdisabled
root_detection_modestringwarning
biometric_required_modestringdisabled
session_timeout_minutesinteger0
wifi_only_syncbooleanfalse
battery_aware_syncbooleanfalse
battery_low_threshold_percentinteger20
block_sync_on_roamingbooleanfalse
max_offline_duration_hoursinteger0
force_revalidation_hoursinteger0
media_upload_max_size_mbinteger50
media_upload_allowed_typesArray<any> | null
Show child attributes
Any of
Array<any>
null
local_retention_daysinteger0
remote_wipe_enabledbooleanfalse
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Update Deprecated Mobile Security Policy

deprecated
PUT
http://localhost:8000/api/v1/mobile-security-policies/{tenant_id}

DEPRECATED: Use PUT /runtime-security-config/ + PUT /tenant-governance/{tenant_id} instead.

Extracts runtime-global fields and updates runtime_security_config. Extracts tenant-scoped fields and updates tenant_data_governance.

Body

application/json

Backward-compatible adapter for old mobile clients.

Maps from RuntimeSecurityConfig + TenantDataGovernance into the old monolithic MobileSecurityPolicyDto format. This is TEMPORARY — remove after migration window.

DEPRECATED: Use RuntimeSecurityConfigDto + TenantDataGovernanceDto instead.

idstring | null
Show child attributes
Any of
string
null
tenant_idstringrequired
global_modestringwarning
screenshot_prevention_modestringdisabled
root_detection_modestringwarning
biometric_required_modestringdisabled
session_timeout_minutesinteger0
wifi_only_syncbooleanfalse
battery_aware_syncbooleanfalse
battery_low_threshold_percentinteger20
block_sync_on_roamingbooleanfalse
max_offline_duration_hoursinteger0
force_revalidation_hoursinteger0
media_upload_max_size_mbinteger50
media_upload_allowed_typesArray<any> | null
Show child attributes
Any of
Array<any>
null
local_retention_daysinteger0
remote_wipe_enabledbooleanfalse

Parameters

tenant_idstringrequiredpath

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / Runtime Security Config

Runtime Security Config — Backend

Get Runtime Security Config

GET
http://localhost:8000/api/v1/runtime-security-config

Response

Successful Response

Response fields application/json
idstringsystem_default
screenshot_prevention_modestringstrictwarningdisableddisabled
root_detection_modestringstrictwarningdisabledwarning
biometric_required_modestringstrictwarningdisableddisabled
session_timeout_minutesinteger0
wifi_only_syncbooleanfalse
battery_aware_syncbooleanfalse
battery_low_threshold_percentinteger20
block_sync_on_roamingbooleanfalse
background_sync_enabledbooleantrue
crash_reporting_enabledbooleantrue
telemetry_enabledbooleantrue
global_modestringstrictwarningdisabledwarning
version_idstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
updated_bystring | null
Show child attributes
Any of
string
null

Authorization

OAuth2PasswordBeareroauth2

Update Runtime Security Config

PUT
http://localhost:8000/api/v1/runtime-security-config

Body

application/json
screenshot_prevention_modestring | null
Show child attributes
Any of
stringstrictwarningdisabled
null
root_detection_modestring | null
Show child attributes
Any of
stringstrictwarningdisabled
null
biometric_required_modestring | null
Show child attributes
Any of
stringstrictwarningdisabled
null
session_timeout_minutesinteger | null
Show child attributes
Any of
integer[0, 1440]
null
wifi_only_syncboolean | null
Show child attributes
Any of
boolean
null
battery_aware_syncboolean | null
Show child attributes
Any of
boolean
null
battery_low_threshold_percentinteger | null
Show child attributes
Any of
integer[1, 100]
null
block_sync_on_roamingboolean | null
Show child attributes
Any of
boolean
null
background_sync_enabledboolean | null
Show child attributes
Any of
boolean
null
crash_reporting_enabledboolean | null
Show child attributes
Any of
boolean
null
telemetry_enabledboolean | null
Show child attributes
Any of
boolean
null
global_modestring | null
Show child attributes
Any of
stringstrictwarningdisabled
null

Response

Successful Response

Response fields application/json
idstringsystem_default
screenshot_prevention_modestringstrictwarningdisableddisabled
root_detection_modestringstrictwarningdisabledwarning
biometric_required_modestringstrictwarningdisableddisabled
session_timeout_minutesinteger0
wifi_only_syncbooleanfalse
battery_aware_syncbooleanfalse
battery_low_threshold_percentinteger20
block_sync_on_roamingbooleanfalse
background_sync_enabledbooleantrue
crash_reporting_enabledbooleantrue
telemetry_enabledbooleantrue
global_modestringstrictwarningdisabledwarning
version_idstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
updated_bystring | null
Show child attributes
Any of
string
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / Tenant Data Governance

Tenant Data Governance — Backend

Get Tenant Governance

GET
http://localhost:8000/api/v1/tenant-governance/{tenant_id}

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
idstring | null
Show child attributes
Any of
string
null
tenant_idstringrequired
max_offline_duration_hoursinteger0
force_revalidation_hoursinteger0
media_upload_max_size_mbinteger50
media_upload_allowed_typesArray<any> | null
Show child attributes
Any of
Array<any>
null
local_retention_daysinteger0
remote_wipe_enabledbooleanfalse
version_idstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Update Tenant Governance

PUT
http://localhost:8000/api/v1/tenant-governance/{tenant_id}

Body

application/json
max_offline_duration_hoursinteger | null
Show child attributes
Any of
integer>= 0
null
force_revalidation_hoursinteger | null
Show child attributes
Any of
integer>= 0
null
media_upload_max_size_mbinteger | null
Show child attributes
Any of
integer[1, 500]
null
media_upload_allowed_typesArray<any> | null
Show child attributes
Any of
Array<any>
null
local_retention_daysinteger | null
Show child attributes
Any of
integer>= 0
null
remote_wipe_enabledboolean | null
Show child attributes
Any of
boolean
null

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
messagestringrequired
governanceBackend_TenantDataGovernanceDto | null
Show child attributes
Any of
idstring | null
Show child attributes
Any of
string
null
tenant_idstringrequired
max_offline_duration_hoursinteger0
force_revalidation_hoursinteger0
media_upload_max_size_mbinteger50
media_upload_allowed_typesArray<any> | null
Show child attributes
Any of
Array<any>
null
local_retention_daysinteger0
remote_wipe_enabledbooleanfalse
version_idstring | null
Show child attributes
Any of
string
null
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Delete Tenant Governance

DELETE
http://localhost:8000/api/v1/tenant-governance/{tenant_id}

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
messagestringrequired
governanceBackend_TenantDataGovernanceDto | null
Show child attributes
Any of
idstring | null
Show child attributes
Any of
string
null
tenant_idstringrequired
max_offline_duration_hoursinteger0
force_revalidation_hoursinteger0
media_upload_max_size_mbinteger50
media_upload_allowed_typesArray<any> | null
Show child attributes
Any of
Array<any>
null
local_retention_daysinteger0
remote_wipe_enabledbooleanfalse
version_idstring | null
Show child attributes
Any of
string
null
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Create Tenant Governance

POST
http://localhost:8000/api/v1/tenant-governance

Body

application/json
tenant_idstringrequired
max_offline_duration_hoursinteger>= 00
force_revalidation_hoursinteger>= 00
media_upload_max_size_mbinteger[1, 500]50
media_upload_allowed_typesArray<any> | null
Show child attributes
Any of
Array<any>
null
local_retention_daysinteger>= 00
remote_wipe_enabledbooleanfalse

Response

Successful Response

Response fields application/json
messagestringrequired
governanceBackend_TenantDataGovernanceDto | null
Show child attributes
Any of
idstring | null
Show child attributes
Any of
string
null
tenant_idstringrequired
max_offline_duration_hoursinteger0
force_revalidation_hoursinteger0
media_upload_max_size_mbinteger50
media_upload_allowed_typesArray<any> | null
Show child attributes
Any of
Array<any>
null
local_retention_daysinteger0
remote_wipe_enabledbooleanfalse
version_idstring | null
Show child attributes
Any of
string
null
null
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Issue Remote Wipe

POST
http://localhost:8000/api/v1/tenant-governance/{tenant_id}/remote-wipe

Body

application/json
target_user_idstring | null
Show child attributes
Any of
string
null
reasonstring | null
Show child attributes
Any of
string
null

Parameters

tenant_idstringrequiredpath

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Backend / App Version

App Version — Backend

Get App Version

GET
http://localhost:8000/api/v1/app/version

Response

Successful Response

Response fields application/json
latest_versionstringrequired
Example
2.1.0
download_urlstring | null
Show child attributes
Any of
string
null
Example
https://releases.mquad.local/v2.1.0/mquad.apk
checksum_sha256string | null
Show child attributes
Any of
string
null
Example
a1b2c3d4e5f6...
min_versionstring | null
Show child attributes
Any of
string
null
Example
1.5.0
release_notesstring | null
Show child attributes
Any of
string
null
Example
Fixed sync conflicts, improved offline stability

Survey Service

Survey design, publishing, versioning, templates, question bank, languages, lookups, access

Upload XLSForm as New Survey Version

POST
http://localhost:8001/api/v1/surveys/{survey_id}/versions/upload

Create a new version of an existing survey by uploading an XLSForm file.

This endpoint:

  1. Validates the uploaded file (size, extension)
  2. Parses the XLSForm using XLSFormImportService
  3. Validates schema using existing validators
  4. Creates a new version using VersionService (SAME logic as JSON endpoint)
  5. Returns standardized response

Body

multipart/form-data
filestringrequired

Parameters

survey_idstring<uuid>requiredpath

Response

201Createdany

Created survey version

Response fields application/json
any
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Download blank form as PDF

GET
http://localhost:8001/api/v1/surveys/{survey_id}/blank.pdf

Generate and download a blank paper form PDF for a published survey.

Parameters

survey_idstring<uuid>requiredpath
primary_languagestringenquery

Primary language code for labels

secondary_languagestringquery

Secondary language code for bilingual mode

export_modestringsinglequery

Export mode: 'single' or 'bilingual'

langstringquery

(Deprecated) Use primary_language instead

versionstringquery

Version string (optional)

orgstringquery

Organization name (optional)

Response

200OKany

PDF file bytes

Response fields application/json
any
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Survey Service / Survey Tags

Survey Tags — Survey Service

List Tags

GET
http://localhost:8001/api/v1/surveys/tags

List all tags for the tenant.

Parameters

searchstring | nullquery

Search tags by name

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
totalintegerrequired
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Create Tag

POST
http://localhost:8001/api/v1/surveys/tags

Create a new tag.

Body

application/json
namestringrequired
colorstring | null
Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Tag

PUT
http://localhost:8001/api/v1/surveys/tags/{tag_id}

Update a tag.

Body

application/json
namestring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null

Parameters

tag_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Delete Tag

DELETE
http://localhost:8001/api/v1/surveys/tags/{tag_id}

Delete a tag and remove all associations.

Parameters

tag_idstring<uuid>requiredpath

Response

204No Content

Successful Response

422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Survey Tags

GET
http://localhost:8001/api/v1/surveys/{survey_id}/tags

Get all tags assigned to a survey.

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Assign Tags To Survey

POST
http://localhost:8001/api/v1/surveys/{survey_id}/tags

Assign tags to a survey (replaces all existing tag assignments).

Body

application/json
tag_idsArray<string>required

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Survey Service / Languages

Languages — Survey Service

List Languages

GET
http://localhost:8001/api/v1/surveys/languages

List all languages for the tenant.

Parameters

include_inactivebooleanfalsequery

Include inactive languages in the response

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
codestringrequired
namestringrequired
flag_emojistring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
display_orderintegerrequired
totalintegerrequired
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Create Language

POST
http://localhost:8001/api/v1/surveys/languages

Create a new language for the tenant.

Body

application/json
codestringrequired

Language code (e.g., 'en', 'hi')

namestringrequired

Language name (e.g., 'English', 'Hindi')

flag_emojistring | null

Flag emoji (e.g., '🇺🇸')

Show child attributes
Any of
string
null
is_activebooleantrue

Whether language is active

display_orderinteger0

Display order for sorting

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
codestringrequired
namestringrequired
flag_emojistring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
display_orderintegerrequired
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Reorder Languages

PUT
http://localhost:8001/api/v1/surveys/languages/reorder

Reorder languages by updating display_order based on array position.

Body

application/json
language_idsArray<string>required

List of language codes in desired order

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
codestringrequired
namestringrequired
flag_emojistring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
display_orderintegerrequired
totalintegerrequired
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Language

PUT
http://localhost:8001/api/v1/surveys/languages/{language_id}

Update an existing language.

Body

application/json
codestring | null
Show child attributes
Any of
string
null
namestring | null
Show child attributes
Any of
string
null
flag_emojistring | null
Show child attributes
Any of
string
null
is_activeboolean | null
Show child attributes
Any of
boolean
null
display_orderinteger | null
Show child attributes
Any of
integer
null

Parameters

language_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
codestringrequired
namestringrequired
flag_emojistring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
display_orderintegerrequired
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Delete Language

DELETE
http://localhost:8001/api/v1/surveys/languages/{language_id}

Hard delete a language (remove from database).

Parameters

language_idstring<uuid>requiredpath

Response

204No Content

Successful Response

422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Seed Default Languages

POST
http://localhost:8001/api/v1/surveys/languages/seed

Seed default languages for the tenant (if none exist).

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
codestringrequired
namestringrequired
flag_emojistring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
display_orderintegerrequired
totalintegerrequired

Survey Service / Lookups

Lookups — Survey Service

Resolve lookup values

POST
http://localhost:8001/api/v1/surveys/lookups/{survey_id}/resolve

Resolve dependent field values based on a trigger question and value

Body

application/json

Request model for lookup resolution.

trigger_questionstringrequired

Name of the trigger question

trigger_valuestringrequired

Selected value for the trigger question

current_valuesobject | null

Current values of all questions (for change detection)

Show child attributes
Any of
object
null

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json

Response model for lookup resolution.

trigger_questionstringrequired
trigger_valuestringrequired
resolved_valuesobjectrequired
fields_to_clearArray<string>
is_validbooleantrue
error_messagestring | null
Show child attributes
Any of
string
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Validate lookup value

POST
http://localhost:8001/api/v1/surveys/lookups/{survey_id}/validate

Validate that a lookup value exists in the lookup data

Body

application/json

Request model for lookup validation.

trigger_questionstringrequired

Name of the trigger question

trigger_valuestringrequired

Value to validate

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json

Response model for lookup validation.

is_validbooleanrequired
trigger_questionstringrequired
trigger_valuestringrequired
error_messagestring | null
Show child attributes
Any of
string
null
available_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get lookup configuration

GET
http://localhost:8001/api/v1/surveys/lookups/{survey_id}/config

Get structured lookup configuration for a survey

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json

Response model for lookup configuration.

has_lookupsbooleanrequired
lookup_keysArray<object>required
trigger_questionsArray<string>required
referee_questionsobjectrequired
Show child attributes
[key: string]Array<string>
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get all lookup values

GET
http://localhost:8001/api/v1/surveys/lookups/{survey_id}/values/{trigger_question}

Get all valid values for a trigger question

Parameters

survey_idstring<uuid>requiredpath
trigger_questionstringrequiredpath

Response

200OKArray<string>

Successful Response

Response fields application/json
Array<string>
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get lookup statistics

GET
http://localhost:8001/api/v1/surveys/lookups/{survey_id}/statistics

Get statistics about lookup data

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json

Response model for lookup statistics.

trigger_questionsintegerrequired
total_valuesintegerrequired
trigger_detailsobjectrequired
Show child attributes
[key: string]object
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get available trigger values

GET
http://localhost:8001/api/v1/surveys/lookups/{survey_id}/available-triggers

Get trigger values with availability status for assignment UI

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json

Response model for available trigger values with assignment info.

trigger_questionsArray<string>required
available_valuesobjectrequired
Show child attributes
[key: string]Array<string>
assigned_valuesobjectrequired
Show child attributes
[key: string]object
Show child attributes
[key: string]string | null
Show child attributes
Any of
string
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Survey Service / Question Bank

Question Bank — Survey Service

List Categories

GET
http://localhost:8001/api/v1/surveys/question-bank/categories

List question bank categories. Permission: template:read or template:manage

Parameters

skipinteger>= 00query
limitinteger[1, 100]20query
searchstring | nullquery

Search categories by name or description

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null
question_countinteger0
created_atstring<date-time>required
updated_atstring<date-time>required
totalintegerrequired
limitintegerrequired
skipintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Create Category

POST
http://localhost:8001/api/v1/surveys/question-bank/categories

Create category. Permission: template:create or template:manage

Body

application/json
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null
question_countinteger0
created_atstring<date-time>required
updated_atstring<date-time>required
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Category

PUT
http://localhost:8001/api/v1/surveys/question-bank/categories/{category_id}

Update category. Permission: template:update or template:manage

Body

application/json
namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null

Parameters

category_idstringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null
question_countinteger0
created_atstring<date-time>required
updated_atstring<date-time>required
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Delete Category

DELETE
http://localhost:8001/api/v1/surveys/question-bank/categories/{category_id}

Delete category. Permission: template:delete or template:manage

Parameters

category_idstringrequiredpath

Response

204No Content

Successful Response

422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

List Questions

GET
http://localhost:8001/api/v1/surveys/question-bank/questions

List/search reusable questions. Permission: template:create or survey:create or template:manage or survey:manage

Parameters

skipinteger>= 00query
limitinteger[1, 100]20query
category_idstring | nullquery

Filter questions by category

question_typestring | nullquery

Filter questions by type

searchstring | nullquery

Search questions by name or label

tagsstring | nullquery

Filter questions by tags

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
tenant_idstringrequired
category_idstring | null
Show child attributes
Any of
string
null
question_typestringrequired
namestringrequired
labelstringrequired
label_translationsobjectrequired
Show child attributes
[key: string]string
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobjectrequired
Show child attributes
[key: string]string
requiredbooleanrequired
question_configobjectrequired
tagsArray<string>required
usage_countintegerrequired
is_publicbooleanrequired
created_bystringrequired
updated_bystring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
categorySurveyService_QuestionBankCategoryResponse | null
Show child attributes
Any of
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null
question_countinteger0
created_atstring<date-time>required
updated_atstring<date-time>required
null
totalintegerrequired
limitintegerrequired
skipintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Create Question

POST
http://localhost:8001/api/v1/surveys/question-bank/questions

Create a reusable question. Permission: template:create or template:manage

Body

application/json
category_idstring | null
Show child attributes
Any of
string
null
question_typestringrequired
namestringrequired
labelstring
label_translationsobject
Show child attributes
[key: string]string
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject
Show child attributes
[key: string]string
requiredbooleanfalse
question_configobject
tagsArray<string>
is_publicbooleanfalse

Response

Successful Response

Response fields application/json
idstringrequired
tenant_idstringrequired
category_idstring | null
Show child attributes
Any of
string
null
question_typestringrequired
namestringrequired
labelstringrequired
label_translationsobjectrequired
Show child attributes
[key: string]string
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobjectrequired
Show child attributes
[key: string]string
requiredbooleanrequired
question_configobjectrequired
tagsArray<string>required
usage_countintegerrequired
is_publicbooleanrequired
created_bystringrequired
updated_bystring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
categorySurveyService_QuestionBankCategoryResponse | null
Show child attributes
Any of
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null
question_countinteger0
created_atstring<date-time>required
updated_atstring<date-time>required
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Question

GET
http://localhost:8001/api/v1/surveys/question-bank/questions/{question_id}

Get question details. Permission: template:create or survey:create or template:manage or survey:manage

Parameters

question_idstringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
tenant_idstringrequired
category_idstring | null
Show child attributes
Any of
string
null
question_typestringrequired
namestringrequired
labelstringrequired
label_translationsobjectrequired
Show child attributes
[key: string]string
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobjectrequired
Show child attributes
[key: string]string
requiredbooleanrequired
question_configobjectrequired
tagsArray<string>required
usage_countintegerrequired
is_publicbooleanrequired
created_bystringrequired
updated_bystring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
categorySurveyService_QuestionBankCategoryResponse | null
Show child attributes
Any of
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null
question_countinteger0
created_atstring<date-time>required
updated_atstring<date-time>required
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Question

PUT
http://localhost:8001/api/v1/surveys/question-bank/questions/{question_id}

Update a reusable question. Permission: template:update or template:manage

Body

application/json
category_idstring | null
Show child attributes
Any of
string
null
labelstring | null
Show child attributes
Any of
string
null
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject | null
Show child attributes
Any of
[key: string]string
null
requiredboolean | null
Show child attributes
Any of
boolean
null
question_configobject | null
Show child attributes
Any of
object
null
tagsArray<string> | null
Show child attributes
Any of
Array<string>
null
is_publicboolean | null
Show child attributes
Any of
boolean
null

Parameters

question_idstringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
tenant_idstringrequired
category_idstring | null
Show child attributes
Any of
string
null
question_typestringrequired
namestringrequired
labelstringrequired
label_translationsobjectrequired
Show child attributes
[key: string]string
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobjectrequired
Show child attributes
[key: string]string
requiredbooleanrequired
question_configobjectrequired
tagsArray<string>required
usage_countintegerrequired
is_publicbooleanrequired
created_bystringrequired
updated_bystring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
categorySurveyService_QuestionBankCategoryResponse | null
Show child attributes
Any of
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null
question_countinteger0
created_atstring<date-time>required
updated_atstring<date-time>required
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Delete Question

DELETE
http://localhost:8001/api/v1/surveys/question-bank/questions/{question_id}

Delete a reusable question. Permission: template:delete or template:manage

Parameters

question_idstringrequiredpath

Response

204No Content

Successful Response

422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Import Questions

POST
http://localhost:8001/api/v1/surveys/question-bank/questions/import

Import multiple questions from a CSV file.

Expected header: type,name,label,hint,required,tags. Valid rows are created and invalid rows are skipped with per-row errors (partial success). Permission: template:create or template:manage

Body

multipart/form-data
filestringrequired
category_idstring | null
Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json
totalintegerrequired
createdintegerrequired
failedintegerrequired
Show child attributes
rowintegerrequired
fieldstring
codestringrequired
messagestringrequired
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Add Question To Survey

POST
http://localhost:8001/api/v1/surveys/question-bank/add-to-survey

Add a bank question to a survey's schema. Permission: survey:create or survey:manage

Returns the full question JSON object that the frontend can directly insert into the survey schema.

Body

application/json
question_idstringrequired
survey_idstringrequired

Response

Successful Response

Response fields application/json
survey_idstringrequired
question_idstringrequired
question_namestringrequired
questionobjectrequired
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Survey Service / Surveys

Surveys — Survey Service

List Surveys

GET
http://localhost:8001/api/v1/surveys

List surveys for the tenant.

  • Admin users (with survey:manage/survey:read) see all surveys in the tenant
  • Non-admin users only see surveys they have explicit access to via form_access table
  • Internal callers (sync-service) can pass filter_user_id to force form_access filtering for a specific user, regardless of caller permissions

Parameters

skipinteger>= 00query
limitinteger[1, 100]20query
status_filterSurveyService_SurveyStatus | nullquery
project_idstring | nullquery

Filter surveys by project

searchstring | nullquery

Search surveys by name or description

tag_idstring | nullquery

Filter surveys by tag

workspace_idstring | nullquery

Filter surveys by workspace

updated_afterstring | nullquery

Only surveys updated after this timezone-aware instant

filter_user_idstring | nullquery

Filter by user ID (forced form_access check for internal callers like sync-service)

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
workspace_idstring | null
Show child attributes
Any of
string<uuid>
null
project_idstring<uuid>required
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_anonymousbooleanrequired
allow_multiple_responsesbooleanrequired
survey_codeinteger | null
Show child attributes
Any of
integer
null
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
closed_atstring | null
Show child attributes
Any of
string<date-time>
null
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledbooleanfalse
is_openbooleanfalse
schemaSurveyService_SurveySchemaResponse | null
Show child attributes
Any of

Response model for survey schema

settingsobjectrequired
choicesArray<object>
Show child attributes

Response model for question (mirrors SurveyQuestionSchema)

typestringrequired
namestringrequired
labelstringrequired
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraint_message_translationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | Array<object> | null
Show child attributes
Any of
string
Array<object>
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionResponse> | null
Show child attributes
Any of
null
limitobject | null
Show child attributes
Any of
object
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
calendar_configobject | null
Show child attributes
Any of
object
null
calendar_rulesArray<object> | null
Show child attributes
Any of
Array<object>
null
columnsArray<object> | null
Show child attributes
Any of
Array<object>
null
Show child attributes

Response model for lookup data

lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null
null
project_statusstring | null
Show child attributes
Any of
string
null
project_has_production_activityboolean | null
Show child attributes
Any of
boolean
null
project_production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
totalintegerrequired
limitintegerrequired
skipintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Create Survey

POST
http://localhost:8001/api/v1/surveys

Create a new survey.

Requires project_id which must be verified against workspace-service. Enforces survey.max_surveys limit via plan-enforcement-sdk.

Body

application/json
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
workspace_idstring | null
Show child attributes
Any of
string<uuid>
null
project_idstring<uuid>required
is_anonymousbooleanfalse
allow_multiple_responsesbooleanfalse
schemaSurveyService_SurveySchema | null
Show child attributes
Any of

Complete XLSForm-compatible survey schema. Stored in JSONB column in survey_versions table. Includes support for custom lookups worksheet for cascading selects.

Note: 'title', 'version', 'description' and 'id' fields are accepted for backwards compatibility with frontend schema transformations but are not required for storage (they're derived from the survey/version metadata).

Survey-level settings (XLSForm settings sheet)

Show child attributes
form_titlestringrequired
form_idstring | null
Show child attributes
Any of
string
null
versionstring | null
Show child attributes
Any of
string
null
defaultLanguagestring | nullen
Show child attributes
Any of
string
null
languagesArray<string> | null
Show child attributes
Any of
Array<string>
null
availableLanguagesArray<string> | null
Show child attributes
Any of
Array<string>
null
instanceNamestring | null
Show child attributes
Any of
string
null
submissionUrlstring | null
Show child attributes
Any of
string
null
Show child attributes

Choice list item (XLSForm choices sheet)

list_namestringrequired
namestringrequired
labelstringrequired
labelTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
media_filestring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
Show child attributes

XLSForm-compatible question schema. Supports all 22 question types with recursive nesting for groups/repeats.

typeSurveyService_SurveyQuestionTypetextintegerdecimalrangeselect_oneselect_multiplerankdatetimedatetimegeopointgeotracegeoshapeimageaudiovideofilebarcodesignaturecalculatenotehiddenacknowledgetriggerurlphonestartendtodaydeviceidphonenumberusernameemailsimserialsubscriberidauditxml-externalcsv-externalbegin_groupend_groupbegin_repeatend_repeatcalendar_gridrequired

Complete XLSForm-compatible question types (KoboToolbox standard). Reference: https://xlsform.org/en/#question-types

namestringrequired
labelstring
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
labelTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
hintTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraintMessageTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | null
Show child attributes
Any of
string
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionSchema> | null
Show child attributes
Any of
null
calendar_configSurveyService_CalendarConfigSchema | null
Show child attributes
Any of

Configuration for calendar_grid question type

modestringmonthly
months_backinteger[1, 120]12
start_fromstringtoday
allow_futurebooleanfalse
null
calendar_rulesArray<SurveyService_CalendarRuleSchema> | null

Auto-prefill rules for calendar columns

Show child attributes
Any of
Show child attributes

Rule for auto-prefilling calendar column values

idstring | null

Unique rule ID

Show child attributes
Any of
string
null
trigger_questionstringrequired

Question name that triggers this rule

target_columnstringrequired

Calendar column key to fill

value_sourcestringconstant

Where to get the value: constant, lookup, or xpath expression

source_valuestring | null

Constant value to fill (for constant source)

Show child attributes
Any of
string
null
backfill_monthsinteger | null1

How many months to backfill from anchor

Show child attributes
Any of
integer[1, 120]
null
backfill_anchorstring | SurveyService_BackfillAnchorSchema | nullcurrent_month

Anchor for backfill: 'current_month', or anchor config object

Show child attributes
Any of
string

Anchor configuration for timeline-aware backfill

typestringrequired

Anchor type

questionstring | null

Question name (for from_answer_month type)

Show child attributes
Any of
Max depth reached
Max depth reached
rule_idstring | null

Rule ID to anchor to (for before_rule/after_rule types)

Show child attributes
Any of
Max depth reached
Max depth reached
null
map_valuesobject | null

Map trigger values to calendar values (e.g., {'yes': 'Y', 'no': 'N'})

Show child attributes
Any of
[key: string]string
null
xpath_expressionstring | null

XPath expression to calculate value (for xpath source)

Show child attributes
Any of
string
null
enabledbooleantrue

Whether rule is active

conditionsArray<object> | null

Conditions for when the rule applies (Visual Rule Builder)

Show child attributes
Any of
Array<object>
null
months_scopeobject | null

Months scope configuration for the rule

Show child attributes
Any of
object
null
null
columnsArray<SurveyService_CalendarColumnSchema> | null
Show child attributes
Any of
Show child attributes

Column definition for calendar_grid question type

keystringrequired
typestringselect_one
labelstring
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
choicesArray<object> | null

Choices for select_one type - name must be exactly 1 character

Show child attributes
Any of
Array<object>
null
relevantstring | null
Show child attributes
Any of
string
null
null
limitSurveyService_LimitSchema | null
Show child attributes
Any of

Limit configuration for text/number fields. For text: min/max character count For integer/decimal: min/max value

mininteger | null
Show child attributes
Any of
integer
null
maxinteger | null
Show child attributes
Any of
integer
null
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
mediaAudiostring | null
Show child attributes
Any of
string
null
mediaAudioSchemaobject | null
Show child attributes
Any of
[key: string]string
null
mediaAudioUrlstring | null
Show child attributes
Any of
string
null
mediaAudioAssetIdstring | null
Show child attributes
Any of
string
null
mediaAudioUrlSchemaobject | null
Show child attributes
Any of
[key: string]string
null
mediaAudioAssetIdSchemaobject | null
Show child attributes
Any of
[key: string]string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
Show child attributes

Lookup data item (custom lookups worksheet). Used for cascading selects and external data lookups.

Example:

  • lookup_name: "countries" or "states"
  • key: "us" or "ny"
  • value: "United States" or "New York"
  • parent_key: None for countries, "us" for states (cascading)
  • extra_data: {"code": "USA", "region": "north_america"}
lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null
null
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledbooleanfalse

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
workspace_idstring | null
Show child attributes
Any of
string<uuid>
null
project_idstring<uuid>required
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_anonymousbooleanrequired
allow_multiple_responsesbooleanrequired
survey_codeinteger | null
Show child attributes
Any of
integer
null
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
closed_atstring | null
Show child attributes
Any of
string<date-time>
null
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledbooleanfalse
is_openbooleanfalse
schemaSurveyService_SurveySchemaResponse | null
Show child attributes
Any of

Response model for survey schema

settingsobjectrequired
choicesArray<object>
Show child attributes

Response model for question (mirrors SurveyQuestionSchema)

typestringrequired
namestringrequired
labelstringrequired
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraint_message_translationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | Array<object> | null
Show child attributes
Any of
string
Array<object>
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionResponse> | null
Show child attributes
Any of
null
limitobject | null
Show child attributes
Any of
object
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
calendar_configobject | null
Show child attributes
Any of
object
null
calendar_rulesArray<object> | null
Show child attributes
Any of
Array<object>
null
columnsArray<object> | null
Show child attributes
Any of
Array<object>
null
Show child attributes

Response model for lookup data

lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null
null
project_statusstring | null
Show child attributes
Any of
string
null
project_has_production_activityboolean | null
Show child attributes
Any of
boolean
null
project_production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Survey

GET
http://localhost:8001/api/v1/surveys/{survey_id}

Get a specific survey by ID.

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
workspace_idstring | null
Show child attributes
Any of
string<uuid>
null
project_idstring<uuid>required
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_anonymousbooleanrequired
allow_multiple_responsesbooleanrequired
survey_codeinteger | null
Show child attributes
Any of
integer
null
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
closed_atstring | null
Show child attributes
Any of
string<date-time>
null
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledbooleanfalse
is_openbooleanfalse
schemaSurveyService_SurveySchemaResponse | null
Show child attributes
Any of

Response model for survey schema

settingsobjectrequired
choicesArray<object>
Show child attributes

Response model for question (mirrors SurveyQuestionSchema)

typestringrequired
namestringrequired
labelstringrequired
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraint_message_translationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | Array<object> | null
Show child attributes
Any of
string
Array<object>
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionResponse> | null
Show child attributes
Any of
null
limitobject | null
Show child attributes
Any of
object
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
calendar_configobject | null
Show child attributes
Any of
object
null
calendar_rulesArray<object> | null
Show child attributes
Any of
Array<object>
null
columnsArray<object> | null
Show child attributes
Any of
Array<object>
null
Show child attributes

Response model for lookup data

lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null
null
project_statusstring | null
Show child attributes
Any of
string
null
project_has_production_activityboolean | null
Show child attributes
Any of
boolean
null
project_production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Survey

PUT
http://localhost:8001/api/v1/surveys/{survey_id}

Update survey metadata (not the schema).

Body

application/json
namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
is_anonymousboolean | null
Show child attributes
Any of
boolean
null
allow_multiple_responsesboolean | null
Show child attributes
Any of
boolean
null
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledboolean | null
Show child attributes
Any of
boolean
null

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
workspace_idstring | null
Show child attributes
Any of
string<uuid>
null
project_idstring<uuid>required
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_anonymousbooleanrequired
allow_multiple_responsesbooleanrequired
survey_codeinteger | null
Show child attributes
Any of
integer
null
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
closed_atstring | null
Show child attributes
Any of
string<date-time>
null
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledbooleanfalse
is_openbooleanfalse
schemaSurveyService_SurveySchemaResponse | null
Show child attributes
Any of

Response model for survey schema

settingsobjectrequired
choicesArray<object>
Show child attributes

Response model for question (mirrors SurveyQuestionSchema)

typestringrequired
namestringrequired
labelstringrequired
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraint_message_translationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | Array<object> | null
Show child attributes
Any of
string
Array<object>
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionResponse> | null
Show child attributes
Any of
null
limitobject | null
Show child attributes
Any of
object
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
calendar_configobject | null
Show child attributes
Any of
object
null
calendar_rulesArray<object> | null
Show child attributes
Any of
Array<object>
null
columnsArray<object> | null
Show child attributes
Any of
Array<object>
null
Show child attributes

Response model for lookup data

lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null
null
project_statusstring | null
Show child attributes
Any of
string
null
project_has_production_activityboolean | null
Show child attributes
Any of
boolean
null
project_production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Delete Survey

DELETE
http://localhost:8001/api/v1/surveys/{survey_id}

Soft delete a survey (sets status to DELETED).

Parameters

survey_idstring<uuid>requiredpath

Response

202Acceptedany

Successful Response

Response fields application/json
any
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Survey Status

PATCH
http://localhost:8001/api/v1/surveys/{survey_id}/status

Update survey status (DRAFT, PUBLISHED, ARCHIVED).

Body

application/json
statusSurveyService_SurveyStatusdraftpublishedarchivedrequired

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
workspace_idstring | null
Show child attributes
Any of
string<uuid>
null
project_idstring<uuid>required
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_anonymousbooleanrequired
allow_multiple_responsesbooleanrequired
survey_codeinteger | null
Show child attributes
Any of
integer
null
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
closed_atstring | null
Show child attributes
Any of
string<date-time>
null
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledbooleanfalse
is_openbooleanfalse
schemaSurveyService_SurveySchemaResponse | null
Show child attributes
Any of

Response model for survey schema

settingsobjectrequired
choicesArray<object>
Show child attributes

Response model for question (mirrors SurveyQuestionSchema)

typestringrequired
namestringrequired
labelstringrequired
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraint_message_translationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | Array<object> | null
Show child attributes
Any of
string
Array<object>
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionResponse> | null
Show child attributes
Any of
null
limitobject | null
Show child attributes
Any of
object
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
calendar_configobject | null
Show child attributes
Any of
object
null
calendar_rulesArray<object> | null
Show child attributes
Any of
Array<object>
null
columnsArray<object> | null
Show child attributes
Any of
Array<object>
null
Show child attributes

Response model for lookup data

lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null
null
project_statusstring | null
Show child attributes
Any of
string
null
project_has_production_activityboolean | null
Show child attributes
Any of
boolean
null
project_production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Duplicate Survey

POST
http://localhost:8001/api/v1/surveys/{survey_id}/duplicate

Duplicate an existing survey including schema, settings, and lookups.

  • Creates a new survey with copied data (schema, settings, choices, lookups)
  • Resets status to DRAFT for duplicated survey
  • Generates new survey_code and RID counter
  • Optionally copies form access rules if copy_access_settings=True
  • Does NOT copy version history (starts fresh)

Parameters

survey_idstring<uuid>requiredpath
new_namestring | nullquery
copy_access_settingsbooleanfalsequery

Response

201Createdany

Successful Response

Response fields application/json
any
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Survey Schedule

PUT
http://localhost:8001/api/v1/surveys/{survey_id}/schedule

Update survey open/close schedule.

Body

application/json
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledbooleantrue

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
workspace_idstring | null
Show child attributes
Any of
string<uuid>
null
project_idstring<uuid>required
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_anonymousbooleanrequired
allow_multiple_responsesbooleanrequired
survey_codeinteger | null
Show child attributes
Any of
integer
null
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
closed_atstring | null
Show child attributes
Any of
string<date-time>
null
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledbooleanfalse
is_openbooleanfalse
schemaSurveyService_SurveySchemaResponse | null
Show child attributes
Any of

Response model for survey schema

settingsobjectrequired
choicesArray<object>
Show child attributes

Response model for question (mirrors SurveyQuestionSchema)

typestringrequired
namestringrequired
labelstringrequired
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraint_message_translationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | Array<object> | null
Show child attributes
Any of
string
Array<object>
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionResponse> | null
Show child attributes
Any of
null
limitobject | null
Show child attributes
Any of
object
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
calendar_configobject | null
Show child attributes
Any of
object
null
calendar_rulesArray<object> | null
Show child attributes
Any of
Array<object>
null
columnsArray<object> | null
Show child attributes
Any of
Array<object>
null
Show child attributes

Response model for lookup data

lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null
null
project_statusstring | null
Show child attributes
Any of
string
null
project_has_production_activityboolean | null
Show child attributes
Any of
boolean
null
project_production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Survey Schema

GET
http://localhost:8001/api/v1/surveys/{survey_id}/schema

Get the survey design schema (form builder data).

Enriched with media audio URLs/asset IDs (deep copy — the stored draft schema is never mutated) so the mobile fallback sync path (GET /surveys/{id}/schema) delivers human audio the same way published versions do.

Parameters

survey_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Survey Schema

PUT
http://localhost:8001/api/v1/surveys/{survey_id}/schema

Update the survey design schema (form builder data).

Body

application/json
object

Parameters

survey_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get lookup data for auto-population

GET
http://localhost:8001/api/v1/surveys/{survey_id}/lookup-data

Returns lookup data for form auto-population. Used by form-service to cache lookup data.

Parameters

survey_idstring<uuid>requiredpath
version_idstring | nullquery

Specific version ID (optional)

filter_user_idstring | nullquery

Filter lookup data for specific user's assigned triggers

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Import Xlsform

POST
http://localhost:8001/api/v1/surveys/import-xlsform

Import a survey from an XLSForm Excel file (.xlsx).

The XLSForm file should contain the following worksheets:

  • survey (required): Question definitions with columns: type, name, label, hint, required, etc.
  • choices (optional): Choice lists for select_one/select_multiple questions
  • settings (optional): Form metadata (form_title, form_id, version, etc.)
  • lookups (optional, custom): External lookup data for cascading selects

Reference: https://xlsform.org/en/

The imported survey will be created in DRAFT status with the parsed schema.

Body

multipart/form-data
filestringrequired

XLSForm Excel file (.xlsx)

namestringrequired

Survey name

descriptionstring | null

Survey description

Show child attributes
Any of
string
null
project_idstring<uuid>required

Project ID from workspace-service

workspace_idstring<uuid>required

Workspace ID for the project

is_anonymousbooleanfalse

Whether responses are anonymous

allow_multiple_responsesbooleanfalse

Allow multiple responses per user

scheduling_enabledbooleanfalse

Enable survey scheduling (auto open/close)

open_atstring | null

Scheduled open timestamp (ISO 8601)

Show child attributes
Any of
string<date-time>
null
close_atstring | null

Scheduled close timestamp (ISO 8601)

Show child attributes
Any of
string<date-time>
null

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
workspace_idstring | null
Show child attributes
Any of
string<uuid>
null
project_idstring<uuid>required
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_anonymousbooleanrequired
allow_multiple_responsesbooleanrequired
survey_codeinteger | null
Show child attributes
Any of
integer
null
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
closed_atstring | null
Show child attributes
Any of
string<date-time>
null
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledbooleanfalse
is_openbooleanfalse
schemaSurveyService_SurveySchemaResponse | null
Show child attributes
Any of

Response model for survey schema

settingsobjectrequired
choicesArray<object>
Show child attributes

Response model for question (mirrors SurveyQuestionSchema)

typestringrequired
namestringrequired
labelstringrequired
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraint_message_translationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | Array<object> | null
Show child attributes
Any of
string
Array<object>
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionResponse> | null
Show child attributes
Any of
null
limitobject | null
Show child attributes
Any of
object
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
calendar_configobject | null
Show child attributes
Any of
object
null
calendar_rulesArray<object> | null
Show child attributes
Any of
Array<object>
null
columnsArray<object> | null
Show child attributes
Any of
Array<object>
null
Show child attributes

Response model for lookup data

lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null
null
project_statusstring | null
Show child attributes
Any of
string
null
project_has_production_activityboolean | null
Show child attributes
Any of
boolean
null
project_production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Download a starter XLSForm template

GET
http://localhost:8001/api/v1/surveys/import-xlsform/download

Download a starter .xlsx XLSForm workbook that can be filled in and re-imported via POST /surveys/import-xlsform.

Response

200OKany

Successful Response

Response fields application/json
any

Validate a single expression

POST
http://localhost:8001/api/v1/surveys/expressions/validate

Validate a skip logic, constraint, or calculation expression against available fields.

Body

application/json

Request body for expression validation endpoint.

expressionstringrequired

The expression to validate (XPath format with ${field_name} references)

expression_typestringrelevant

Type of expression being validated

available_fieldsArray<string>

List of available question/field names for reference validation

Response

Successful Response

Response fields application/json

Response from expression validation endpoint.

is_validbooleanrequired
expressionstringrequired
expression_typestringrequired
Show child attributes

A single validation error for expression validation.

fieldstringrequired
messagestringrequired
codestringrequired
contextobject | null
Show child attributes
Any of
object
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

List Survey Media

GET
http://localhost:8001/api/v1/surveys/{survey_id}/media

List all media assets for a survey.

Parameters

survey_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Upload Survey Media

POST
http://localhost:8001/api/v1/surveys/{survey_id}/media

Upload media assets (images, videos, audio) for survey questions.

The uploaded file must be a ZIP containing media files referenced in the survey schema's media_file field.

Media files are extracted and uploaded to the tenant's media library via the media-service.

Returns list of uploaded files and any missing files referenced in schema.

Body

multipart/form-data
filestringrequired

ZIP file containing media assets

Parameters

survey_idstring<uuid>requiredpath

Response

201Createdany

Successful Response

Response fields application/json
any
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Survey Service / Survey Versioning

Survey Versioning — Survey Service

List Versions

GET
http://localhost:8001/api/v1/surveys/{survey_id}/versions

List all versions of a survey.

Parameters

survey_idstring<uuid>requiredpath

Response

200OKArray<any>

Successful Response

Response fields application/json
Array<any>
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Create New Version

POST
http://localhost:8001/api/v1/surveys/{survey_id}/versions

Create a new draft version of a survey.

  • Clones schema from previous published version (if exists)
  • Increments version number using semantic versioning (Major.Minor.Patch)
  • Creates in DRAFT status only
  • Sets is_immutable=False

Body

application/json
Any of

DTO for creating a new survey version

survey_idstring | null
Show child attributes
Any of
string<uuid>
null
schemaSurveyService_SurveySchema | null
Show child attributes
Any of

Complete XLSForm-compatible survey schema. Stored in JSONB column in survey_versions table. Includes support for custom lookups worksheet for cascading selects.

Note: 'title', 'version', 'description' and 'id' fields are accepted for backwards compatibility with frontend schema transformations but are not required for storage (they're derived from the survey/version metadata).

Survey-level settings (XLSForm settings sheet)

Show child attributes
form_titlestringrequired
form_idstring | null
Show child attributes
Any of
string
null
versionstring | null
Show child attributes
Any of
string
null
defaultLanguagestring | nullen
Show child attributes
Any of
string
null
languagesArray<string> | null
Show child attributes
Any of
Array<string>
null
availableLanguagesArray<string> | null
Show child attributes
Any of
Array<string>
null
instanceNamestring | null
Show child attributes
Any of
string
null
submissionUrlstring | null
Show child attributes
Any of
string
null
Show child attributes

Choice list item (XLSForm choices sheet)

list_namestringrequired
namestringrequired
labelstringrequired
labelTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
media_filestring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
Show child attributes

XLSForm-compatible question schema. Supports all 22 question types with recursive nesting for groups/repeats.

typeSurveyService_SurveyQuestionTypetextintegerdecimalrangeselect_oneselect_multiplerankdatetimedatetimegeopointgeotracegeoshapeimageaudiovideofilebarcodesignaturecalculatenotehiddenacknowledgetriggerurlphonestartendtodaydeviceidphonenumberusernameemailsimserialsubscriberidauditxml-externalcsv-externalbegin_groupend_groupbegin_repeatend_repeatcalendar_gridrequired

Complete XLSForm-compatible question types (KoboToolbox standard). Reference: https://xlsform.org/en/#question-types

namestringrequired
labelstring
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
labelTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
hintTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraintMessageTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | null
Show child attributes
Any of
string
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionSchema> | null
Show child attributes
Any of
null
calendar_configSurveyService_CalendarConfigSchema | null
Show child attributes
Any of

Configuration for calendar_grid question type

modestringmonthly
months_backinteger[1, 120]12
start_fromstringtoday
allow_futurebooleanfalse
null
calendar_rulesArray<SurveyService_CalendarRuleSchema> | null

Auto-prefill rules for calendar columns

Show child attributes
Any of
Show child attributes

Rule for auto-prefilling calendar column values

idstring | null

Unique rule ID

Show child attributes
Any of
string
null
trigger_questionstringrequired

Question name that triggers this rule

target_columnstringrequired

Calendar column key to fill

value_sourcestringconstant

Where to get the value: constant, lookup, or xpath expression

source_valuestring | null

Constant value to fill (for constant source)

Show child attributes
Any of
string
null
backfill_monthsinteger | null1

How many months to backfill from anchor

Show child attributes
Any of
integer[1, 120]
null
backfill_anchorstring | SurveyService_BackfillAnchorSchema | nullcurrent_month

Anchor for backfill: 'current_month', or anchor config object

Show child attributes
Any of
string

Anchor configuration for timeline-aware backfill

typestringrequired

Anchor type

questionstring | null

Question name (for from_answer_month type)

Show child attributes
Max depth reached
rule_idstring | null

Rule ID to anchor to (for before_rule/after_rule types)

Show child attributes
Max depth reached
null
map_valuesobject | null

Map trigger values to calendar values (e.g., {'yes': 'Y', 'no': 'N'})

Show child attributes
Any of
[key: string]string
null
xpath_expressionstring | null

XPath expression to calculate value (for xpath source)

Show child attributes
Any of
string
null
enabledbooleantrue

Whether rule is active

conditionsArray<object> | null

Conditions for when the rule applies (Visual Rule Builder)

Show child attributes
Any of
Array<object>
null
months_scopeobject | null

Months scope configuration for the rule

Show child attributes
Any of
object
null
null
columnsArray<SurveyService_CalendarColumnSchema> | null
Show child attributes
Any of
Show child attributes

Column definition for calendar_grid question type

keystringrequired
typestringselect_one
labelstring
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
choicesArray<object> | null

Choices for select_one type - name must be exactly 1 character

Show child attributes
Any of
Array<object>
null
relevantstring | null
Show child attributes
Any of
string
null
null
limitSurveyService_LimitSchema | null
Show child attributes
Any of

Limit configuration for text/number fields. For text: min/max character count For integer/decimal: min/max value

mininteger | null
Show child attributes
Any of
integer
null
maxinteger | null
Show child attributes
Any of
integer
null
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
mediaAudiostring | null
Show child attributes
Any of
string
null
mediaAudioSchemaobject | null
Show child attributes
Any of
[key: string]string
null
mediaAudioUrlstring | null
Show child attributes
Any of
string
null
mediaAudioAssetIdstring | null
Show child attributes
Any of
string
null
mediaAudioUrlSchemaobject | null
Show child attributes
Any of
[key: string]string
null
mediaAudioAssetIdSchemaobject | null
Show child attributes
Any of
[key: string]string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
Show child attributes

Lookup data item (custom lookups worksheet). Used for cascading selects and external data lookups.

Example:

  • lookup_name: "countries" or "states"
  • key: "us" or "ny"
  • value: "United States" or "New York"
  • parent_key: None for countries, "us" for states (cascading)
  • extra_data: {"code": "USA", "region": "north_america"}
lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null
null
versionstring | null
Show child attributes
Any of
string
null
increment_typestring | nullpatch
Show child attributes
Any of
string
null
null

Parameters

survey_idstring<uuid>requiredpath

Response

201Createdobject

Successful Response

Response fields application/json
object
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Version

GET
http://localhost:8001/api/v1/surveys/{survey_id}/versions/{version_id}

Get a specific version of a survey.

Parameters

survey_idstring<uuid>requiredpath
version_idstring<uuid>requiredpath

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Version Schema

PUT
http://localhost:8001/api/v1/surveys/{survey_id}/versions/{version_id}

Update schema for a draft version.

  • Only allowed for DRAFT versions
  • Version must be immutable=False

Accepts schema in two formats:

  1. Direct format: { settings, choices, questions, ... }
  2. Wrapped format: { schema: { settings, choices, questions, ... } }

Body

application/json

DTO for updating a draft survey version (cannot update published).

Accepts schema in two formats:

  1. Direct format: { settings, choices, questions, ... }
  2. Wrapped format: { schema: { settings, choices, questions, ... } }

The 'schema' field (when present) may include additional metadata like 'title' and 'version' which are stripped during parsing.

schemaobject | null
Show child attributes
Any of
object
null
settingsany | null
Show child attributes
Any of
any
null
choicesany | null
Show child attributes
Any of
any
null
questionsany | null
Show child attributes
Any of
any
null
lookupsany | null
Show child attributes
Any of
any
null
lookup_dataany | null
Show child attributes
Any of
any
null

Parameters

survey_idstring<uuid>requiredpath
version_idstring<uuid>requiredpath

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Discard Version

DELETE
http://localhost:8001/api/v1/surveys/{survey_id}/versions/{version_id}

Discard a draft version.

  • Only allowed for DRAFT versions
  • Published versions cannot be deleted (for audit trail)

Parameters

survey_idstring<uuid>requiredpath
version_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Clone Version To New Draft

POST
http://localhost:8001/api/v1/surveys/{survey_id}/versions/{version_id}/clone

Clone an existing version to a new draft.

  • Creates a new version with incremented number using semantic versioning
  • Copies schema from source version
  • New version is in DRAFT status

Parameters

survey_idstring<uuid>requiredpath
version_idstring<uuid>requiredpath
increment_typestring | nullpatchquery

major, minor, patch

Response

201Createdobject

Successful Response

Response fields application/json
object
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Latest Version

GET
http://localhost:8001/api/v1/surveys/{survey_id}/versions/latest

Get the latest version of a survey.

Returns the most recently created version (highest version number). Used by other services (form-service, data-service) to fetch current schema.

Parameters

survey_idstring<uuid>requiredpath

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Fetch the content-addressed schema artifact for a version

GET
http://localhost:8001/api/v1/surveys/{survey_id}/versions/{version_id}/schema-artifact

Returns the governing schema artifact for a survey version: canonical_schema is the exact string whose UTF-8 bytes hash to schema_sha256. Unlike the render endpoints this performs no media-audio enrichment, so the served bytes and the declared digest always agree. A client verifies by hashing canonical_schema and comparing to schema_sha256; it must not re-serialize a parsed copy.

Parameters

survey_idstring<uuid>requiredpath
version_idstring<uuid>requiredpath

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Export survey version as XLSForm

GET
http://localhost:8001/api/v1/surveys/{survey_id}/versions/{version_id}/export-xlsform

Download a survey version as an XLSForm .xlsx file with optional language selection.

Parameters

survey_idstring<uuid>requiredpath
version_idstring<uuid>requiredpath
survey_namestring | nullquery

Override filename prefix

languagesstring | nullquery

Comma-separated list of language codes to export (e.g., 'en,es,fr'). If not specified, exports all available languages from the schema.

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Survey Service / Survey Publishing

Survey Publishing — Survey Service

Publish Check

GET
http://localhost:8001/api/v1/surveys/{survey_id}/publish-check

Check whether publishing a new version of this survey is safe.

Returns warnings if the survey has active data collection in progress. This is a pre-publish check — it does NOT block publishing, only warns.

Parameters

survey_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Publish Survey

POST
http://localhost:8001/api/v1/surveys/{survey_id}/publish

Publish a survey.

  • Optional version_id query param to publish a specific version (e.g. republish an old one).
  • When omitted, the latest version is used.
  • Validates schema using validation engine (first-time publishes only).
  • Marks version as immutable and sets published_at timestamp.
  • Updates survey status to PUBLISHED.

Parameters

survey_idstring<uuid>requiredpath
version_idstring | nullquery

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
workspace_idstring | null
Show child attributes
Any of
string<uuid>
null
project_idstring<uuid>required
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_anonymousbooleanrequired
allow_multiple_responsesbooleanrequired
survey_codeinteger | null
Show child attributes
Any of
integer
null
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
closed_atstring | null
Show child attributes
Any of
string<date-time>
null
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledbooleanfalse
is_openbooleanfalse
schemaSurveyService_SurveySchemaResponse | null
Show child attributes
Any of

Response model for survey schema

settingsobjectrequired
choicesArray<object>
Show child attributes

Response model for question (mirrors SurveyQuestionSchema)

typestringrequired
namestringrequired
labelstringrequired
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraint_message_translationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | Array<object> | null
Show child attributes
Any of
string
Array<object>
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionResponse> | null
Show child attributes
Any of
null
limitobject | null
Show child attributes
Any of
object
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
calendar_configobject | null
Show child attributes
Any of
object
null
calendar_rulesArray<object> | null
Show child attributes
Any of
Array<object>
null
columnsArray<object> | null
Show child attributes
Any of
Array<object>
null
Show child attributes

Response model for lookup data

lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null
null
project_statusstring | null
Show child attributes
Any of
string
null
project_has_production_activityboolean | null
Show child attributes
Any of
boolean
null
project_production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Unpublish Survey

POST
http://localhost:8001/api/v1/surveys/{survey_id}/unpublish

Unpublish a survey (set back to draft).

  • Only allows unpublishing if survey is published
  • Does NOT modify version (remains immutable for audit)
  • Sets survey status back to DRAFT

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
workspace_idstring | null
Show child attributes
Any of
string<uuid>
null
project_idstring<uuid>required
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_anonymousbooleanrequired
allow_multiple_responsesbooleanrequired
survey_codeinteger | null
Show child attributes
Any of
integer
null
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
closed_atstring | null
Show child attributes
Any of
string<date-time>
null
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledbooleanfalse
is_openbooleanfalse
schemaSurveyService_SurveySchemaResponse | null
Show child attributes
Any of

Response model for survey schema

settingsobjectrequired
choicesArray<object>
Show child attributes

Response model for question (mirrors SurveyQuestionSchema)

typestringrequired
namestringrequired
labelstringrequired
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraint_message_translationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | Array<object> | null
Show child attributes
Any of
string
Array<object>
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionResponse> | null
Show child attributes
Any of
null
limitobject | null
Show child attributes
Any of
object
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
calendar_configobject | null
Show child attributes
Any of
object
null
calendar_rulesArray<object> | null
Show child attributes
Any of
Array<object>
null
columnsArray<object> | null
Show child attributes
Any of
Array<object>
null
Show child attributes

Response model for lookup data

lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null
null
project_statusstring | null
Show child attributes
Any of
string
null
project_has_production_activityboolean | null
Show child attributes
Any of
boolean
null
project_production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Archive Survey

POST
http://localhost:8001/api/v1/surveys/{survey_id}/archive

Archive a survey permanently.

  • Archived surveys cannot be unarchived or reactivated
  • Form filling is blocked for archived surveys
  • Data viewing and analytics remain functional
  • Duplication is still allowed (creates a new DRAFT survey)

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
workspace_idstring | null
Show child attributes
Any of
string<uuid>
null
project_idstring<uuid>required
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_anonymousbooleanrequired
allow_multiple_responsesbooleanrequired
survey_codeinteger | null
Show child attributes
Any of
integer
null
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
closed_atstring | null
Show child attributes
Any of
string<date-time>
null
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledbooleanfalse
is_openbooleanfalse
schemaSurveyService_SurveySchemaResponse | null
Show child attributes
Any of

Response model for survey schema

settingsobjectrequired
choicesArray<object>
Show child attributes

Response model for question (mirrors SurveyQuestionSchema)

typestringrequired
namestringrequired
labelstringrequired
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraint_message_translationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | Array<object> | null
Show child attributes
Any of
string
Array<object>
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionResponse> | null
Show child attributes
Any of
null
limitobject | null
Show child attributes
Any of
object
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
calendar_configobject | null
Show child attributes
Any of
object
null
calendar_rulesArray<object> | null
Show child attributes
Any of
Array<object>
null
columnsArray<object> | null
Show child attributes
Any of
Array<object>
null
Show child attributes

Response model for lookup data

lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null
null
project_statusstring | null
Show child attributes
Any of
string
null
project_has_production_activityboolean | null
Show child attributes
Any of
boolean
null
project_production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Published Version

GET
http://localhost:8001/api/v1/surveys/{survey_id}/published

Get the currently published version of a survey.

Parameters

survey_idstring<uuid>requiredpath

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

List Published Versions

GET
http://localhost:8001/api/v1/surveys/{survey_id}/versions/published

List all published versions of a survey (for audit trail).

Parameters

survey_idstring<uuid>requiredpath

Response

200OKArray<any>

Successful Response

Response fields application/json
Array<any>
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Archive Version

POST
http://localhost:8001/api/v1/surveys/{survey_id}/versions/{version_id}/archive

Archive a published version.

  • Only published versions can be archived
  • Archived versions remain immutable for audit trail

Parameters

survey_idstring<uuid>requiredpath
version_idstring<uuid>requiredpath

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Survey Version

GET
http://localhost:8001/api/v1/surveys/{survey_id}/version/{version_id}

Get a specific version of a survey by ID.

Parameters

survey_idstring<uuid>requiredpath
version_idstring<uuid>requiredpath

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Survey Service / Form Access

Form Access — Survey Service

List Form Access

GET
http://localhost:8001/api/v1/surveys/{survey_id}/access

List all users who have access to a specific survey form.

Requires survey:grant_access or survey:manage permission.

Parameters

survey_idstring<uuid>requiredpath
skipinteger>= 00query
limitinteger[1, 100]20query
searchstring | nullquery

Search by user name or email

include_revokedbooleanfalsequery

Include soft-deleted tombstone assignments

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
survey_idstring<uuid>required
user_idstring<uuid>required
granted_bystring<uuid>required
access_levelstringrequired
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
revoked_atstring | null
Show child attributes
Any of
string<date-time>
null
revoked_bystring | null
Show child attributes
Any of
string<uuid>
null
revocation_reasonstring | null
Show child attributes
Any of
string
null
user_emailstring | null
Show child attributes
Any of
string
null
user_first_namestring | null
Show child attributes
Any of
string
null
user_last_namestring | null
Show child attributes
Any of
string
null
user_codestring | null
Show child attributes
Any of
string
null
user_rolestring | null
Show child attributes
Any of
string
null
assigned_triggersArray<SurveyService_LookupTriggerAssignment> | null
Show child attributes
Any of
Show child attributes

A single trigger value assignment for an enumerator.

trigger_questionstringrequired

Name of the trigger question, e.g., 's_state'

trigger_valuestringrequired

Value of the trigger, e.g., 'rajasthan'

null
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Grant Form Access

POST
http://localhost:8001/api/v1/surveys/{survey_id}/access

Grant a user access to fill a specific survey form.

Requires survey:grant_access or survey:manage permission.

Body

application/json
user_idstring<uuid>required
access_levelSurveyService_FormAccessLevelfillview_onlyapproverfill
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
assigned_triggersArray<SurveyService_LookupTriggerAssignment> | null
Show child attributes
Any of
Show child attributes

A single trigger value assignment for an enumerator.

trigger_questionstringrequired

Name of the trigger question, e.g., 's_state'

trigger_valuestringrequired

Value of the trigger, e.g., 'rajasthan'

null

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
survey_idstring<uuid>required
user_idstring<uuid>required
granted_bystring<uuid>required
access_levelstringrequired
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
revoked_atstring | null
Show child attributes
Any of
string<date-time>
null
revoked_bystring | null
Show child attributes
Any of
string<uuid>
null
revocation_reasonstring | null
Show child attributes
Any of
string
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Bulk Grant Form Access

POST
http://localhost:8001/api/v1/surveys/{survey_id}/access/bulk

Grant multiple users access to fill a specific survey form.

Requires survey:grant_access or survey:manage permission.

Body

application/json
user_idsArray<string>required
access_levelSurveyService_FormAccessLevelfillview_onlyapproverfill
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
assigned_triggersArray<SurveyService_LookupTriggerAssignment> | null
Show child attributes
Any of
Show child attributes

A single trigger value assignment for an enumerator.

trigger_questionstringrequired

Name of the trigger question, e.g., 's_state'

trigger_valuestringrequired

Value of the trigger, e.g., 'rajasthan'

null

Parameters

survey_idstring<uuid>requiredpath

Response

201Createdany

Successful Response

Response fields application/json
any
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

List User Form Access

GET
http://localhost:8001/api/v1/surveys/users/{user_id}/access

List all surveys a specific user currently has access to within the authenticated tenant.

This is the admin-facing counterpart to /surveys/access/my: instead of resolving the requesting user, it resolves an arbitrary tenant member.

  • tenant_id is always derived from the authenticated request; it is never accepted from the client, so cross-tenant assignments are never exposed.
  • The target user must be a member of the current tenant (same check used by grant_form_access). A non-member is rejected with 403 before any assignment data is read.

Requires survey:manage_access, survey:grant_access, or survey:manage.

Parameters

user_idstring<uuid>requiredpath
skipinteger>= 00query
limitinteger[1, 100]20query

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
statusstringrequired
survey_codeinteger | null
Show child attributes
Any of
integer
null
versionstring | null
Show child attributes
Any of
string
null
access_levelstringrequired
can_fillbooleanrequired
can_viewbooleanrequired
can_approvebooleanfalse
created_atstring<date-time>required
updated_atstring | null
Show child attributes
Any of
string<date-time>
null
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Revoke Form Access

DELETE
http://localhost:8001/api/v1/surveys/{survey_id}/access/{target_user_id}

Revoke a user's access to a specific survey form as an auditable soft-delete tombstone (R17).

Requires survey:grant_access or survey:manage permission.

Body

application/json
Any of
reasonstring | null

Auditable reason for revocation

Show child attributes
Any of
string
null
null

Parameters

survey_idstring<uuid>requiredpath
target_user_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
messagestringrequired
user_idstring<uuid>required
survey_idstring<uuid>required
grant_idstring<uuid>required
revoked_atstring<date-time>required
revoked_bystring<uuid>required
revocation_reasonstring | null
Show child attributes
Any of
string
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Form Access

PATCH
http://localhost:8001/api/v1/surveys/{survey_id}/access/{target_user_id}

Update a user's access level or expiry for a specific survey form.

Requires survey:grant_access or survey:manage permission.

Body

application/json
access_levelSurveyService_FormAccessLevel | null
Show child attributes
Any of
SurveyService_FormAccessLevelfillview_onlyapprover
null
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
assigned_triggersArray<SurveyService_LookupTriggerAssignment> | null
Show child attributes
Any of
Show child attributes

A single trigger value assignment for an enumerator.

trigger_questionstringrequired

Name of the trigger question, e.g., 's_state'

trigger_valuestringrequired

Value of the trigger, e.g., 'rajasthan'

null

Parameters

survey_idstring<uuid>requiredpath
target_user_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
survey_idstring<uuid>required
user_idstring<uuid>required
granted_bystring<uuid>required
access_levelstringrequired
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
revoked_atstring | null
Show child attributes
Any of
string<date-time>
null
revoked_bystring | null
Show child attributes
Any of
string<uuid>
null
revocation_reasonstring | null
Show child attributes
Any of
string
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Check Form Access

GET
http://localhost:8001/api/v1/surveys/{survey_id}/access/check

Check if the current user has access to a specific survey form.

This endpoint is public and doesn't require special permissions.

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
has_accessbooleanrequired
access_levelstring | null
Show child attributes
Any of
string
null
can_fillbooleanfalse
can_viewbooleanfalse
can_approvebooleanfalse
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
is_openbooleantrue
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_blocked_reasonstring | null
Show child attributes
Any of
string
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Check Historical Form Access

GET
http://localhost:8001/api/v1/surveys/{survey_id}/access/historical

Check if a user was authorized to collect/fill a survey at a specific historical point in time (R17 & R22).

Used by data-service / sync-service to validate that offline responses collected prior to revocation are eligible for governed reconciliation.

Parameters

survey_idstring<uuid>requiredpath
user_idstring<uuid>requiredquery

User ID to check historical authorization for

at_timestring<date-time>requiredquery

ISO datetime at which access must have been valid

Response

Successful Response

Response fields application/json
has_accessbooleanrequired
grant_idstring | null
Show child attributes
Any of
string<uuid>
null
access_levelstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string<date-time>
null
revoked_atstring | null
Show child attributes
Any of
string<date-time>
null
revocation_reasonstring | null
Show child attributes
Any of
string
null
is_revokedbooleanfalse
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get My Accessible Surveys

GET
http://localhost:8001/api/v1/surveys/access/my

Get all surveys that the current user has access to.

  • When admin_access=true: Returns ALL published surveys in the tenant. The caller (mobile app) determines admin status from per-tenant role data received during login, and passes this flag accordingly.
  • When admin_access=false (default): Returns ONLY surveys explicitly assigned via form_access that are PUBLISHED, in an ACTIVE project, and carry the write-to-fill capability (can_fill). Read-only/approve-only grants and unpublished surveys are never offered for collection.

Per-tenant admin status CANNOT be determined from JWT permissions alone, because multi-tenant JWTs carry the PRIMARY tenant's permissions, which may differ from the user's role in the X-Tenant-ID tenant.

Parameters

skipinteger>= 00query
limitinteger[1, 100]20query
admin_accessbooleanfalsequery

If true, return ALL published surveys (for admin users). The caller must determine admin status from per-tenant role data.

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
statusstringrequired
survey_codeinteger | null
Show child attributes
Any of
integer
null
versionstring | null
Show child attributes
Any of
string
null
access_levelstringrequired
can_fillbooleanrequired
can_viewbooleanrequired
can_approvebooleanfalse
created_atstring<date-time>required
updated_atstring | null
Show child attributes
Any of
string<date-time>
null
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Enumerators For Supervisor

GET
http://localhost:8001/api/v1/surveys/access/enumerators

Get all enumerator user IDs that were granted access by the current Field Supervisor.

This is used by data-service to filter responses that Field Supervisors can see.

Response

Successful Response

Response fields application/json
enumerator_idsArray<string>required

Survey Service / Project Lifecycle

Project Lifecycle — Survey Service

Relay Production Activity

POST
http://localhost:8001/api/v1/surveys/{survey_id}/production-activity

Mark that production collection has begun for a survey's project (internal).

Fail-closed: if the project cannot begin production activity (DRAFT or closed) or workspace-service is unreachable, this returns the workspace error and the CALLER MUST NOT proceed with the collection event.

Parameters

survey_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Issue Grant

POST
http://localhost:8001/api/v1/surveys/{survey_id}/collection-grants

Issue a durable collection grant (internal, service-auth only).

Called by sync-service (device_download on download acknowledgement) and form-service (interview_reservation at production interview creation). Grants are issued ONLY while the governing project is ACTIVE, and issuing one marks the project's monotonic production-activity invariant. The endpoint is idempotent — an existing identical binding is returned as-is, so re-acknowledgements after closure still resolve their original grant.

Body

application/json
kindstringrequired

device_download | interview_reservation

user_idstring<uuid>required
survey_version_idstring<uuid>required
device_idstring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string<uuid>
null
schema_hashstring | null
Show child attributes
Any of
string
null

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstringrequired
kindstringrequired
survey_idstringrequired
survey_version_idstringrequired
user_idstringrequired
device_idstring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
project_status_at_issuestringrequired
granted_atstring | null
Show child attributes
Any of
string
null
project_boundbooleantrue
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Validate Grant

GET
http://localhost:8001/api/v1/surveys/{survey_id}/collection-grants/validate

Authoritatively validate a submission's collection provenance (internal).

Called by data-service (response submission/edit) and media-service (media upload) when a project is no longer ACTIVE. Returns valid=true only when a matching grant was issued while the project was ACTIVE. Forged client-supplied identifiers never match (grants are server-created rows).

Parameters

survey_idstring<uuid>requiredpath
user_idstring<uuid>requiredquery
survey_version_idstring | nullquery
device_idstring | nullquery
interview_idstring | nullquery

Response

Successful Response

Response fields application/json
validbooleanrequired
project_boundbooleanrequired
grant_idstring | null
Show child attributes
Any of
string
null
kindstring | null
Show child attributes
Any of
string
null
survey_version_idstring | null
Show child attributes
Any of
string
null
granted_atstring | null
Show child attributes
Any of
string
null
project_status_at_issuestring | null
Show child attributes
Any of
string
null
late_arrival_flaggedbooleanfalse
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Mark Late Arrival

POST
http://localhost:8001/api/v1/surveys/collection-grants/{grant_id}/late-arrival

Flag a grant whose data landed after project closure (internal).

Called by data-service when it accepts a response for a non-ACTIVE project via a valid grant. The flag surfaces in supervisor review as a late-arrival warning — collection stays preserved, but is auditable.

Parameters

grant_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Survey Service / Survey Name Lookup

Survey Name Lookup — Survey Service

Get Survey Name

GET
http://localhost:8001/api/v1/surveys/internal/name/{survey_id}

Return the display name for an internal survey_id (service-auth only).

Parameters

survey_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Survey Service / Template Categories

Template Categories — Survey Service

List Template Categories

GET
http://localhost:8001/api/v1/template-categories

List all template categories for the tenant.

Parameters

skipinteger>= 00query
limitinteger[1, 100]20query
searchstring | nullquery

Search categories by name or description

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
totalintegerrequired
limitintegerrequired
skipintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Create Template Category

POST
http://localhost:8001/api/v1/template-categories

Create a new template category.

Body

application/json
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Template Category

GET
http://localhost:8001/api/v1/template-categories/{category_id}

Get a specific template category by ID.

Parameters

category_idstringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Template Category

PUT
http://localhost:8001/api/v1/template-categories/{category_id}

Update a template category.

Body

application/json
namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null

Parameters

category_idstringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Delete Template Category

DELETE
http://localhost:8001/api/v1/template-categories/{category_id}

Delete a template category.

Parameters

category_idstringrequiredpath

Response

204No Content

Successful Response

422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Survey Service / Templates

Templates — Survey Service

List Templates

GET
http://localhost:8001/api/v1/templates

List all survey templates accessible for the tenant.

Parameters

skipinteger>= 00query
limitinteger[1, 100]20query
category_idstring | nullquery

Filter templates by category

searchstring | nullquery

Search templates by name or description

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
category_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
schemaobject | null
Show child attributes
Any of
object
null
is_publicbooleanrequired
created_bystringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
categorySurveyService_TemplateCategoryResponse | null
Show child attributes
Any of
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
null
totalintegerrequired
limitintegerrequired
skipintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Create Template

POST
http://localhost:8001/api/v1/templates

Create a new survey template.

Body

application/json
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
schemaobject | null
Show child attributes
Any of
object
null
is_publicbooleanfalse
category_idstringrequired

ID of the template category

tenant_idstring | null

Tenant ID (null for global templates)

Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json
idstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
category_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
schemaobject | null
Show child attributes
Any of
object
null
is_publicbooleanrequired
created_bystringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
categorySurveyService_TemplateCategoryResponse | null
Show child attributes
Any of
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

List Templates Grouped

GET
http://localhost:8001/api/v1/templates/by-category

List all survey templates grouped by category.

Response

Successful Response

Response fields application/json
Show child attributes
Show child attributes
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
Show child attributes
idstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
category_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
schemaobject | null
Show child attributes
Any of
object
null
is_publicbooleanrequired
created_bystringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
categorySurveyService_TemplateCategoryResponse | null
Show child attributes
Any of
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
null
template_countintegerrequired

Get Template

GET
http://localhost:8001/api/v1/templates/{template_id}

Get a specific survey template by ID.

Parameters

template_idstringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
category_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
schemaobject | null
Show child attributes
Any of
object
null
is_publicbooleanrequired
created_bystringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
Show child attributes
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Template

PUT
http://localhost:8001/api/v1/templates/{template_id}

Update a survey template.

Body

application/json
namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
schemaobject | null
Show child attributes
Any of
object
null
category_idstring | null
Show child attributes
Any of
string
null
is_publicboolean | null
Show child attributes
Any of
boolean
null

Parameters

template_idstringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
category_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
schemaobject | null
Show child attributes
Any of
object
null
is_publicbooleanrequired
created_bystringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
categorySurveyService_TemplateCategoryResponse | null
Show child attributes
Any of
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
null
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Delete Template

DELETE
http://localhost:8001/api/v1/templates/{template_id}

Delete a survey template.

Parameters

template_idstringrequiredpath

Response

204No Content

Successful Response

422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Import Template From Xlsform

POST
http://localhost:8001/api/v1/templates/import-xlsform

Import a survey template from an XLSForm Excel file (.xlsx).

The XLSForm file should contain the following worksheets:

  • survey (required): Question definitions with columns: type, name, label, hint, required, etc.
  • choices (optional): Choice lists for select_one/select_multiple questions
  • settings (optional): Form metadata (form_title, form_id, version, etc.)

Reference: https://xlsform.org/en/

Parses the uploaded file into a survey schema and persists it as a reusable template in the given category. The schema can later be used to create surveys via the create-from-template flow.

Body

multipart/form-data
filestringrequired

XLSForm Excel file (.xlsx)

namestringrequired

Template name

category_idstringrequired

Template category ID

descriptionstring | null

Template description

Show child attributes
Any of
string
null
is_publicbooleanfalse

Whether the template is public

Response

Successful Response

Response fields application/json
idstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
category_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
schemaobject | null
Show child attributes
Any of
object
null
is_publicbooleanrequired
created_bystringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
categorySurveyService_TemplateCategoryResponse | null
Show child attributes
Any of
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
null
import_warningsArray<object>
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Download a starter XLSForm template

GET
http://localhost:8001/api/v1/templates/import-xlsform/download

Download a starter .xlsx XLSForm workbook that can be filled in and re-imported via POST /templates/import-xlsform.

Response

200OKany

Successful Response

Response fields application/json
any

Create Survey From Template

POST
http://localhost:8001/api/v1/templates/create-survey

Create a new survey using a template's schema.

Body

application/json
template_idstringrequired

Template ID to create survey from

namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
workspace_idstringrequired

Workspace ID for the new survey

project_idstringrequired

Project ID for the new survey

is_anonymousbooleanfalse
allow_multiple_responsesbooleanfalse
scheduling_enabledbooleanfalse
open_atstring | null

Scheduled open timestamp

Show child attributes
Any of
string<date-time>
null
close_atstring | null

Scheduled close timestamp

Show child attributes
Any of
string<date-time>
null

Response

Successful Response

Response fields application/json
survey_idstringrequired
namestringrequired
template_idstringrequired
created_atstring<date-time>required
422Unprocessable EntitySurveyService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Seed Default Templates

POST
http://localhost:8001/api/v1/templates/seed

Seed default template categories and templates if none exist.

This endpoint is idempotent - safe to call multiple times. Default categories: Census, Health, Education, Agriculture Default templates: Standard Census Form, Community Health Assessment

Response

200OKobject

Successful Response

Response fields application/json
object

Survey Service / Health

Health — Survey Service

Check Survey Schedules

POST
http://localhost:8001/api/v1/surveys/check-schedules

Manually trigger survey schedule check for the tenant.

Response

200OKany

Successful Response

Response fields application/json
any

Data Service

Response storage, editing, approvals, exports, attachments, bulk operations, sampling

Data Service / Bulk Responses

Bulk Responses — Data Service

Ingest Bulk Responses

POST
http://localhost:8002/api/v1/responses/bulk

Ingest multiple survey responses in bulk.

  • Idempotent: Same idempotency_key returns same response
  • Max batch size: 100 responses per request
  • Partial success: Failed items don't block successful ones
  • Transactional: Each response created in own transaction

Body

application/json
Show child attributes
idempotency_keystringrequired

Unique key for idempotency

survey_idstring<uuid>required

Survey ID

version_idstring | null

Survey version ID

Show child attributes
Any of
string<uuid>
null
respondent_idstring | null
Show child attributes
Any of
string
null
answersobjectrequired

Question ID to answer mapping

metadataobject | null

Additional metadata (clients send this under the 'metadata' key)

Show child attributes
Any of
object
null
submitted_atstring | null
Show child attributes
Any of
string<date-time>
null

Response

Successful Response

Response fields application/json
totalintegerrequired
successfulintegerrequired
failedintegerrequired
Show child attributes
idempotency_keystringrequired
response_idstring | null
Show child attributes
Any of
string
null
statusstringrequired
errorstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Bulk Delete Responses

POST
http://localhost:8002/api/v1/responses/bulk/delete

Bulk delete survey responses.

Supports filtering by survey_id, status, date range, or specific response_ids. Max 10,000 responses per operation. Use dry_run=True to preview the count.

Body

application/json
survey_idstring | null
Show child attributes
Any of
string<uuid>
null
statusArray<DataService_ResponseStatus> | null
Show child attributes
Any of
Array<DataService_ResponseStatus>draftsubmittedcompletedinvalidatedpending_approvalapprovedrejectedterminated
null
start_datestring | null
Show child attributes
Any of
string<date-time>
null
end_datestring | null
Show child attributes
Any of
string<date-time>
null
response_idsArray<string> | null
Show child attributes
Any of
Array<string>
null
dry_runbooleanfalse

Response

Successful Response

Response fields application/json
success_countinteger0
failure_countinteger0
skipped_countinteger0
errorsArray<object>
dry_runbooleanfalse
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Bulk Invalidate Responses

POST
http://localhost:8002/api/v1/responses/bulk/invalidate

Bulk invalidate survey responses with a reason.

Supports filtering by survey_id, status, date range, or specific response_ids. Max 10,000 responses per operation. Use dry_run=True to preview the count.

Body

application/json
survey_idstring | null
Show child attributes
Any of
string<uuid>
null
statusArray<DataService_ResponseStatus> | null
Show child attributes
Any of
Array<DataService_ResponseStatus>draftsubmittedcompletedinvalidatedpending_approvalapprovedrejectedterminated
null
start_datestring | null
Show child attributes
Any of
string<date-time>
null
end_datestring | null
Show child attributes
Any of
string<date-time>
null
response_idsArray<string> | null
Show child attributes
Any of
Array<string>
null
dry_runbooleanfalse
reasonstringrequired

Response

Successful Response

Response fields application/json
success_countinteger0
failure_countinteger0
skipped_countinteger0
errorsArray<object>
dry_runbooleanfalse
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Bulk Approve Responses

POST
http://localhost:8002/api/v1/responses/bulk/approve

Bulk approve survey responses.

Supports filtering by survey_id, status, date range, or specific response_ids. Max 10,000 responses per operation. Use dry_run=True to preview the count.

Body

application/json
survey_idstring | null
Show child attributes
Any of
string<uuid>
null
statusArray<DataService_ResponseStatus> | null
Show child attributes
Any of
Array<DataService_ResponseStatus>draftsubmittedcompletedinvalidatedpending_approvalapprovedrejectedterminated
null
start_datestring | null
Show child attributes
Any of
string<date-time>
null
end_datestring | null
Show child attributes
Any of
string<date-time>
null
response_idsArray<string> | null
Show child attributes
Any of
Array<string>
null
dry_runbooleanfalse
notesstring | null
Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json
success_countinteger0
failure_countinteger0
skipped_countinteger0
errorsArray<object>
dry_runbooleanfalse
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Bulk Update Status Responses

POST
http://localhost:8002/api/v1/responses/bulk/update-status

Bulk update status of survey responses.

Supports filtering by survey_id, status, date range, or specific response_ids. Max 10,000 responses per operation. Use dry_run=True to preview the count.

Body

application/json
survey_idstring | null
Show child attributes
Any of
string<uuid>
null
statusArray<DataService_ResponseStatus> | null
Show child attributes
Any of
Array<DataService_ResponseStatus>draftsubmittedcompletedinvalidatedpending_approvalapprovedrejectedterminated
null
start_datestring | null
Show child attributes
Any of
string<date-time>
null
end_datestring | null
Show child attributes
Any of
string<date-time>
null
response_idsArray<string> | null
Show child attributes
Any of
Array<string>
null
dry_runbooleanfalse
new_statusstringrequired

Response

Successful Response

Response fields application/json
success_countinteger0
failure_countinteger0
skipped_countinteger0
errorsArray<object>
dry_runbooleanfalse
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Data Service / Response Management

Response Management — Data Service

Search Similar

POST
http://localhost:8002/api/v1/responses/search-similar

Find similar responses by survey_id + identifier fields

Body

application/json
Any of
survey_idstringrequired

Survey ID to search for duplicates in

respondent_idstring | null

Respondent ID to match

Show child attributes
Any of
string
null
respondent_fieldsobject | null

Other respondent fields for matching

Show child attributes
Any of
object
null
gps_coordinatesobject | null

GPS coordinates for proximity match

Show child attributes
Any of
[key: string]number
null
null

Response

Successful Response

Response fields application/json

List of potential duplicates

Show child attributes
response_idstring<uuid>required

ID of the potentially duplicate response

confidencenumberrequired

Confidence score (0-1)

criteria_breakdownobjectrequired

Breakdown of scores per criterion

Show child attributes
[key: string]number
response_detailsobject | null

Additional details about the matched response

Show child attributes
Any of
object
null
totalintegerrequired

Total number of matches found

422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Duplicate Groups

GET
http://localhost:8002/api/v1/responses/duplicate-groups

List all duplicate groups (paginated, filterable)

Parameters

survey_idstring | nullquery

Filter by survey ID

statusstring | nullquery

Filter by status

skipinteger>= 00query

Number of items to skip

limitinteger[1, 100]20query

Number of items per page

Response

Successful Response

Response fields application/json

List of duplicate groups

Show child attributes
idstring<uuid>required

Duplicate group ID

primary_response_idstring<uuid>required

Primary response ID

duplicate_response_idstring<uuid>required

Duplicate response ID

survey_idstring<uuid>required

Survey ID

confidence_scorenumberrequired

Confidence score

criteria_breakdownobjectrequired

Breakdown of scores per criterion

Show child attributes
[key: string]number
statusstringrequired

Status of the duplicate group (flagged, merged, discarded, kept_both)

merged_bystring | null

User who performed the merge

Show child attributes
Any of
string<uuid>
null
merged_atstring | null

When the merge was performed

Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required

When the duplicate was detected

totalintegerrequired

Total number of duplicate groups

skipintegerrequired

Number of items skipped

limitintegerrequired

Number of items per page

has_nextbooleanrequired

Whether there are more items

has_previousbooleanrequired

Whether there are previous items

422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Merge

POST
http://localhost:8002/api/v1/responses/{response_id}/merge

Merge response into another response

Body

application/json
target_response_idstring<uuid>required

Response ID to merge into (primary)

merge_notestring | null

Note about the merge

Show child attributes
Any of
string
null
conflict_resolutionsobject | null

Resolutions for conflicting fields (field name -> response ID to keep)

Show child attributes
Any of
[key: string]string
null

Parameters

response_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
successbooleanrequired

Whether the merge was successful

primary_response_idstring<uuid>required

Primary response ID after merge

merged_response_idstring<uuid>required

Response ID that was merged

messagestringrequired

Status message

422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Group Status

POST
http://localhost:8002/api/v1/responses/duplicate-groups/{group_id}/status

Update the status of a duplicate group

Parameters

group_idstring<uuid>requiredpath
statusstringrequiredquery

New status (flagged, merged, discarded, kept_both)

Response

Successful Response

Response fields application/json
idstring<uuid>required

Duplicate group ID

primary_response_idstring<uuid>required

Primary response ID

duplicate_response_idstring<uuid>required

Duplicate response ID

survey_idstring<uuid>required

Survey ID

confidence_scorenumberrequired

Confidence score

criteria_breakdownobjectrequired

Breakdown of scores per criterion

Show child attributes
[key: string]number
statusstringrequired

Status of the duplicate group (flagged, merged, discarded, kept_both)

merged_bystring | null

User who performed the merge

Show child attributes
Any of
string<uuid>
null
merged_atstring | null

When the merge was performed

Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required

When the duplicate was detected

422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

List Responses

GET
http://localhost:8002/api/v1/responses

List survey responses with filtering and pagination.

Supports filtering by:

  • Survey ID
  • Response status
  • Respondent ID
  • Date range
  • Enumerator (submitted_by, enumerator_user_code)
  • Device (device_id, sync_batch_id)

Parameters

survey_idstring | nullquery

Filter by survey ID

statusstring | nullquery

Filter by status (draft, submitted, completed, invalidated)

respondent_idstring | nullquery

Filter by respondent ID

from_datestring | nullquery

Filter responses from date (ISO 8601)

to_datestring | nullquery

Filter responses to date (ISO 8601)

submitted_bystring | nullquery

Filter by enumerator user ID

enumerator_user_codestring | nullquery

Filter by enumerator user code

device_idstring | nullquery

Filter by device ID

sync_batch_idstring | nullquery

Filter by sync batch ID

limitinteger[1, 100]20query

Number of results per page

skipinteger>= 00query

Number of results to skip for pagination

sort_bystringcreated_atquery

Sort field

sort_orderstringdescquery

Sort order (asc/desc)

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Submit Response

POST
http://localhost:8002/api/v1/responses

Submit a survey response.

  • Checks if user has form access
  • Validates survey is published
  • Validates response against survey schema
  • Creates response and answers in transaction
  • Returns response ID and status

Body

application/json
survey_idstring<uuid>required

Survey ID

version_idstring | null

Survey version ID

Show child attributes
Any of
string<uuid>
null
idempotency_keystring | null

Unique key for submission idempotency

Show child attributes
Any of
string
null
respondent_idstring | null

Respondent identifier

Show child attributes
Any of
string
null
answersobjectrequired

Question ID to answer mapping

metadataobject | null

Additional metadata (clients send this under the 'metadata' key)

Show child attributes
Any of
object
null
ip_addressstring | null

Client IP address

Show child attributes
Any of
string
null
user_agentstring | null

Client user agent

Show child attributes
Any of
string
null
device_idstring | null

Device identifier (ODK Collect deviceID, CSPro device ID)

Show child attributes
Any of
string
null
sync_batch_idstring | null

Batch ID for grouping offline sync submissions

Show child attributes
Any of
string<uuid>
null
submission_modestring | nullcomplete

Domain-level intent: 'complete' or 'terminated_partial'

Show child attributes
Any of
string
null
duration_secondsinteger | null

Active form filling duration in seconds, excluding paused time

Show child attributes
Any of
integer[0, 2592000]
null
interview_idstring | null

Interview execution ID — links this response to its interview lifecycle

Show child attributes
Any of
string<uuid>
null
interview_ridstring | null

Response RID from interview (generated at interview creation, not at submission)

Show child attributes
Any of
string
null
collected_atstring | null

Device-reported capture time (ISO-8601). Source of truth for the schedule window on offline submissions — a response collected on-device before close_at syncs even after the survey is auto-archived server-side.

Show child attributes
Any of
string<date-time>
null
response_languagestring | null

Language code used for this submission (e.g., 'en', 'es', 'fr')

Show child attributes
Any of
string
null
is_reconciliationbooleanfalse

Flag indicating this submission is a server-authorized reconciliation of work predating revocation (R22)

reconciliation_grant_idstring | null

Historical form access grant ID authorizing this reconciliation

Show child attributes
Any of
string<uuid>
null

Response

Successful Response

Response fields application/json
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired

Validation error

Response fields application/json
errorstringrequired
validation_errorsArray<object>required
403Forbidden

Access denied

404Not Found

Survey not found

409Conflict

Duplicate response

422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get RID sequential counter

GET
http://localhost:8002/api/v1/responses/response-counters

Get the current sequential RID counter for a user + survey. Returns 0 when no RID has been generated yet. Clients increment the returned value locally to build the next RID.

Parameters

survey_idstring<uuid>requiredquery

Survey ID

user_codestringrequiredquery

Enumerator user code (6 chars)

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get latest response by respondent ID

GET
http://localhost:8002/api/v1/responses/by-respondent-id/{survey_id}

Get the latest submitted/completed response for a respondent in a survey.

Parameters

survey_idstring<uuid>requiredpath
respondent_idstringrequiredquery

Respondent identifier

Response

Successful Response

Response fields application/json
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
Show child attributes
question_idstringrequired
question_typestringrequired
valuestring | null
Show child attributes
Any of
string
null
value_jsonany | null
Show child attributes
Any of
any
null
presigned_urlstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get response by unique ID

GET
http://localhost:8002/api/v1/responses/by-unique-id/{survey_id}

Get a response matching the unique_id (uid) value for a survey.

Parameters

survey_idstring<uuid>requiredpath
unique_idstringrequiredquery

Unique identifier value from uid column

Response

Successful Response

Response fields application/json
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
Show child attributes
question_idstringrequired
question_typestringrequired
valuestring | null
Show child attributes
Any of
string
null
value_jsonany | null
Show child attributes
Any of
any
null
presigned_urlstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get enumerator statistics for a survey

GET
http://localhost:8002/api/v1/responses/enumerator-stats

Get per-enumerator submission counts, rejection rates, and quality metrics.

Parameters

survey_idstring<uuid>requiredquery

Survey ID to get stats for

user_idstring | nullquery

Filter by specific enumerator

limitinteger[1, 100]20query
offsetinteger>= 00query

Response

Successful Response

Response fields application/json
Show child attributes
user_idstringrequired
survey_idstringrequired
total_submissionsintegerrequired
total_rejectedintegerrequired
rejection_ratenumberrequired
avg_duration_secondsnumber | null
Show child attributes
Any of
number
null
duration_countinteger0
avg_quality_scorenumber | null
Show child attributes
Any of
number
null
last_submission_atstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
totalintegerrequired
skipintegerrequired
limitintegerrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

List Response Changes

GET
http://localhost:8002/api/v1/responses/changes

Durable, resumable feed of this enumerator's own response changes (E1b).

Scope is fixed to the caller's tenant and the caller as the original submitting user (submitted_by == current_user.id). It deliberately does NOT use resolve_response_scope and has no full:access bypass: even a platform admin only ever sees changes for responses they personally submitted.

Changes are logged transactionally by a DB trigger; the cursor is an xid8 watermark with a snapshot horizon so pages never overlap and never skip an in-flight transaction. No answer values are returned.

Parameters

sincestring0query

Watermark (transaction id, decimal text) from a previous page

limitinteger[1, 1000]100query

Maximum number of changes per page

Response

Successful Response

Response fields application/json
Show child attributes

A single response change. Deliberately carries no answer values.

response_idstringrequired
survey_idstring | null
Show child attributes
Any of
string
null
change_typestringrequired
changed_fieldsArray<string> | null
Show child attributes
Any of
Array<string>
null
changed_atstringrequired
next_watermarkstringrequired
has_morebooleanrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Response

GET
http://localhost:8002/api/v1/responses/{response_id}

Get a single response by ID with optional answer details.

Parameters

response_idstring<uuid>requiredpath
include_answersbooleantruequery

Include answer details

Response

Successful Response

Response fields application/json
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
Show child attributes
question_idstringrequired
question_typestringrequired
valuestring | null
Show child attributes
Any of
string
null
value_jsonany | null
Show child attributes
Any of
any
null
presigned_urlstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Response

PUT
http://localhost:8002/api/v1/responses/{response_id}

Update response metadata (only allowed for draft/submitted responses).

Cannot modify completed or invalidated responses.

Body

application/json
respondent_idstring | null
Show child attributes
Any of
string
null
metadataobject | null

Additional metadata (clients send this under the 'metadata' key)

Show child attributes
Any of
object
null
statusstring | null
Show child attributes
Any of
string
null

Parameters

response_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Delete Response

DELETE
http://localhost:8002/api/v1/responses/{response_id}

Delete a response and all its answers.

Parameters

response_idstring<uuid>requiredpath

Response

204No Content

Successful Response

422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Invalidate Response

POST
http://localhost:8002/api/v1/responses/{response_id}/invalidate

Mark a response as invalidated with optional error messages.

Body

application/json
Any of
Array<string>
null

Parameters

response_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Edit Response

PATCH
http://localhost:8002/api/v1/responses/{response_id}/edit

Edit a submitted/completed response. Maintains full audit trail.

  • Blocked for DRAFT responses (use PUT instead)
  • Blocked for INVALIDATED responses
  • Validates new answers against survey schema
  • Saves previous answers to edit history
  • Publishes response.edited event

Body

application/json
answersobjectrequired

Question ID to answer mapping

reasonstring | null

Reason for edit

Show child attributes
Any of
string
null

Parameters

response_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
successbooleanrequired
edit_idstring<uuid>required
Show child attributes
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
Show child attributes
question_idstringrequired
question_typestringrequired
valuestring | null
Show child attributes
Any of
string
null
value_jsonany | null
Show child attributes
Any of
any
null
presigned_urlstring | null
Show child attributes
Any of
string
null
changes_countintegerrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Response Edits

GET
http://localhost:8002/api/v1/responses/{response_id}/edits

Get edit history for a specific response.

Parameters

response_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
edited_atstring<date-time>required
edited_bystring<uuid>required
reasonstring | null
Show child attributes
Any of
string
null
changes_countintegerrequired
totalintegerrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Submit Response For Approval

POST
http://localhost:8002/api/v1/responses/{response_id}/submit-for-approval

Submit a response for approval.

Transitions: SUBMITTED or REJECTED → PENDING_APPROVAL Permission: RESPONSE_READ_AND_WRITE_ONLY

Parameters

response_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
successbooleanrequired
messagestringrequired
responseDataService_ResponseDTOrequired
Show child attributes
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Approve Response

POST
http://localhost:8002/api/v1/responses/{response_id}/approve

Approve a response that is pending approval.

Transitions: PENDING_APPROVAL → APPROVED Permission: RESPONSE_APPROVE

Sends approval notification to the respondent.

Body

application/json
notesstring | null

Optional approval notes

Show child attributes
Any of
string
null

Parameters

response_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
successbooleanrequired
messagestringrequired
responseDataService_ResponseDTOrequired
Show child attributes
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Reject Response

POST
http://localhost:8002/api/v1/responses/{response_id}/reject

Reject a response that is pending approval.

Transitions: PENDING_APPROVAL → REJECTED Permission: RESPONSE_APPROVE

Requires a reason for rejection. Sends rejection notification with reason to the respondent.

Body

application/json
reasonstringrequired

Required rejection reason

flagsobjectrequired

Required review flags to persist atomically with the rejection. At least one flag must have checked=true. There is no fallback to previously stored flags.

Show child attributes
Show child attributes
checkedbooleanfalse
notestring | null
Show child attributes
Any of
string
null

Parameters

response_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
successbooleanrequired
messagestringrequired
responseDataService_ResponseDTOrequired
Show child attributes
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Correct Response

POST
http://localhost:8002/api/v1/responses/{response_id}/correct

Correct a rejected response and resubmit it for approval (E1a).

Correction actor is the ORIGINAL submitting enumerator only, enforced by an unconditional submitted_by == current_user.id check that is independent of (and cannot be bypassed by) permissions such as full:access.

Only supervisor-flagged (checked: true) questions may be changed; all other answers are preserved. The whole flow runs in one transaction: ownership → Idempotency-Key requirement → advisory lock → replay lookup → status → flagged validation → schema validation → answer apply → edit history → status transition (REJECTED → PENDING_APPROVAL) → durable idempotency record. No webhook/outbox events are published in this phase.

Body

application/json

Enumerator correction of a rejected response.

answers must contain only questions the supervisor flagged as checked. Supplying answers for unflagged questions is rejected with 422. Questions omitted here are left unchanged.

answersobjectrequired

Corrected answers for flagged questions only

reasonstring | null

Reason for correction

Show child attributes
Any of
string
null

Parameters

response_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
successbooleantrue
replayedbooleanfalse
response_idstring<uuid>required
statusstringrequired
edit_idstring | null
Show child attributes
Any of
string<uuid>
null
edit_countintegerrequired
changed_questionsArray<string>required
updated_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Complete Response

POST
http://localhost:8002/api/v1/responses/{response_id}/complete

Mark a response as completed.

Transitions: DRAFT, SUBMITTED, or APPROVED → COMPLETED Permission: RESPONSE_READ_AND_WRITE_ONLY

Parameters

response_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
successbooleanrequired
messagestringrequired
responseDataService_ResponseDTOrequired
Show child attributes
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Pending Approval Count

GET
http://localhost:8002/api/v1/responses/pending-approval/count

Get count of responses pending approval for a given survey.

Permission: RESPONSE_APPROVE

Parameters

survey_idstring<uuid>requiredquery

Survey ID

Response

Successful Response

Response fields application/json
survey_idstring<uuid>required
countintegerrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Review Flags

PUT
http://localhost:8002/api/v1/responses/{response_id}/review-flags

Update review flags for a response pending approval.

Allows the reviewer to flag individual questions that need modification and add review notes. These flags are visible to the respondent when the response is rejected.

Body

application/json
flagsobject

Question ID to review flag mapping

Show child attributes
Show child attributes
checkedbooleanfalse
notestring | null
Show child attributes
Any of
string
null

Parameters

response_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get response statistics for a survey (internal)

GET
http://localhost:8002/api/v1/responses/survey-stats/{survey_id}

Return response counts grouped by status for a given survey. Used internally by survey-service for publish guardrails. Requires X-Tenant-ID header for multi-tenant routing.

Parameters

survey_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Validate a list of response IDs (removes orphans)

POST
http://localhost:8002/api/v1/responses/{survey_id}/validate-ids

Takes a list of response UUIDs and returns only those that exist and belong to the current survey/tenant. Used to identify orphaned media attachments.

Body

application/json
response_idsArray<string>required

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
valid_idsArray<string>required
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Data Service / Data Export

Data Export — Data Service

Export Responses

POST
http://localhost:8002/api/v1/export/responses

Export survey responses in CSV, Excel, or JSON format. Returns a streaming response with the exported data.

Body

application/json
survey_idstring<uuid>required

Survey ID to export

formatstringcsv

Export format: csv, xlsx, json, dta, sav

statusstring | null

Filter by response status

Show child attributes
Any of
string
null
from_datestring | null

Filter from date

Show child attributes
Any of
string<date-time>
null
to_datestring | null

Filter to date

Show child attributes
Any of
string<date-time>
null
respondent_idstring | null

Filter by respondent

Show child attributes
Any of
string
null
include_metadatabooleantrue

Include response metadata

include_answersbooleantrue

Include answer data

version_idstring | null

Survey version ID for schema labels (uses latest if not set)

Show child attributes
Any of
string
null
languagestring | null

Language code for translated labels (e.g., 'es', 'fr')

Show child attributes
Any of
string
null

Response

200OK

Successful Response

422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Export Responses Stream

GET
http://localhost:8002/api/v1/export/responses/stream

Stream export responses (GET version for simple downloads).

Parameters

survey_idstring<uuid>requiredquery

Survey ID

formatstringcsvquery

Export format

statusstring | nullquery

Filter by status

from_datestring | nullquery

From date

to_datestring | nullquery

To date

include_metadatabooleantruequery
include_answersbooleantruequery
languagestring | nullquery

Language code for translated labels

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Media Export Status

GET
http://localhost:8002/api/v1/export/media/{request_id}/status

Poll the status of a background media export job.

Parameters

request_idstringrequiredpath

Response

Successful Response

Response fields application/json
request_idstringrequired
task_statusstringrequired
resultobject | null
Show child attributes
Any of
object
null
errorstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Export Survey Csv

GET
http://localhost:8002/api/v1/export/survey/{survey_id}/csv

Quick CSV export for a survey.

Parameters

survey_idstring<uuid>requiredpath
statusstring | nullquery
languagestring | nullquery

Language code for translated labels

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Export Survey Json

GET
http://localhost:8002/api/v1/export/survey/{survey_id}/json

Quick JSON export for a survey.

Parameters

survey_idstring<uuid>requiredpath
statusstring | nullquery
languagestring | nullquery

Language code for translated labels

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Export Survey Xlsx

GET
http://localhost:8002/api/v1/export/survey/{survey_id}/xlsx

Quick Excel export for a survey.

Parameters

survey_idstring<uuid>requiredpath
statusstring | nullquery
languagestring | nullquery

Language code for translated labels

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Export Survey Stata

GET
http://localhost:8002/api/v1/export/survey/{survey_id}/dta

Quick STATA export for a survey.

Parameters

survey_idstring<uuid>requiredpath
statusstring | nullquery
languagestring | nullquery

Language code for translated labels

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Export Survey Spss

GET
http://localhost:8002/api/v1/export/survey/{survey_id}/sav

Quick SPSS export for a survey.

Parameters

survey_idstring<uuid>requiredpath
statusstring | nullquery
languagestring | nullquery

Language code for translated labels

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Data Service / Attachments

Attachments — Data Service

List Attachments

GET
http://localhost:8002/api/v1/attachments

List attachments with filtering.

Parameters

entity_typestring | nullquery

Filter by entity type

entity_idstring | nullquery

Filter by entity ID

file_typestring | nullquery

Filter by file type (image, audio, video, document)

field_namestring | nullquery

Filter by question field name

limitinteger[1, 100]20query
offsetinteger>= 00query

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
entity_typestringrequired
entity_idstringrequired
filenamestringrequired
original_filenamestringrequired
file_typestring | nullrequired
Show child attributes
Any of
string
null
mime_typestring | nullrequired
Show child attributes
Any of
string
null
file_sizeintegerrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
uploaded_bystring | nullrequired
Show child attributes
Any of
string
null
checksumstring | nullrequired
Show child attributes
Any of
string
null
is_publicbooleanrequired
field_namestring | null
Show child attributes
Any of
string
null
captured_atstring | null
Show child attributes
Any of
string
null
statusstringrequired
created_atstringrequired
download_urlstring | null
Show child attributes
Any of
string
null
totalintegerrequired
pageintegerrequired
limitintegerrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Upload Attachment

POST
http://localhost:8002/api/v1/attachments

Upload a file attachment.

Supported file types:

  • Images (jpg, png, gif)
  • Audio (mp3, wav, ogg)
  • Video (mp4, avi, mov)
  • Documents (pdf, doc, docx, xls, xlsx)

Max file size: 50MB

Body

multipart/form-data
entity_typestringrequired

Entity type (response, survey, etc.)

entity_idstring<uuid>required

Entity ID

descriptionstring | null

Description

Show child attributes
Any of
string
null
filestringrequired

File to upload

Response

Successful Response

Response fields application/json
idstringrequired
entity_typestringrequired
entity_idstringrequired
filenamestringrequired
original_filenamestringrequired
file_typestring | nullrequired
Show child attributes
Any of
string
null
mime_typestring | nullrequired
Show child attributes
Any of
string
null
file_sizeintegerrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
uploaded_bystring | nullrequired
Show child attributes
Any of
string
null
checksumstring | nullrequired
Show child attributes
Any of
string
null
is_publicbooleanrequired
field_namestring | null
Show child attributes
Any of
string
null
captured_atstring | null
Show child attributes
Any of
string
null
statusstringrequired
created_atstringrequired
download_urlstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Create Attachment Record

POST
http://localhost:8002/api/v1/attachments/record

Create an attachment record from provided metadata (file already uploaded via media-service).

This is used by the interview/attachment flow where the file is uploaded separately through media-service, and the data-service only stores the metadata record.

Body

application/json
entity_typestringrequired

Type of entity (e.g., 'interview', 'response')

entity_idstring<uuid>required

ID of the associated entity

field_namestring | null

Question field name

Show child attributes
Any of
string
null
filenamestringrequired

Stored filename

original_filenamestringrequired

Original filename

file_typestring | null

File category (image, audio, video, document)

Show child attributes
Any of
string
null
mime_typestring | null

MIME type

Show child attributes
Any of
string
null
file_sizeinteger0

File size in bytes

checksumstring | null

SHA-256 checksum

Show child attributes
Any of
string
null
storage_urlstring | null

URL to the uploaded file

Show child attributes
Any of
string
null
captured_atstring | null

Device capture timestamp

Show child attributes
Any of
string
null
descriptionstring | null

Notes/description

Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json
idstringrequired
entity_typestringrequired
entity_idstringrequired
filenamestringrequired
original_filenamestringrequired
file_typestring | nullrequired
Show child attributes
Any of
string
null
mime_typestring | nullrequired
Show child attributes
Any of
string
null
file_sizeintegerrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
uploaded_bystring | nullrequired
Show child attributes
Any of
string
null
checksumstring | nullrequired
Show child attributes
Any of
string
null
is_publicbooleanrequired
field_namestring | null
Show child attributes
Any of
string
null
captured_atstring | null
Show child attributes
Any of
string
null
statusstringrequired
created_atstringrequired
download_urlstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Attachment

GET
http://localhost:8002/api/v1/attachments/{attachment_id}

Get attachment metadata by ID.

Parameters

attachment_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstringrequired
entity_typestringrequired
entity_idstringrequired
filenamestringrequired
original_filenamestringrequired
file_typestring | nullrequired
Show child attributes
Any of
string
null
mime_typestring | nullrequired
Show child attributes
Any of
string
null
file_sizeintegerrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
uploaded_bystring | nullrequired
Show child attributes
Any of
string
null
checksumstring | nullrequired
Show child attributes
Any of
string
null
is_publicbooleanrequired
field_namestring | null
Show child attributes
Any of
string
null
captured_atstring | null
Show child attributes
Any of
string
null
statusstringrequired
created_atstringrequired
download_urlstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Delete Attachment

DELETE
http://localhost:8002/api/v1/attachments/{attachment_id}

Delete an attachment.

Parameters

attachment_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
messagestringrequired
idstringrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Attachment

PATCH
http://localhost:8002/api/v1/attachments/{attachment_id}

Update attachment metadata (notes/description and field_name).

Body

application/json
descriptionstring | null

Updated notes/description

Show child attributes
Any of
string
null
field_namestring | null

Updated question field name

Show child attributes
Any of
string
null

Parameters

attachment_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstringrequired
entity_typestringrequired
entity_idstringrequired
filenamestringrequired
original_filenamestringrequired
file_typestring | nullrequired
Show child attributes
Any of
string
null
mime_typestring | nullrequired
Show child attributes
Any of
string
null
file_sizeintegerrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
uploaded_bystring | nullrequired
Show child attributes
Any of
string
null
checksumstring | nullrequired
Show child attributes
Any of
string
null
is_publicbooleanrequired
field_namestring | null
Show child attributes
Any of
string
null
captured_atstring | null
Show child attributes
Any of
string
null
statusstringrequired
created_atstringrequired
download_urlstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Download Attachment

GET
http://localhost:8002/api/v1/attachments/{attachment_id}/download

Download attachment file.

Parameters

attachment_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Data Service / Data Analytics

Data Analytics — Data Service

Get Active Surveys

GET
http://localhost:8002/api/v1/analytics/responses/active

Get a list of all survey IDs for this tenant that have at least one response. Used by frontend to filter survey list in Data Viewer.

Response

200OKArray<string>

Successful Response

Response fields application/json
Array<string>

Get Response Stats

GET
http://localhost:8002/api/v1/analytics/responses/stats/{survey_id}

Get comprehensive statistics for survey responses.

Returns counts by status, completion rate, and average duration. Date-only from_date/to_date values are interpreted as local calendar days in timezone_context; full datetimes are treated as instants. The end boundary is exclusive.

Parameters

survey_idstring<uuid>requiredpath
from_datestring | nullquery

Start date filter

to_datestring | nullquery

End date filter

timezone_contextstring | nullquery

IANA timezone for date-only boundaries

Response

Successful Response

Response fields application/json
survey_idstringrequired
total_responsesintegerrequired
draft_countintegerrequired
submitted_countintegerrequired
completed_countintegerrequired
invalidated_countintegerrequired
completion_ratenumberrequired
average_duration_secondsnumber | nullrequired
Show child attributes
Any of
number
null
date_fromstringrequired
date_tostringrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Response Timeseries

GET
http://localhost:8002/api/v1/analytics/responses/timeseries/{survey_id}

Get time-series data for survey responses.

Buckets are the effective-IANA CALENDAR day (YYYY-MM-DD), never UTC wall-clock days. timezone_context selects the zone; Postgres applies its DST rules per timestamp via created_at AT TIME ZONE :tz. Date-only from_date/to_date are interpreted as local calendar days; full datetimes are instants. The end boundary is exclusive and daily series are zero-filled so exactly the requested local calendar days are returned.

Parameters

survey_idstring<uuid>requiredpath
granularitystringdayquery

Time granularity: day, week, month

from_datestring | nullquery

Start date

to_datestring | nullquery

End date (exclusive)

statusstring | nullquery

Filter by response status

timezone_contextstring | nullquery

IANA timezone for calendar-day bucketing

Response

Successful Response

Response fields application/json
survey_idstringrequired
granularitystringrequired
Show child attributes
datestringrequired
countintegerrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Question Stats

GET
http://localhost:8002/api/v1/analytics/responses/questions/{survey_id}

Get statistics for individual questions across all responses.

Shows answer counts, unique respondents, and most common values.

Parameters

survey_idstring<uuid>requiredpath
limitinteger[1, 50]10query

Number of questions to return

Response

Successful Response

Response fields application/json
Show child attributes
question_idstringrequired
question_typestringrequired
total_answersintegerrequired
unique_respondentsintegerrequired
most_common_valuestring | nullrequired
Show child attributes
Any of
string
null
most_common_countintegerrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Answer Distribution

GET
http://localhost:8002/api/v1/analytics/responses/distribution/{survey_id}/{question_id}

Get distribution of answers for a specific question.

Shows value counts and percentages - useful for multiple choice questions.

Parameters

survey_idstring<uuid>requiredpath
question_idstringrequiredpath
limitinteger[1, 100]20query

Response

Successful Response

Response fields application/json
Show child attributes
question_idstringrequired
valuestringrequired
countintegerrequired
percentagenumberrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Analytics Summary

GET
http://localhost:8002/api/v1/analytics/responses/summary/{survey_id}

Get a comprehensive analytics summary for a survey.

Combines multiple metrics: response counts, completion rates, question statistics, and respondent information.

Parameters

survey_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
survey_idstringrequired
total_responsesintegerrequired
unique_respondentsintegerrequired
response_ratenumber | nullrequired
Show child attributes
Any of
number
null
average_completion_time_secondsnumber | nullrequired
Show child attributes
Any of
number
null
questions_analyzedintegerrequired
Show child attributes
question_idstringrequired
question_typestringrequired
total_answersintegerrequired
unique_respondentsintegerrequired
most_common_valuestring | nullrequired
Show child attributes
Any of
string
null
most_common_countintegerrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Dashboard Metrics

GET
http://localhost:8002/api/v1/analytics/dashboard

Get consolidated dashboard metrics for the Operations Center.

Returns:

  • active_forms: count of published surveys visible to user (0 - use survey-service)
  • active_enumerators: distinct users with successful submissions in last 24h
  • submissions_today: count of submitted/completed responses today (effective-IANA local day)
  • failed_submissions: count of failed push attempts today (0 - use sync-service)
  • latest_submission_times: per-survey latest timestamps (for "Last Submission" column)
  • timezone_context: timezone used for date calculations (UTC fallback)

Parameters

timezone_contextstring | nullquery

IANA timezone for calendar-day bucketing

Response

Successful Response

Response fields application/json
active_formsintegerrequired
active_enumeratorsintegerrequired
submissions_todayintegerrequired
failed_submissionsintegerrequired
latest_submission_timesArray<DataService_SurveyLatestSubmissionDTO>required
Show child attributes
survey_idstringrequired
latest_submitted_atstring | nullrequired
Show child attributes
Any of
string
null
latest_completed_atstring | nullrequired
Show child attributes
Any of
string
null
timezone_contextstringrequired
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Dashboard Data

GET
http://localhost:8002/api/v1/analytics/dashboard/{survey_id}

Get all analytics data for a dashboard view.

Combines stats, timeseries, and question data in one call.

Parameters

survey_idstring<uuid>requiredpath
timezone_contextstring | nullquery

IANA timezone for calendar-day bucketing

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Data Service / Random Sampling

Random Sampling — Data Service

Generate Random Sample

POST
http://localhost:8002/api/v1/sampling/generate

Generate a random sample from an uploaded CSV or Excel file.

  • file: CSV or Excel file (.csv, .xlsx, .xls)
  • sample_size: Number of rows to sample (must be <= total rows)
  • output_format: Output format: csv (default), xlsx, or json

Body

multipart/form-data
filestringrequired
sample_sizeintegerrequired
output_formatstringcsv

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Generate Random Sample

POST
http://localhost:8002/api/v1/data/sampling/generate

Generate a random sample from an uploaded CSV or Excel file.

  • file: CSV or Excel file (.csv, .xlsx, .xls)
  • sample_size: Number of rows to sample (must be <= total rows)
  • output_format: Output format: csv (default), xlsx, or json

Body

multipart/form-data
filestringrequired
sample_sizeintegerrequired
output_formatstringcsv

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityDataService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Sync Service

Mobile/offline sync: pull, push, devices, conflicts, reconciliation

Sync Service / Health

Health — Sync Service

Health Check

GET
http://localhost:8003/api/v1/sync/health

Health check endpoint.

Response

Successful Response

Response fields application/json
statusstringrequired
servicestringrequired
versionstringrequired
timestampstring<date-time>required
databasestring | null
Show child attributes
Any of
string
null

Sync Service / Devices

Devices — Sync Service

List User Devices

GET
http://localhost:8003/api/v1/sync/devices

List all devices registered for the current user.

Response

Successful Response

Response fields application/json

List of devices response.

Show child attributes

Device response.

idstringrequired
device_idstringrequired
platformstringrequired
device_namestring | null
Show child attributes
Any of
string
null
device_modelstring | null
Show child attributes
Any of
string
null
os_versionstring | null
Show child attributes
Any of
string
null
app_versionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_primarybooleanrequired
last_active_atstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string
null
totalintegerrequired
skipinteger0
limitinteger100
has_nextbooleanfalse
has_previousbooleanfalse

Authorization

JWThttp (bearer)

JWT Token Authentication

Register Device

POST
http://localhost:8003/api/v1/sync/devices

Register a new device for the current user.

  • One device per user per platform
  • If device already exists, updates registration
  • Sets new device as primary

Body

application/json

Device registration request.

device_idstringrequired

Unique device identifier

platformstringrequired

Device platform (ios, android, web, desktop)

device_namestring | null
Show child attributes
Any of
string
null
device_modelstring | null
Show child attributes
Any of
string
null
os_versionstring | null
Show child attributes
Any of
string
null
app_versionstring | null
Show child attributes
Any of
string
null
push_tokenstring | null
Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json

Device response.

idstringrequired
device_idstringrequired
platformstringrequired
device_namestring | null
Show child attributes
Any of
string
null
device_modelstring | null
Show child attributes
Any of
string
null
os_versionstring | null
Show child attributes
Any of
string
null
app_versionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_primarybooleanrequired
last_active_atstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string
null
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Get Device

GET
http://localhost:8003/api/v1/sync/devices/{device_id}

Get device details by device ID.

Parameters

device_idstringrequiredpath

Response

Successful Response

Response fields application/json

Device response.

idstringrequired
device_idstringrequired
platformstringrequired
device_namestring | null
Show child attributes
Any of
string
null
device_modelstring | null
Show child attributes
Any of
string
null
os_versionstring | null
Show child attributes
Any of
string
null
app_versionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_primarybooleanrequired
last_active_atstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string
null
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Update Device

PUT
http://localhost:8003/api/v1/sync/devices/{device_id}

Update device information.

Body

application/json

Device update request.

device_namestring | null
Show child attributes
Any of
string
null
device_modelstring | null
Show child attributes
Any of
string
null
os_versionstring | null
Show child attributes
Any of
string
null
app_versionstring | null
Show child attributes
Any of
string
null
push_tokenstring | null
Show child attributes
Any of
string
null

Parameters

device_idstringrequiredpath

Response

Successful Response

Response fields application/json

Device response.

idstringrequired
device_idstringrequired
platformstringrequired
device_namestring | null
Show child attributes
Any of
string
null
device_modelstring | null
Show child attributes
Any of
string
null
os_versionstring | null
Show child attributes
Any of
string
null
app_versionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_primarybooleanrequired
last_active_atstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string
null
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Deregister Device

DELETE
http://localhost:8003/api/v1/sync/devices/{device_id}

Deregister a device.

Parameters

device_idstringrequiredpath

Response

204No Content

Successful Response

422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Update Push Token

PATCH
http://localhost:8003/api/v1/sync/devices/{device_id}/push-token

Update device push token.

Body

application/json

Push token update request.

push_tokenstringrequired

Parameters

device_idstringrequiredpath

Response

Successful Response

Response fields application/json

Device response.

idstringrequired
device_idstringrequired
platformstringrequired
device_namestring | null
Show child attributes
Any of
string
null
device_modelstring | null
Show child attributes
Any of
string
null
os_versionstring | null
Show child attributes
Any of
string
null
app_versionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_primarybooleanrequired
last_active_atstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string
null
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Set Primary Device

POST
http://localhost:8003/api/v1/sync/devices/{device_id}/set-primary

Set device as primary for the user.

Parameters

device_idstringrequiredpath

Response

Successful Response

Response fields application/json

Device response.

idstringrequired
device_idstringrequired
platformstringrequired
device_namestring | null
Show child attributes
Any of
string
null
device_modelstring | null
Show child attributes
Any of
string
null
os_versionstring | null
Show child attributes
Any of
string
null
app_versionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_primarybooleanrequired
last_active_atstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string
null
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Sync Service / Sync Pull

Sync Pull — Sync Service

Pull Sync

POST
http://localhost:8003/api/v1/sync/pull

Pull synchronized data from the server.

  • Delta-based: Only returns changes since last_sync_token / last checkpoint.
  • Surveys: Fetched from survey-service, filtered by updated_after timestamp.
  • Checkpoint updated: last_survey_sync_at is advanced after a successful pull.
  • New sync_token returned for the device to use in the next call.

Body

application/json

Pull sync request.

device_idstringrequired

Device identifier

last_sync_tokenstring | null

Token from previous sync

Show child attributes
Any of
string
null
survey_versionstring | null

Last known survey version (semver string)

Show child attributes
Any of
string
null
include_surveysbooleantrue

Include survey data

include_metadatabooleantrue

Include sync metadata

Response

Successful Response

Response fields application/json

Pull sync response.

sync_tokenstringrequired
Show child attributes

Survey sync data — a descriptor, not a content channel (D-11).

schema_hash is the server's persisted content address for this version's canonical schema artifact: a 64-character lowercase SHA-256 over the canonical UTF-8 JSON bytes. It is forwarded verbatim from survey-service and is the value a client verifies against. It is nullable only because a legacy version published before the integrity backfill may have none; a client must treat a missing value as "cannot be verified", never as "trust me".

questions and settings remain as a legacy schema fragment. They are not a verifiable artifact (no digest covers them) and mobile ignores them; they exist so an older client does not hard-fail on a schema shape it knows. Content is fetched from the version's artifact endpoint, not from here.

survey_idstringrequired
version_idstringrequired
versionstringrequired
titlestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
statusstringrequired
schema_hashstring | null
Show child attributes
Any of
string
null
is_deletedbooleanfalse
has_lookupsbooleanfalse
questionsArray<object>
settingsobject | null
Show child attributes
Any of
object
null

Sync metadata response.

Show child attributes
surveys_modifiedintegerrequired
surveys_deletedintegerrequired
responses_modifiedintegerrequired
responses_newintegerrequired
server_timestampstringrequired
next_sync_tokenstringrequired
server_timestampstringrequired
roleSyncService_RoleSyncDTO | null
Show child attributes
Any of

Role and permissions descriptor for sync pull response.

idstringrequired
namestringrequired
permissionsArray<string>
null
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Acknowledge Form Download

POST
http://localhost:8003/api/v1/sync/downloads/acknowledge

Record a form download after the mobile client persisted its schema.

Body

application/json

Client acknowledgement emitted only after a schema is persisted locally.

survey_idstring<uuid>required
survey_version_idstring<uuid>required
survey_versionstringrequired
survey_titlestring | null
Show child attributes
Any of
string
null
schema_hashstring | null
Show child attributes
Any of
string
null
device_idstringrequired
download_idstring<uuid>required
platformstring | null
Show child attributes
Any of
string
null
app_versionstring | null
Show child attributes
Any of
string
null
app_buildstring | null
Show child attributes
Any of
string
null
os_versionstring | null
Show child attributes
Any of
string
null
persisted_atstring | null
Show child attributes
Any of
string<date-time>
null

Response

202Acceptedany

Successful Response

Response fields application/json
any
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Get Sync Status

GET
http://localhost:8003/api/v1/sync/status

Get sync status for all devices of the current user.

Response

Successful Response

Response fields application/json
Show child attributes

Sync status response.

device_idstringrequired
last_sync_atstring | null
Show child attributes
Any of
string<date-time>
null
sync_statusstringrequired
last_survey_sync_atstring | null
Show child attributes
Any of
string<date-time>
null
last_response_sync_atstring | null
Show child attributes
Any of
string<date-time>
null
sync_tokenstring | null
Show child attributes
Any of
string
null
surveys_syncedinteger0
responses_syncedinteger0
server_timestring | null
Show child attributes
Any of
string
null
server_time_offsetinteger | null0
Show child attributes
Any of
integer
null
rid_blocksArray<object>

Authorization

JWThttp (bearer)

JWT Token Authentication

Get Device Sync Status

GET
http://localhost:8003/api/v1/sync/status/{device_id}

Get sync status for a specific device.

Parameters

device_idstringrequiredpath

Response

Successful Response

Response fields application/json

Sync status response.

device_idstringrequired
last_sync_atstring | null
Show child attributes
Any of
string<date-time>
null
sync_statusstringrequired
last_survey_sync_atstring | null
Show child attributes
Any of
string<date-time>
null
last_response_sync_atstring | null
Show child attributes
Any of
string<date-time>
null
sync_tokenstring | null
Show child attributes
Any of
string
null
surveys_syncedinteger0
responses_syncedinteger0
server_timestring | null
Show child attributes
Any of
string
null
server_time_offsetinteger | null0
Show child attributes
Any of
integer
null
rid_blocksArray<object>
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Initialize Sync

POST
http://localhost:8003/api/v1/sync/initialize

Initialize sync for a new device.

Body

application/json

Initial sync request.

device_idstringrequired
platformstring | nullunknown

Device platform

Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json

Sync status response.

device_idstringrequired
last_sync_atstring | null
Show child attributes
Any of
string<date-time>
null
sync_statusstringrequired
last_survey_sync_atstring | null
Show child attributes
Any of
string<date-time>
null
last_response_sync_atstring | null
Show child attributes
Any of
string<date-time>
null
sync_tokenstring | null
Show child attributes
Any of
string
null
surveys_syncedinteger0
responses_syncedinteger0
server_timestring | null
Show child attributes
Any of
string
null
server_time_offsetinteger | null0
Show child attributes
Any of
integer
null
rid_blocksArray<object>
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Delete Device Sync

DELETE
http://localhost:8003/api/v1/sync/device/{device_id}

Delete sync record for a device.

Parameters

device_idstringrequiredpath

Response

204No Content

Successful Response

422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Sync Service / Sync Push

Sync Push — Sync Service

Push Single Response

POST
http://localhost:8003/api/v1/sync/push

Push a single survey response to the server.

  • Idempotent: Same idempotency_key returns same result
  • Persists record before forwarding to data-service
  • Returns push record ID for tracking

Body

application/json

Push sync request for single response.

idempotency_keystringrequired

Unique key for idempotency

survey_idstring<uuid>required

Survey ID

survey_version_idstring | null

Survey version ID for version-pinned response

Show child attributes
Any of
string<uuid>
null
interview_idstring | null

Interview execution ID — links this response to its interview lifecycle (Track A)

Show child attributes
Any of
string<uuid>
null
interview_ridstring | null

Response RID allocated for interview

Show child attributes
Any of
string
null
respondent_idstring | null

Respondent identifier

Show child attributes
Any of
string
null

Survey answers

Show child attributes

Response answer data.

question_idstringrequired
valueany
metadataobject | null

Additional metadata

Show child attributes
Any of
object
null
device_idstringrequired

Device that collected the response

collected_atstring | null

When response was collected on device

Show child attributes
Any of
string<date-time>
null
response_languagestring | null

Language code used for submission (e.g., 'en', 'es')

Show child attributes
Any of
string
null
submission_modestring | null

Submission mode: 'complete', 'terminated_partial', or 'draft'

Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json

Push sync response.

idstringrequired
idempotency_keystringrequired
statusstringrequired
response_idstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string
null
lifecycle_codestring | null
Show child attributes
Any of
string
null
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Push Bulk Responses

POST
http://localhost:8003/api/v1/sync/push/bulk

Push multiple survey responses in a batch.

  • Max 50 responses per batch
  • Partial success: Failed items don't block successful ones
  • Idempotent per item
  • Persists each record

Body

application/json

Bulk push sync request.

Max 50 responses per batch

Show child attributes

Push sync request for single response.

idempotency_keystringrequired

Unique key for idempotency

survey_idstring<uuid>required

Survey ID

survey_version_idstring | null

Survey version ID for version-pinned response

Show child attributes
Any of
string<uuid>
null
interview_idstring | null

Interview execution ID — links this response to its interview lifecycle (Track A)

Show child attributes
Any of
string<uuid>
null
interview_ridstring | null

Response RID allocated for interview

Show child attributes
Any of
string
null
respondent_idstring | null

Respondent identifier

Show child attributes
Any of
string
null

Survey answers

Show child attributes

Response answer data.

question_idstringrequired
valueany
metadataobject | null

Additional metadata

Show child attributes
Any of
object
null
device_idstringrequired

Device that collected the response

collected_atstring | null

When response was collected on device

Show child attributes
Any of
string<date-time>
null
response_languagestring | null

Language code used for submission (e.g., 'en', 'es')

Show child attributes
Any of
string
null
submission_modestring | null

Submission mode: 'complete', 'terminated_partial', or 'draft'

Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json

Bulk push sync response.

totalintegerrequired
acceptedintegerrequired
rejectedintegerrequired
Show child attributes

Push sync response.

idstringrequired
idempotency_keystringrequired
statusstringrequired
response_idstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string
null
lifecycle_codestring | null
Show child attributes
Any of
string
null
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Get Push Status

GET
http://localhost:8003/api/v1/sync/push/status/{push_id}

Get status of a push operation.

Parameters

push_idstringrequiredpath

Response

Successful Response

Response fields application/json

Push sync response.

idstringrequired
idempotency_keystringrequired
statusstringrequired
response_idstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string
null
lifecycle_codestring | null
Show child attributes
Any of
string
null
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Get Pending Pushes

GET
http://localhost:8003/api/v1/sync/push/pending

Get all pending/failed push operations for retry.

Response

Successful Response

Response fields application/json
Show child attributes

Push sync response.

idstringrequired
idempotency_keystringrequired
statusstringrequired
response_idstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string
null
lifecycle_codestring | null
Show child attributes
Any of
string
null

Authorization

JWThttp (bearer)

JWT Token Authentication

Get Failed Submissions Today

GET
http://localhost:8003/api/v1/sync/dashboard/failed-submissions

Get count of failed submission attempts today.

Counts FAILED and CONFLICT status push records created on or after the start of the effective-IANA local calendar day. timezone_context selects the zone; invalid values fall back to UTC. This provides accurate failed-submission metrics for the Operations Center dashboard.

Parameters

timezone_contextstring | nullquery

IANA timezone for the 'today' boundary

Response

Successful Response

Response fields application/json
countintegerrequired
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Sync Service / Sync Conflicts

Sync Conflicts — Sync Service

List Unresolved Conflicts

GET
http://localhost:8003/api/v1/sync/conflicts

Get all unresolved sync conflicts for the tenant.

Response

Successful Response

Response fields application/json

List of sync conflicts.

Show child attributes

Sync conflict information.

idstring<uuid>required
tenant_idstring<uuid>required
device_idstringrequired
response_idstringrequired
conflict_typestringrequired
server_versionobject | null
Show child attributes
Any of
object
null
client_versionobject | null
Show child attributes
Any of
object
null
resolutionstring | null
Show child attributes
Any of
string
null
resolved_atstring | null
Show child attributes
Any of
string<date-time>
null
resolved_bystring | null
Show child attributes
Any of
string<uuid>
null
created_atstring<date-time>required
totalintegerrequired
skipinteger0
limitinteger100
has_nextbooleanfalse
has_previousbooleanfalse

Authorization

JWThttp (bearer)

JWT Token Authentication

Get Conflict

GET
http://localhost:8003/api/v1/sync/conflicts/{conflict_id}

Get a specific conflict by ID.

Parameters

conflict_idstringrequiredpath

Response

Successful Response

Response fields application/json

Sync conflict information.

idstring<uuid>required
tenant_idstring<uuid>required
device_idstringrequired
response_idstringrequired
conflict_typestringrequired
server_versionobject | null
Show child attributes
Any of
object
null
client_versionobject | null
Show child attributes
Any of
object
null
resolutionstring | null
Show child attributes
Any of
string
null
resolved_atstring | null
Show child attributes
Any of
string<date-time>
null
resolved_bystring | null
Show child attributes
Any of
string<uuid>
null
created_atstring<date-time>required
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Resolve Conflict

POST
http://localhost:8003/api/v1/sync/conflicts/{conflict_id}/resolve

Resolve a sync conflict using a specified strategy (server_wins, client_wins).

Body

application/json

Request to resolve a sync conflict.

strategystringrequired

Resolution strategy: server_wins, client_wins, or manual

merged_dataobject | null

Merged data if manual strategy is used

Show child attributes
Any of
object
null

Parameters

conflict_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Sync Service / Sync Response Changes

Sync Response Changes — Sync Service

List Response Changes

GET
http://localhost:8003/api/v1/sync/responses/changes

Discover response status/answer-schema changes since a client-held cursor.

Parameters

sincestring0query

Watermark returned by a previous page; held and resent by the client

limitinteger[1, 1000]100query

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Correct Response

POST
http://localhost:8003/api/v1/sync/responses/{response_id}/correct

Resubmit a corrected (previously rejected) response against its existing ID.

Parameters

response_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Sync Service / Sync Reconciliation

Sync Reconciliation — Sync Service

Reconcile Revoked Work

POST
http://localhost:8003/api/v1/sync/reconcile

Server-Authorized Reconciliation Endpoint (R17 & R22).

Validates that responses collected prior to access revocation are legitimate and eligible for governed ingestion. Rejects responses collected after revocation or collected without assignment with HTTP 403 Forbidden.

Body

application/json

Server-authorized reconciliation request for responses predating access revocation (R17 & R22).

intentstringrequired

Explicit intent: must be 'reconcile_revoked_work'

idempotency_keystringrequired

Unique key for idempotency

survey_idstring<uuid>required

Survey ID

survey_version_idstring | null

Survey version ID for version pinning

Show child attributes
Any of
string<uuid>
null
device_idstringrequired

Device that collected the response

collected_atstring<date-time>required

Device-reported capture timestamp (mandatory for reconciliation)

Survey answers

Show child attributes

Response answer data.

question_idstringrequired
valueany
respondent_idstring | null

Respondent identifier

Show child attributes
Any of
string
null
interview_idstring | null

Interview execution ID

Show child attributes
Any of
string<uuid>
null
interview_ridstring | null

Allocated RID

Show child attributes
Any of
string
null
metadataobject | null

Additional metadata

Show child attributes
Any of
object
null
response_languagestring | null

Language code

Show child attributes
Any of
string
null
submission_modestring | nullcomplete

Submission mode: 'complete' or 'terminated_partial'

Show child attributes
Any of
string
null
duration_secondsinteger | null

Duration in seconds

Show child attributes
Any of
integer>= 0
null
sync_batch_idstring | null

Batch ID

Show child attributes
Any of
string<uuid>
null

Response

Successful Response

Response fields application/json

Server-authorized reconciliation response.

statusstringrequired

'reconciled', 'duplicate', or 'rejected'

response_idstring | null

Persisted SurveyResponse ID in data-service

Show child attributes
Any of
string
null
reconciliation_grant_idstring | null

Historical grant UUID that authorized this work

Show child attributes
Any of
string
null
reconciled_atstring | null

ISO timestamp when reconciliation completed

Show child attributes
Any of
string
null
reasonstring | null

Reason code if rejected (e.g. 'work_postdates_revocation', 'user_never_assigned')

Show child attributes
Any of
string
null
messagestringrequired

Human-readable status summary

422Unprocessable EntitySyncService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

JWThttp (bearer)

JWT Token Authentication

Analytics Service

Dashboards, widgets, aggregate analytics over response data

Analytics Service / Health

Health — Analytics Service

Analytics Service / Dashboards

Dashboards — Analytics Service

Get Dashboard Summary

GET
http://localhost:8004/api/v1/analytics/custom-dashboards/summary

Get dashboard summary metrics for the tenant.

Cached for 5 minutes. Tenant-scoped.

Parameters

periodstring7dquery

Response

Successful Response

Response fields application/json

Dashboard summary metrics.

tenant_idstringrequired
period_startstring<date-time>required
period_endstring<date-time>required
total_surveysintegerrequired
active_surveysintegerrequired
total_responsesintegerrequired
completion_rate_avgnumberrequired
average_response_timenumber | nullrequired
Show child attributes
Any of
number
null
responses_trendArray<object>required
top_surveysArray<object>required
generated_atstring<date-time>required

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Survey Performance

GET
http://localhost:8004/api/v1/analytics/custom-dashboards/surveys/performance

Get survey performance metrics.

Cached for 5 minutes. Tenant-scoped.

Parameters

limitinteger[1, 100]10query
periodstring7dquery

Response

Successful Response

Response fields application/json
Show child attributes

Survey performance metrics.

survey_idstringrequired
survey_namestringrequired
total_responsesintegerrequired
completion_ratenumberrequired
average_time_secondsnumber | nullrequired
Show child attributes
Any of
number
null
trendstringrequired
trend_percentagenumberrequired

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Response Metrics

GET
http://localhost:8004/api/v1/analytics/custom-dashboards/responses/metrics

Get response metrics over time.

Cached for 5 minutes. Tenant-scoped.

Parameters

periodstring7dquery

Response

Successful Response

Response fields application/json
Show child attributes

Response metrics for a date range.

datestringrequired
total_responsesintegerrequired
completed_responsesintegerrequired
completion_ratenumberrequired
average_duration_secondsnumber | nullrequired
Show child attributes
Any of
number
null

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Invalidate Dashboard Cache

POST
http://localhost:8004/api/v1/analytics/custom-dashboards/invalidate-cache

Invalidate all dashboard cache for the tenant.

Useful after significant data changes.

Response

200OKany

Successful Response

Response fields application/json
any

List Dashboards

GET
http://localhost:8004/api/v1/analytics/custom-dashboards

List all dashboards for the tenant.

Parameters

skipinteger>= 00query
limitinteger[1, 100]20query

Response

Successful Response

Response fields application/json
Show child attributes

Dashboard response.

idstringrequired
titlestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
is_defaultbooleanrequired
layout_configobject | nullrequired
Show child attributes
Any of
object
null
created_bystringrequired
created_atstring<date-time>required
updated_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
widgetsArray<AnalyticsService_WidgetResponseDTO> | null
Show child attributes
Any of
Show child attributes

Widget response.

idstringrequired
dashboard_idstringrequired
widget_typestringrequired
titlestringrequired
title_keystring | null
Show child attributes
Any of
string
null
chart_typestring | nullrequired
Show child attributes
Any of
string
null
data_sourcestring | nullrequired
Show child attributes
Any of
string
null
query_configobject | nullrequired
Show child attributes
Any of
object
null
position_xintegerrequired
position_yintegerrequired
widthintegerrequired
heightintegerrequired
configobject | nullrequired
Show child attributes
Any of
object
null
filtersobject | nullrequired
Show child attributes
Any of
object
null
refresh_intervalintegerrequired
created_atstring<date-time>required
updated_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
null
survey_idstring | null
Show child attributes
Any of
string
null
dashboard_typestring | null
Show child attributes
Any of
string
null
is_user_modifiedboolean | null
Show child attributes
Any of
boolean
null
generated_by_systemboolean | null
Show child attributes
Any of
boolean
null
source_survey_versionstring | null
Show child attributes
Any of
string
null
generator_versionstring | null
Show child attributes
Any of
string
null
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Create Dashboard

POST
http://localhost:8004/api/v1/analytics/custom-dashboards

Create a new dashboard.

Body

application/json

Create dashboard request.

titlestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
is_defaultbooleanfalse
survey_idstring | null
Show child attributes
Any of
string
null
dashboard_typestring | null
Show child attributes
Any of
string
null
layout_configobject | null
Show child attributes
Any of
object
null

Response

Successful Response

Response fields application/json

Dashboard response.

idstringrequired
titlestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
is_defaultbooleanrequired
layout_configobject | nullrequired
Show child attributes
Any of
object
null
created_bystringrequired
created_atstring<date-time>required
updated_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
widgetsArray<AnalyticsService_WidgetResponseDTO> | null
Show child attributes
Any of
Show child attributes

Widget response.

idstringrequired
dashboard_idstringrequired
widget_typestringrequired
titlestringrequired
title_keystring | null
Show child attributes
Any of
string
null
chart_typestring | nullrequired
Show child attributes
Any of
string
null
data_sourcestring | nullrequired
Show child attributes
Any of
string
null
query_configobject | nullrequired
Show child attributes
Any of
object
null
position_xintegerrequired
position_yintegerrequired
widthintegerrequired
heightintegerrequired
configobject | nullrequired
Show child attributes
Any of
object
null
filtersobject | nullrequired
Show child attributes
Any of
object
null
refresh_intervalintegerrequired
created_atstring<date-time>required
updated_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
null
survey_idstring | null
Show child attributes
Any of
string
null
dashboard_typestring | null
Show child attributes
Any of
string
null
is_user_modifiedboolean | null
Show child attributes
Any of
boolean
null
generated_by_systemboolean | null
Show child attributes
Any of
boolean
null
source_survey_versionstring | null
Show child attributes
Any of
string
null
generator_versionstring | null
Show child attributes
Any of
string
null

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Dashboard

GET
http://localhost:8004/api/v1/analytics/custom-dashboards/{dashboard_id}

Get a dashboard by ID with its widgets.

Parameters

dashboard_idstringrequiredpath

Response

Successful Response

Response fields application/json

Dashboard response.

idstringrequired
titlestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
is_defaultbooleanrequired
layout_configobject | nullrequired
Show child attributes
Any of
object
null
created_bystringrequired
created_atstring<date-time>required
updated_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
widgetsArray<AnalyticsService_WidgetResponseDTO> | null
Show child attributes
Any of
Show child attributes

Widget response.

idstringrequired
dashboard_idstringrequired
widget_typestringrequired
titlestringrequired
title_keystring | null
Show child attributes
Any of
string
null
chart_typestring | nullrequired
Show child attributes
Any of
string
null
data_sourcestring | nullrequired
Show child attributes
Any of
string
null
query_configobject | nullrequired
Show child attributes
Any of
object
null
position_xintegerrequired
position_yintegerrequired
widthintegerrequired
heightintegerrequired
configobject | nullrequired
Show child attributes
Any of
object
null
filtersobject | nullrequired
Show child attributes
Any of
object
null
refresh_intervalintegerrequired
created_atstring<date-time>required
updated_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
null
survey_idstring | null
Show child attributes
Any of
string
null
dashboard_typestring | null
Show child attributes
Any of
string
null
is_user_modifiedboolean | null
Show child attributes
Any of
boolean
null
generated_by_systemboolean | null
Show child attributes
Any of
boolean
null
source_survey_versionstring | null
Show child attributes
Any of
string
null
generator_versionstring | null
Show child attributes
Any of
string
null

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Dashboard

PUT
http://localhost:8004/api/v1/analytics/custom-dashboards/{dashboard_id}

Update a dashboard.

Body

application/json

Update dashboard request.

titlestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
is_defaultboolean | null
Show child attributes
Any of
boolean
null
layout_configobject | null
Show child attributes
Any of
object
null
is_user_modifiedboolean | null
Show child attributes
Any of
boolean
null

Parameters

dashboard_idstringrequiredpath

Response

Successful Response

Response fields application/json

Dashboard response.

idstringrequired
titlestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
is_defaultbooleanrequired
layout_configobject | nullrequired
Show child attributes
Any of
object
null
created_bystringrequired
created_atstring<date-time>required
updated_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
widgetsArray<AnalyticsService_WidgetResponseDTO> | null
Show child attributes
Any of
Show child attributes

Widget response.

idstringrequired
dashboard_idstringrequired
widget_typestringrequired
titlestringrequired
title_keystring | null
Show child attributes
Any of
string
null
chart_typestring | nullrequired
Show child attributes
Any of
string
null
data_sourcestring | nullrequired
Show child attributes
Any of
string
null
query_configobject | nullrequired
Show child attributes
Any of
object
null
position_xintegerrequired
position_yintegerrequired
widthintegerrequired
heightintegerrequired
configobject | nullrequired
Show child attributes
Any of
object
null
filtersobject | nullrequired
Show child attributes
Any of
object
null
refresh_intervalintegerrequired
created_atstring<date-time>required
updated_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
null
survey_idstring | null
Show child attributes
Any of
string
null
dashboard_typestring | null
Show child attributes
Any of
string
null
is_user_modifiedboolean | null
Show child attributes
Any of
boolean
null
generated_by_systemboolean | null
Show child attributes
Any of
boolean
null
source_survey_versionstring | null
Show child attributes
Any of
string
null
generator_versionstring | null
Show child attributes
Any of
string
null

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Delete Dashboard

DELETE
http://localhost:8004/api/v1/analytics/custom-dashboards/{dashboard_id}

Delete a dashboard and all its widgets.

Parameters

dashboard_idstringrequiredpath

Response

204No Content

Successful Response

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Create Widget

POST
http://localhost:8004/api/v1/analytics/custom-dashboards/{dashboard_id}/widgets

Add a widget to a dashboard.

Body

application/json

Create widget request.

widget_typestringrequired
titlestringrequired
chart_typestringrequired
data_sourcestringsnapshot
query_configobject | null
Show child attributes
Any of
object
null
position_xinteger0
position_yinteger0
widthinteger4
heightinteger3
configobject | null
Show child attributes
Any of
object
null
filtersobject | null
Show child attributes
Any of
object
null
refresh_intervalinteger300

Parameters

dashboard_idstringrequiredpath

Response

Successful Response

Response fields application/json

Widget response.

idstringrequired
dashboard_idstringrequired
widget_typestringrequired
titlestringrequired
title_keystring | null
Show child attributes
Any of
string
null
chart_typestring | nullrequired
Show child attributes
Any of
string
null
data_sourcestring | nullrequired
Show child attributes
Any of
string
null
query_configobject | nullrequired
Show child attributes
Any of
object
null
position_xintegerrequired
position_yintegerrequired
widthintegerrequired
heightintegerrequired
configobject | nullrequired
Show child attributes
Any of
object
null
filtersobject | nullrequired
Show child attributes
Any of
object
null
refresh_intervalintegerrequired
created_atstring<date-time>required
updated_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Widget

PUT
http://localhost:8004/api/v1/analytics/custom-dashboards/{dashboard_id}/widgets/{widget_id}

Update a widget.

Body

application/json

Update widget request.

titlestring | null
Show child attributes
Any of
string
null
chart_typestring | null
Show child attributes
Any of
string
null
data_sourcestring | null
Show child attributes
Any of
string
null
query_configobject | null
Show child attributes
Any of
object
null
position_xinteger | null
Show child attributes
Any of
integer
null
position_yinteger | null
Show child attributes
Any of
integer
null
widthinteger | null
Show child attributes
Any of
integer
null
heightinteger | null
Show child attributes
Any of
integer
null
configobject | null
Show child attributes
Any of
object
null
filtersobject | null
Show child attributes
Any of
object
null
refresh_intervalinteger | null
Show child attributes
Any of
integer
null

Parameters

dashboard_idstringrequiredpath
widget_idstringrequiredpath

Response

Successful Response

Response fields application/json

Widget response.

idstringrequired
dashboard_idstringrequired
widget_typestringrequired
titlestringrequired
title_keystring | null
Show child attributes
Any of
string
null
chart_typestring | nullrequired
Show child attributes
Any of
string
null
data_sourcestring | nullrequired
Show child attributes
Any of
string
null
query_configobject | nullrequired
Show child attributes
Any of
object
null
position_xintegerrequired
position_yintegerrequired
widthintegerrequired
heightintegerrequired
configobject | nullrequired
Show child attributes
Any of
object
null
filtersobject | nullrequired
Show child attributes
Any of
object
null
refresh_intervalintegerrequired
created_atstring<date-time>required
updated_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Delete Widget

DELETE
http://localhost:8004/api/v1/analytics/custom-dashboards/{dashboard_id}/widgets/{widget_id}

Delete a widget.

Parameters

dashboard_idstringrequiredpath
widget_idstringrequiredpath

Response

204No Content

Successful Response

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Widget Data

GET
http://localhost:8004/api/v1/analytics/custom-dashboards/{dashboard_id}/widgets/{widget_id}/data

Get data for a widget.

Routes to appropriate data source:

  • snapshot: Query local analytics_snapshots table
  • realtime: Proxy to data-service for live data

Parameters

dashboard_idstringrequiredpath
widget_idstringrequiredpath

Response

Successful Response

Response fields application/json

Widget data response.

widget_idstringrequired
data_sourcestringrequired
dataanyrequired
cachedbooleanfalse
generated_atstring<date-time>required

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Generate Default Dashboard

POST
http://localhost:8004/api/v1/analytics/custom-dashboards/generate

Generate or regenerate a default dashboard for a published survey.

The generator decides whether to create, skip, or regenerate based on dashboard state and survey version. No force parameter needed.

Body

application/json

Request to generate a default dashboard for a survey.

survey_idstringrequired

Response

Successful Response

Response fields application/json

Response from dashboard generation.

dashboard_idstringrequired
statusstringrequired
widget_countintegerrequired
messagestringrequired

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Analytics Service / Analytics

Analytics — Analytics Service

Get Survey Analytics

GET
http://localhost:8004/api/v1/analytics/surveys/{survey_id}

Get analytics for a specific survey.

Parameters

survey_idstringrequiredpath
start_datestring | nullquery
end_datestring | nullquery

Response

Successful Response

Response fields application/json

Survey analytics.

survey_idstringrequired
total_responsesintegerrequired
completion_ratenumberrequired
average_timenumber | nullrequired
Show child attributes
Any of
number
null
questions_countintegerrequired
responses_by_dateArray<object>required

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Analytics Summary

GET
http://localhost:8004/api/v1/analytics/summary

Get overall analytics summary for the tenant.

Parameters

start_datestring | nullquery

Start date for the period

end_datestring | nullquery

End date for the period

Response

Successful Response

Response fields application/json

Analytics summary.

total_surveysintegerrequired
total_responsesintegerrequired
active_surveysintegerrequired
completion_rate_avgnumberrequired
period_startstring<date-time>required
period_endstring<date-time>required

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Survey Responses

GET
http://localhost:8004/api/v1/analytics/surveys/{survey_id}/responses

Get paginated responses for a survey.

Parameters

survey_idstringrequiredpath
skipinteger>= 00query
limitinteger[1, 1000]100query

Response

Successful Response

Response fields application/json

Paginated list of survey responses for analytics.

itemsArray<object>required
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Survey Questions Analytics

GET
http://localhost:8004/api/v1/analytics/surveys/{survey_id}/questions

Get analytics per question for a survey.

Parameters

survey_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Export Survey Analytics

GET
http://localhost:8004/api/v1/analytics/export/{survey_id}

Export survey analytics in the specified format.

Parameters

survey_idstringrequiredpath
formatstringjsonquery

Response

200OKany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Aggregate Survey Data

POST
http://localhost:8004/api/v1/analytics/aggregate

Aggregate survey response data for chart visualisation.

Fetches raw responses from data-service, computes aggregation locally, and caches the result in Redis for 5 minutes.

Aggregation types:

  • count / distribution → frequency per unique value
  • average → numeric histogram with min/max/avg summary
  • sum → single total value

Body

application/json

Request to aggregate survey response data for a chart panel.

survey_idstringrequired
question_idsArray<string>required
chart_typestringrequired
aggregationstringrequired
filtersobject | null
Show child attributes
Any of
object
null
groupingstring | null
Show child attributes
Any of
string
null
value_modestring | null
Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json

Aggregated chart data response.

survey_idstringrequired
question_idsArray<string>required
chart_typestringrequired
aggregationstringrequired
Show child attributes

Single data point in aggregated results.

labelstringrequired
valuenumberrequired
countinteger | null
Show child attributes
Any of
integer
null
extraobject | null
Show child attributes
Any of
object
null
summaryobject | null
Show child attributes
Any of
object
null
cachedbooleanfalse
generated_atstring<date-time>required

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Workspace Service

Workspaces, projects, and workspace members

Workspace Service / Workspaces

Workspaces — Workspace Service

List Workspaces

GET
http://localhost:8006/api/v1/workspaces

Parameters

skipinteger>= 00query
limitinteger[1, 100]20query
status_filterWorkspaceService_WorkspaceStatus | nullquery
searchstring | nullquery

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
statusstringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Create Workspace

POST
http://localhost:8006/api/v1/workspaces

Body

application/json
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
statusstringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Workspace

GET
http://localhost:8006/api/v1/workspaces/{workspace_id}

Parameters

workspace_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
statusstringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Workspace

PUT
http://localhost:8006/api/v1/workspaces/{workspace_id}

Body

application/json
namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
statusWorkspaceService_WorkspaceStatus | null
Show child attributes
Any of
WorkspaceService_WorkspaceStatusactivearchivedsuspendeddeleted
null

Parameters

workspace_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
statusstringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Delete Workspace

DELETE
http://localhost:8006/api/v1/workspaces/{workspace_id}

Parameters

workspace_idstring<uuid>requiredpath

Response

202Acceptedany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Workspace Service / Workspace Members

Workspace Members — Workspace Service

List Members

GET
http://localhost:8006/api/v1/workspaces/{workspace_id}/members

Parameters

workspace_idstring<uuid>requiredpath
skipinteger>= 00query
limitinteger[1, 100]20query

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
workspace_idstring<uuid>required
user_idstring<uuid>required
tenant_idstring<uuid>required
rolestringrequired
invited_bystring | nullrequired
Show child attributes
Any of
string<uuid>
null
joined_atstring<date-time>required
created_atstring<date-time>required
updated_atstring<date-time>required
user_emailstring | null
Show child attributes
Any of
string
null
user_namestring | null
Show child attributes
Any of
string
null
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Add Member

POST
http://localhost:8006/api/v1/workspaces/{workspace_id}/members

Body

application/json
user_idstringrequired
roleWorkspaceService_WorkspaceMemberRoleowneradmineditorviewerresponderviewer

Parameters

workspace_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
workspace_idstring<uuid>required
user_idstring<uuid>required
tenant_idstring<uuid>required
rolestringrequired
invited_bystring | nullrequired
Show child attributes
Any of
string<uuid>
null
joined_atstring<date-time>required
created_atstring<date-time>required
updated_atstring<date-time>required
user_emailstring | null
Show child attributes
Any of
string
null
user_namestring | null
Show child attributes
Any of
string
null

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Member Role

PUT
http://localhost:8006/api/v1/workspaces/{workspace_id}/members/{member_user_id}

Body

application/json
roleWorkspaceService_WorkspaceMemberRoleowneradmineditorviewerresponderrequired

Parameters

workspace_idstring<uuid>requiredpath
member_user_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
workspace_idstring<uuid>required
user_idstring<uuid>required
tenant_idstring<uuid>required
rolestringrequired
invited_bystring | nullrequired
Show child attributes
Any of
string<uuid>
null
joined_atstring<date-time>required
created_atstring<date-time>required
updated_atstring<date-time>required
user_emailstring | null
Show child attributes
Any of
string
null
user_namestring | null
Show child attributes
Any of
string
null

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Remove Member

DELETE
http://localhost:8006/api/v1/workspaces/{workspace_id}/members/{member_user_id}

Parameters

workspace_idstring<uuid>requiredpath
member_user_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Member Usage

GET
http://localhost:8006/api/v1/workspaces/members/usage

Return the tenant-scoped usage snapshot for the enforced member entitlement.

The current backend limit is membership-row based, not unique tenant seats. A user added to two workspaces consumes two memberships.

Response

200OKany

Successful Response

Response fields application/json
any

Workspace Service / Projects

Projects — Workspace Service

List Projects

GET
http://localhost:8006/api/v1/workspaces/{workspace_id}/projects

Parameters

workspace_idstring<uuid>requiredpath
skipinteger>= 00query
limitinteger[1, 100]20query
status_filterWorkspaceService_ProjectStatus | nullquery
searchstring | nullquery

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
workspace_idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
statusstringrequired
has_production_activitybooleanfalse
production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Create Project

POST
http://localhost:8006/api/v1/workspaces/{workspace_id}/projects

Body

application/json
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null

Parameters

workspace_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
workspace_idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
statusstringrequired
has_production_activitybooleanfalse
production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Project By Workspace

GET
http://localhost:8006/api/v1/workspaces/{workspace_id}/projects/{project_id}

Parameters

workspace_idstring<uuid>requiredpath
project_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
workspace_idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
statusstringrequired
has_production_activitybooleanfalse
production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Project By Workspace

PUT
http://localhost:8006/api/v1/workspaces/{workspace_id}/projects/{project_id}

Body

application/json
namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
statusWorkspaceService_ProjectStatus | null
Show child attributes
Any of
WorkspaceService_ProjectStatusdraftactivecompletedarchiveddeleted
null

Parameters

workspace_idstring<uuid>requiredpath
project_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
workspace_idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
statusstringrequired
has_production_activitybooleanfalse
production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Delete Project By Workspace

DELETE
http://localhost:8006/api/v1/workspaces/{workspace_id}/projects/{project_id}

Parameters

workspace_idstring<uuid>requiredpath
project_idstring<uuid>requiredpath

Response

202Acceptedany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Project Lifecycle

GET
http://localhost:8006/api/v1/workspaces/{workspace_id}/projects/{project_id}/lifecycle

Read the lifecycle state of a project (internal).

Returns status + the monotonic production-activity invariant WITHOUT any user-RBAC requirement, so peer services can gate production operations for enumerator-context callers (who lack PROJECT_READ). Service-token auth only.

Parameters

workspace_idstring<uuid>requiredpath
project_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Mark Production Activity

POST
http://localhost:8006/api/v1/workspaces/{workspace_id}/projects/{project_id}/production-activity

Mark that production collection has begun for a project (internal).

Sets the durable monotonic invariant has_production_activity — called by peer services (via the survey-service broker) at the first production interview/response/media event. Idempotent; set-only; never cleared.

  • Project DRAFT -> 409 project_not_active (collection cannot begin)
  • Project COMPLETED/ARCHIVED with invariant FALSE -> 409 collection_closed
  • Project ACTIVE -> invariant set to TRUE (no-op if already set)

Parameters

workspace_idstring<uuid>requiredpath
project_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Webhook Service

Webhook subscriptions and delivery tracking

Webhook Service / Health

Health — Webhook Service

Webhook Service / Webhook Subscriptions

Webhook Subscriptions — Webhook Service

List Subscriptions

GET
http://localhost:8007/api/v1/webhooks/subscriptions

List all webhook subscriptions for the tenant.

Parameters

skipinteger>= 00query
limitinteger[1, 100]20query
is_activeboolean | nullquery

Response

Successful Response

Response fields application/json

DTO for list of webhook subscriptions.

Show child attributes

DTO for webhook subscription response.

idstringrequired
namestringrequired
urlstringrequired
event_typesArray<string>required
survey_idstring | nullrequired
Show child attributes
Any of
string
null
project_idstring | nullrequired
Show child attributes
Any of
string
null
workspace_idstring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
created_atstring<date-time>required
updated_atstring<date-time>required
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired
422Unprocessable EntityWebhookService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Create Subscription

POST
http://localhost:8007/api/v1/webhooks/subscriptions

Create a new webhook subscription.

Body

application/json

DTO for creating a webhook subscription.

namestringrequired
urlstringrequired
event_typesArray<string>required
survey_idstring | null
Show child attributes
Any of
string
null
project_idstring | null
Show child attributes
Any of
string
null
workspace_idstring | null
Show child attributes
Any of
string
null
secretstring | null
Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json

DTO for webhook subscription response.

idstringrequired
namestringrequired
urlstringrequired
event_typesArray<string>required
survey_idstring | nullrequired
Show child attributes
Any of
string
null
project_idstring | nullrequired
Show child attributes
Any of
string
null
workspace_idstring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
created_atstring<date-time>required
updated_atstring<date-time>required
422Unprocessable EntityWebhookService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Subscription

GET
http://localhost:8007/api/v1/webhooks/subscriptions/{subscription_id}

Get a specific webhook subscription.

Parameters

subscription_idstringrequiredpath

Response

Successful Response

Response fields application/json

DTO for webhook subscription response.

idstringrequired
namestringrequired
urlstringrequired
event_typesArray<string>required
survey_idstring | nullrequired
Show child attributes
Any of
string
null
project_idstring | nullrequired
Show child attributes
Any of
string
null
workspace_idstring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
created_atstring<date-time>required
updated_atstring<date-time>required
422Unprocessable EntityWebhookService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Update Subscription

PUT
http://localhost:8007/api/v1/webhooks/subscriptions/{subscription_id}

Update a webhook subscription.

Body

application/json

DTO for updating a webhook subscription.

namestring | null
Show child attributes
Any of
string
null
urlstring | null
Show child attributes
Any of
string
null
event_typesArray<string> | null
Show child attributes
Any of
Array<string>
null
is_activeboolean | null
Show child attributes
Any of
boolean
null

Parameters

subscription_idstringrequiredpath

Response

Successful Response

Response fields application/json

DTO for webhook subscription response.

idstringrequired
namestringrequired
urlstringrequired
event_typesArray<string>required
survey_idstring | nullrequired
Show child attributes
Any of
string
null
project_idstring | nullrequired
Show child attributes
Any of
string
null
workspace_idstring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
created_atstring<date-time>required
updated_atstring<date-time>required
422Unprocessable EntityWebhookService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Delete Subscription

DELETE
http://localhost:8007/api/v1/webhooks/subscriptions/{subscription_id}

Delete a webhook subscription.

Parameters

subscription_idstringrequiredpath

Response

204No Content

Successful Response

422Unprocessable EntityWebhookService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Toggle Subscription

POST
http://localhost:8007/api/v1/webhooks/subscriptions/{subscription_id}/toggle

Toggle subscription active status.

Parameters

subscription_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityWebhookService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Rotate Secret

POST
http://localhost:8007/api/v1/webhooks/subscriptions/{subscription_id}/rotate-secret

Rotate the secret for a webhook subscription.

Parameters

subscription_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityWebhookService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Test Webhook

POST
http://localhost:8007/api/v1/webhooks/subscriptions/{subscription_id}/test

Trigger a test event for a specific webhook subscription.

Parameters

subscription_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityWebhookService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Webhook Service / Webhook Deliveries

Webhook Deliveries — Webhook Service

List Deliveries

GET
http://localhost:8007/api/v1/webhooks/deliveries

List webhook deliveries for the tenant.

Parameters

subscription_idstring | nullquery
statusstring | nullquery
event_typestring | nullquery
skipinteger>= 00query
limitinteger[1, 100]20query

Response

Successful Response

Response fields application/json

DTO for list of webhook deliveries.

Show child attributes

DTO for webhook delivery response.

idstringrequired
subscription_idstringrequired
event_idstringrequired
event_typestringrequired
statusstringrequired
http_statusinteger | nullrequired
Show child attributes
Any of
integer
null
retry_countintegerrequired
attempted_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
delivered_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
error_messagestring | nullrequired
Show child attributes
Any of
string
null
created_atstring<date-time>required
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired
422Unprocessable EntityWebhookService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Delivery

GET
http://localhost:8007/api/v1/webhooks/deliveries/{delivery_id}

Get details of a specific webhook delivery.

Parameters

delivery_idstringrequiredpath

Response

Successful Response

Response fields application/json

DTO for webhook delivery response.

idstringrequired
subscription_idstringrequired
event_idstringrequired
event_typestringrequired
statusstringrequired
http_statusinteger | nullrequired
Show child attributes
Any of
integer
null
retry_countintegerrequired
attempted_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
delivered_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
error_messagestring | nullrequired
Show child attributes
Any of
string
null
created_atstring<date-time>required
422Unprocessable EntityWebhookService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Retry Delivery

POST
http://localhost:8007/api/v1/webhooks/deliveries/{delivery_id}/retry

Manually retry a failed webhook delivery.

Parameters

delivery_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityWebhookService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Delivery Stats

GET
http://localhost:8007/api/v1/webhooks/deliveries/stats/overview

Get delivery statistics for the tenant.

Response

200OKany

Successful Response

Response fields application/json
any

ODK Bridge

ODK Aggregate-compatible endpoints: form list, form download, submissions

ODK Bridge / Health

Health — ODK Bridge

ODK Bridge / ODK Forms

ODK Forms — ODK Bridge

List Forms

GET
http://localhost:8009/formList

OpenRosa Form List API Returns XML list of available forms for the device/user

Parameters

formIDstringquery
verbosebooleantruequery

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityOdkBridge_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Download Form

GET
http://localhost:8009/download/{form_id}

Download XForm definition (XML) Converts internal survey schema to ODK XForm format

Parameters

form_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityOdkBridge_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

ODK Bridge / ODK Submissions

ODK Submissions — ODK Bridge

Submit Form

POST
http://localhost:8009/submission

OpenRosa Form Submission API Accepts XML submission with optional media attachments

Body

multipart/form-data
xml_submission_filestringrequired
attachmentsArray<string>

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityOdkBridge_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Pull From Central

POST
http://localhost:8009/pull-from-central

Trigger a pull of new submissions from ODK Central.

  1. Connects to Central API
  2. Fetches new submissions since last sync
  3. Processes each and pushes to data-service

Parameters

form_idstring | nullquery

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityOdkBridge_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Form Service

Form rendering, sessions, drafts, interviews, notes, validation, RID blocks

Get Migration Version

GET
http://localhost:8010/api/v1/migrations/version

Get current Alembic migration version for specific tenant.

Response

200OKany

Successful Response

Response fields application/json
any

Run Cleanup

POST
http://localhost:8010/api/v1/cleanup/run

Run cleanup job to remove expired sessions and drafts.

Args: dry_run: If True, don't actually delete anything tenant_id: Optional specific tenant to cleanup (admin only)

Parameters

dry_runbooleanfalsequery
tenant_idstring | nullquery

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Form Service / Health

Health — Form Service

Form Service / Form Rendering

Form Rendering — Form Service

Render form for filling

GET
http://localhost:8010/api/v1/forms/{survey_id}/render

Render a survey form for user to fill. Creates a new session or continues an existing interview session.

Parameters

survey_idstring<uuid>requiredpath
version_idstring | nullquery

Specific version to render

languagestringenquery

Form language

prefillstring | nullquery

JSON-encoded prefill data

prefill_respondent_idstring | nullquery

Pre-fill from latest response by this respondent_id

prefill_unique_idstring | nullquery

Pre-fill from response matching this unique_id

interview_idstring | nullquery

Continue an existing interview session

Response

Successful Response

Response fields application/json

Response containing rendered form data.

session_idstring<uuid>required
session_tokenstringrequired
survey_idstring<uuid>required
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
form_schemaobjectrequired
form_htmlstring | null
Show child attributes
Any of
string
null
prefill_dataobject | null
Show child attributes
Any of
object
null
total_pagesintegerrequired
current_pageinteger0
expires_atstring<date-time>required
supports_offlinebooleanfalse
lookup_dataobject | null
Show child attributes
Any of
[key: string]object
Show child attributes
[key: string]object
null
trigger_questionsArray<string>
referee_questionsobject[object Object]
Show child attributes
[key: string]Array<string>
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get pre-fill data from previous response

GET
http://localhost:8010/api/v1/forms/{survey_id}/prefill

Fetch pre-fill data from a previous response by respondent_id or unique_id.

Parameters

survey_idstring<uuid>requiredpath
respondent_idstring | nullquery

Respondent identifier for repeat respondent pre-fill

unique_idstring | nullquery

Unique ID value from previous response

Response

Successful Response

Response fields application/json

Response containing pre-fill data from a previous response.

prefill_dataobject

Field name to value mapping for pre-fill

source_response_idstringrequired

ID of the source response

source_submitted_atstring | null

When the source response was submitted

Show child attributes
Any of
string
null
prefill_fieldsArray<string>

List of field names that were pre-filled

422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Preview form without session

GET
http://localhost:8010/api/v1/forms/{survey_id}/preview

Preview a form schema without creating a session.

Parameters

survey_idstring<uuid>requiredpath
version_idstring | nullquery
languagestringenquery

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get offline manifest

GET
http://localhost:8010/api/v1/forms/{survey_id}/manifest

Get manifest for offline form support (service worker).

Parameters

survey_idstring<uuid>requiredpath
version_idstring | nullquery

Response

Successful Response

Response fields application/json

Response for offline form manifest.

survey_idstring<uuid>required
version_idstring | null
Show child attributes
Any of
string<uuid>
null
manifest_versionstringrequired
form_filesArray<object>required
Show child attributes
[key: string]string
media_filesArray<object>required
Show child attributes
[key: string]string
last_updatedstring<date-time>required
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Form Service / Form Submission

Form Submission — Form Service

Submit completed form

POST
http://localhost:8010/api/v1/forms/submit

Submit a completed form response.

Body

application/json

Request to submit a completed form.

session_tokenstringrequired
form_dataobjectrequired
is_completebooleantrue
current_pageinteger | null
Show child attributes
Any of
integer
null
client_timestampstring | null
Show child attributes
Any of
string<date-time>
null
duration_secondsinteger | null

Active form filling duration in seconds, excluding paused time

Show child attributes
Any of
integer[0, 2592000]
null
offline_submissionbooleanfalse
offline_queued_atstring | null
Show child attributes
Any of
string<date-time>
null
edit_response_idstring | null
Show child attributes
Any of
string
null
version_idstring | null
Show child attributes
Any of
string<uuid>
null
interview_idstring | null

Interview execution ID (cross-service correlation)

Show child attributes
Any of
string<uuid>
null
languagestring | null

Language code used for this submission (e.g., 'en', 'es', 'fr')

Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json

Response after form submission.

successbooleanrequired
response_idstring | null
Show child attributes
Any of
string<uuid>
null
session_idstring<uuid>required
version_idstring | null
Show child attributes
Any of
string<uuid>
null
submitted_atstring<date-time>required
validation_errorsArray<object>
messagestring | null
Show child attributes
Any of
string
null
response_languagestring | null
Show child attributes
Any of
string
null
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Submit offline form

POST
http://localhost:8010/api/v1/forms/submit/offline

Submit a form that was filled offline.

Body

application/json

Request to submit a completed form.

session_tokenstringrequired
form_dataobjectrequired
is_completebooleantrue
current_pageinteger | null
Show child attributes
Any of
integer
null
client_timestampstring | null
Show child attributes
Any of
string<date-time>
null
duration_secondsinteger | null

Active form filling duration in seconds, excluding paused time

Show child attributes
Any of
integer[0, 2592000]
null
offline_submissionbooleanfalse
offline_queued_atstring | null
Show child attributes
Any of
string<date-time>
null
edit_response_idstring | null
Show child attributes
Any of
string
null
version_idstring | null
Show child attributes
Any of
string<uuid>
null
interview_idstring | null

Interview execution ID (cross-service correlation)

Show child attributes
Any of
string<uuid>
null
languagestring | null

Language code used for this submission (e.g., 'en', 'es', 'fr')

Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json

Response after form submission.

successbooleanrequired
response_idstring | null
Show child attributes
Any of
string<uuid>
null
session_idstring<uuid>required
version_idstring | null
Show child attributes
Any of
string<uuid>
null
submitted_atstring<date-time>required
validation_errorsArray<object>
messagestring | null
Show child attributes
Any of
string
null
response_languagestring | null
Show child attributes
Any of
string
null
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Validate form data

POST
http://localhost:8010/api/v1/forms/validate

Validate form data without submitting.

Body

application/json

Request to validate form data without submitting.

session_tokenstringrequired
form_dataobjectrequired
validate_allbooleanfalse
fields_to_validateArray<string> | null
Show child attributes
Any of
Array<string>
null

Response

Successful Response

Response fields application/json

Response with validation results.

is_validbooleanrequired
errorsArray<object>
warningsArray<object>
completion_percentageinteger0
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Form Service / Draft Management

Draft Management — Form Service

List user's drafts

GET
http://localhost:8010/api/v1/forms/drafts

List all drafts for the current user.

Parameters

survey_idstring | nullquery

Filter by survey ID

statusstring | nullquery

Filter by status

skipinteger>= 00query
limitinteger[1, 100]20query

Response

Successful Response

Response fields application/json

Response containing list of drafts.

Show child attributes

Response containing draft information.

idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
user_idstring | null
Show child attributes
Any of
string<uuid>
null
device_idstring | null
Show child attributes
Any of
string
null
survey_idstring<uuid>required
session_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
namestring | null
Show child attributes
Any of
string
null
draft_dataobjectrequired
current_pageintegerrequired
completed_fields_countintegerrequired
total_fields_countinteger | null
Show child attributes
Any of
integer
null
completion_percentageintegerrequired
statusstringrequired
version_tokeninteger1
content_hashstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
is_deletedbooleanfalse
deleted_atstring | null
Show child attributes
Any of
string<date-time>
null
validation_errorsArray<object>
is_auto_savedbooleanfalse
reconciliation_grant_idstring | null
Show child attributes
Any of
string<uuid>
null
reconciled_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
totalintegerrequired
skipinteger0
limitinteger20
has_nextbooleanrequired
has_previousbooleanrequired
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Create draft

POST
http://localhost:8010/api/v1/forms/drafts

Create a new draft with sync and idempotency support.

Body

application/json

Request to create a new draft.

idstring | null
Show child attributes
Any of
string<uuid>
null
survey_idstring<uuid>required
session_idstring | null
Show child attributes
Any of
string<uuid>
null
namestring | null
Show child attributes
Any of
string
null
draft_dataobject
current_pageinteger0
survey_version_idstring | null

Pinned immutable survey schema version ID

Show child attributes
Any of
string<uuid>
null
device_idstring | null
Show child attributes
Any of
string
null
content_hashstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json

Response containing draft information.

idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
user_idstring | null
Show child attributes
Any of
string<uuid>
null
device_idstring | null
Show child attributes
Any of
string
null
survey_idstring<uuid>required
session_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
namestring | null
Show child attributes
Any of
string
null
draft_dataobjectrequired
current_pageintegerrequired
completed_fields_countintegerrequired
total_fields_countinteger | null
Show child attributes
Any of
integer
null
completion_percentageintegerrequired
statusstringrequired
version_tokeninteger1
content_hashstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
is_deletedbooleanfalse
deleted_atstring | null
Show child attributes
Any of
string<date-time>
null
validation_errorsArray<object>
is_auto_savedbooleanfalse
reconciliation_grant_idstring | null
Show child attributes
Any of
string<uuid>
null
reconciled_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Delta sync drafts

GET
http://localhost:8010/api/v1/forms/drafts/delta

Pull drafts updated since a given cursor timestamp or keyset cursor, including tombstones (Wave 9 / R24).

Parameters

cursorstring | nullquery

Opaque keyset cursor for delta pagination

updated_sincestring | nullquery

ISO-8601 timestamp cursor (legacy fallback)

limitinteger[1, 100]50query

Response

Successful Response

Response fields application/json

Response containing delta sync drafts since cursor.

Show child attributes

Response containing draft information.

idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
user_idstring | null
Show child attributes
Any of
string<uuid>
null
device_idstring | null
Show child attributes
Any of
string
null
survey_idstring<uuid>required
session_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
namestring | null
Show child attributes
Any of
string
null
draft_dataobjectrequired
current_pageintegerrequired
completed_fields_countintegerrequired
total_fields_countinteger | null
Show child attributes
Any of
integer
null
completion_percentageintegerrequired
statusstringrequired
version_tokeninteger1
content_hashstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
is_deletedbooleanfalse
deleted_atstring | null
Show child attributes
Any of
string<date-time>
null
validation_errorsArray<object>
is_auto_savedbooleanfalse
reconciliation_grant_idstring | null
Show child attributes
Any of
string<uuid>
null
reconciled_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
server_timestampstringrequired
totalintegerrequired
has_nextbooleanrequired
next_cursorstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

List all drafts (admin)

GET
http://localhost:8010/api/v1/forms/drafts/all

List all drafts across users (admin only).

Parameters

survey_idstring | nullquery
user_idstring | nullquery
statusstring | nullquery
skipinteger>= 00query
limitinteger[1, 100]20query

Response

Successful Response

Response fields application/json

Response containing list of drafts.

Show child attributes

Response containing draft information.

idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
user_idstring | null
Show child attributes
Any of
string<uuid>
null
device_idstring | null
Show child attributes
Any of
string
null
survey_idstring<uuid>required
session_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
namestring | null
Show child attributes
Any of
string
null
draft_dataobjectrequired
current_pageintegerrequired
completed_fields_countintegerrequired
total_fields_countinteger | null
Show child attributes
Any of
integer
null
completion_percentageintegerrequired
statusstringrequired
version_tokeninteger1
content_hashstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
is_deletedbooleanfalse
deleted_atstring | null
Show child attributes
Any of
string<date-time>
null
validation_errorsArray<object>
is_auto_savedbooleanfalse
reconciliation_grant_idstring | null
Show child attributes
Any of
string<uuid>
null
reconciled_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
totalintegerrequired
skipinteger0
limitinteger20
has_nextbooleanrequired
has_previousbooleanrequired
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get draft

GET
http://localhost:8010/api/v1/forms/drafts/{draft_id}

Get a specific draft by ID.

Parameters

draft_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json

Response containing draft information.

idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
user_idstring | null
Show child attributes
Any of
string<uuid>
null
device_idstring | null
Show child attributes
Any of
string
null
survey_idstring<uuid>required
session_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
namestring | null
Show child attributes
Any of
string
null
draft_dataobjectrequired
current_pageintegerrequired
completed_fields_countintegerrequired
total_fields_countinteger | null
Show child attributes
Any of
integer
null
completion_percentageintegerrequired
statusstringrequired
version_tokeninteger1
content_hashstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
is_deletedbooleanfalse
deleted_atstring | null
Show child attributes
Any of
string<date-time>
null
validation_errorsArray<object>
is_auto_savedbooleanfalse
reconciliation_grant_idstring | null
Show child attributes
Any of
string<uuid>
null
reconciled_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Update draft

PUT
http://localhost:8010/api/v1/forms/drafts/{draft_id}

Update an existing draft with optimistic concurrency checks.

Body

application/json

Request to update an existing draft.

draft_dataobject | null
Show child attributes
Any of
object
null
namestring | null
Show child attributes
Any of
string
null
current_pageinteger | null
Show child attributes
Any of
integer
null
is_auto_savebooleanfalse
version_tokeninteger>= 11

Expected current server version token

device_idstring | null
Show child attributes
Any of
string
null
content_hashstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null

Parameters

draft_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json

Response containing draft information.

idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
user_idstring | null
Show child attributes
Any of
string<uuid>
null
device_idstring | null
Show child attributes
Any of
string
null
survey_idstring<uuid>required
session_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
namestring | null
Show child attributes
Any of
string
null
draft_dataobjectrequired
current_pageintegerrequired
completed_fields_countintegerrequired
total_fields_countinteger | null
Show child attributes
Any of
integer
null
completion_percentageintegerrequired
statusstringrequired
version_tokeninteger1
content_hashstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
is_deletedbooleanfalse
deleted_atstring | null
Show child attributes
Any of
string<date-time>
null
validation_errorsArray<object>
is_auto_savedbooleanfalse
reconciliation_grant_idstring | null
Show child attributes
Any of
string<uuid>
null
reconciled_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
expires_atstring | null
Show child attributes
Any of
string<date-time>
null

Optimistic concurrency conflict

Response fields application/json

Response returned upon an optimistic concurrency conflict (HTTP 409).

errorstringDRAFT_CONFLICT
messagestringrequired
draft_idstring<uuid>required
server_version_tokenintegerrequired
client_version_tokeninteger | null
Show child attributes
Any of
integer
null
server_content_hashstring | null
Show child attributes
Any of
string
null
client_content_hashstring | null
Show child attributes
Any of
string
null
server_device_idstring | null
Show child attributes
Any of
string
null
server_updated_atstringrequired
server_draft_dataobjectrequired
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Delete draft

DELETE
http://localhost:8010/api/v1/forms/drafts/{draft_id}

Soft-delete a draft with tombstone so stale devices do not resurrect it.

Parameters

draft_idstring<uuid>requiredpath

Response

204No Content

Successful Response

422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Drain and archive offline draft after authorization revocation

POST
http://localhost:8010/api/v1/forms/drafts/drain-revoked

Validates pre-revocation editing timestamps against historical authorization, setting status to 'archived_revoked'.

Body

application/json

Request to drain an offline draft whose user's assignment was revoked.

idstring<uuid>required

Unique draft identifier

survey_idstring<uuid>required

Survey identifier

survey_version_idstring | null

Pinned survey schema version ID

Show child attributes
Any of
string<uuid>
null
namestring | null
Show child attributes
Any of
string
null
draft_dataobject

Answers captured in draft

current_pageinteger0
device_idstringrequired

Attribution device ID (must not be placeholder)

version_tokeninteger>= 11

Client version token

content_hashstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null

Reconciliation grant ID

Show child attributes
Any of
string<uuid>
null
lastModifiedAtstring<date-time>required

Timestamp of the last offline edit to the draft

reconciliation_reasonstring | null

Optional domain note or reason

Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json

Response containing draft information.

idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
user_idstring | null
Show child attributes
Any of
string<uuid>
null
device_idstring | null
Show child attributes
Any of
string
null
survey_idstring<uuid>required
session_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
namestring | null
Show child attributes
Any of
string
null
draft_dataobjectrequired
current_pageintegerrequired
completed_fields_countintegerrequired
total_fields_countinteger | null
Show child attributes
Any of
integer
null
completion_percentageintegerrequired
statusstringrequired
version_tokeninteger1
content_hashstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
is_deletedbooleanfalse
deleted_atstring | null
Show child attributes
Any of
string<date-time>
null
validation_errorsArray<object>
is_auto_savedbooleanfalse
reconciliation_grant_idstring | null
Show child attributes
Any of
string<uuid>
null
reconciled_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Form Service / Session Management

Session Management — Form Service

List user's sessions

GET
http://localhost:8010/api/v1/forms/sessions

List all form sessions for the current user.

Parameters

survey_idstring | nullquery

Filter by survey ID

statusstring | nullquery

Filter by status

skipinteger>= 00query
limitinteger[1, 100]20query

Response

Successful Response

Response fields application/json

Response containing list of sessions.

Show child attributes

Response containing session information.

idstring<uuid>required
survey_idstring<uuid>required
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
session_tokenstringrequired
statusstringrequired
current_pageintegerrequired
total_pagesinteger | null
Show child attributes
Any of
integer
null
progress_percentageintegerrequired
is_offlinebooleanrequired
started_atstring<date-time>required
last_activity_atstring<date-time>required
expires_atstring<date-time>required
completed_atstring | null
Show child attributes
Any of
string<date-time>
null
response_idstring | null
Show child attributes
Any of
string<uuid>
null
metadataobject[object Object]
totalintegerrequired
skipinteger0
limitinteger20
has_nextbooleanrequired
has_previousbooleanrequired
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

List all sessions (admin)

GET
http://localhost:8010/api/v1/forms/sessions/all

List all form sessions across users (admin only).

Parameters

survey_idstring | nullquery
user_idstring | nullquery
statusstring | nullquery
skipinteger>= 00query
limitinteger[1, 100]20query

Response

Successful Response

Response fields application/json

Response containing list of sessions.

Show child attributes

Response containing session information.

idstring<uuid>required
survey_idstring<uuid>required
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
session_tokenstringrequired
statusstringrequired
current_pageintegerrequired
total_pagesinteger | null
Show child attributes
Any of
integer
null
progress_percentageintegerrequired
is_offlinebooleanrequired
started_atstring<date-time>required
last_activity_atstring<date-time>required
expires_atstring<date-time>required
completed_atstring | null
Show child attributes
Any of
string<date-time>
null
response_idstring | null
Show child attributes
Any of
string<uuid>
null
metadataobject[object Object]
totalintegerrequired
skipinteger0
limitinteger20
has_nextbooleanrequired
has_previousbooleanrequired
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get session

GET
http://localhost:8010/api/v1/forms/sessions/{session_id}

Get a specific session by ID.

Parameters

session_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json

Response containing session information.

idstring<uuid>required
survey_idstring<uuid>required
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
session_tokenstringrequired
statusstringrequired
current_pageintegerrequired
total_pagesinteger | null
Show child attributes
Any of
integer
null
progress_percentageintegerrequired
is_offlinebooleanrequired
started_atstring<date-time>required
last_activity_atstring<date-time>required
expires_atstring<date-time>required
completed_atstring | null
Show child attributes
Any of
string<date-time>
null
response_idstring | null
Show child attributes
Any of
string<uuid>
null
metadataobject[object Object]
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Delete session

DELETE
http://localhost:8010/api/v1/forms/sessions/{session_id}

Delete/invalidate a session.

Parameters

session_idstring<uuid>requiredpath

Response

204No Content

Successful Response

422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get session by token

GET
http://localhost:8010/api/v1/forms/sessions/token/{session_token}

Get a session by its token.

Parameters

session_tokenstringrequiredpath

Response

Successful Response

Response fields application/json

Response containing session information.

idstring<uuid>required
survey_idstring<uuid>required
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
session_tokenstringrequired
statusstringrequired
current_pageintegerrequired
total_pagesinteger | null
Show child attributes
Any of
integer
null
progress_percentageintegerrequired
is_offlinebooleanrequired
started_atstring<date-time>required
last_activity_atstring<date-time>required
expires_atstring<date-time>required
completed_atstring | null
Show child attributes
Any of
string<date-time>
null
response_idstring | null
Show child attributes
Any of
string<uuid>
null
metadataobject[object Object]
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Form Service / Lookups

Lookups — Form Service

Resolve lookup values

GET
http://localhost:8010/api/v1/forms/{session_token}/lookup

Resolve referee question values from lookup data based on trigger question answer.

Parameters

session_tokenstringrequiredpath
trigger_questionstringrequiredquery

Name of trigger question (e.g., 'uid')

trigger_valuestringrequiredquery

Value answered for trigger question

Response

200OKobject

Successful Response

Response fields application/json
object
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Form Service / Validation

Validation — Form Service

Validate single field constraint

POST
http://localhost:8010/api/v1/validation/field

Validate a single field against its XPath constraint

Body

application/json

Request to validate a single field.

session_tokenstringrequired

Form session token

field_namestringrequired

Name of the field to validate

field_valueanyrequired

Current value of the field

form_dataobject

Complete form data

Response

Successful Response

Response fields application/json

Response for single field validation.

is_validbooleanrequired
fieldstringrequired
errorsArray<object>
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Validate entire form

POST
http://localhost:8010/api/v1/validation/form

Validate all field constraints in a form

Body

application/json

Request to validate entire form.

session_tokenstringrequired

Form session token

form_dataobjectrequired

Form data to validate

fields_to_validateArray<string> | null

Optional list of fields to validate (all if not specified)

Show child attributes
Any of
Array<string>
null

Response

Successful Response

Response fields application/json

Response for form validation.

is_validbooleanrequired
errorsArray<object>
total_fieldsintegerrequired
valid_fieldsintegerrequired
invalid_fieldsintegerrequired
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Evaluate XPath expression

POST
http://localhost:8010/api/v1/validation/evaluate

Evaluate an XPath expression with form data context

Body

application/json

Request to evaluate an XPath expression.

session_tokenstringrequired

Form session token

expressionstringrequired

XPath expression to evaluate

form_dataobject

Form data for variable resolution

Response

Successful Response

Response fields application/json

Response for expression evaluation.

successbooleanrequired
resultany
errorstring | null
Show child attributes
Any of
string
null
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

List available XPath functions

GET
http://localhost:8010/api/v1/validation/functions

Get list of all available XPath/ODK functions

Response

200OKany

Successful Response

Response fields application/json
any

Authorization

HTTPBearerhttp (bearer)

Test constraint expression

POST
http://localhost:8010/api/v1/validation/test-constraint

Test a constraint expression with sample data

Body

application/json
object[object Object]

Parameters

constraintstringrequiredquery
field_namestringtest_fieldquery
field_valueanyquery

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Form Service / RID Block Allocation

RID Block Allocation — Form Service

List RID block allocations

GET
http://localhost:8010/api/v1/interviews/rid-blocks

List RID block allocations for the tenant. Field users see their own blocks.

Parameters

survey_idstring | nullquery

Filter by survey ID

device_idstring | nullquery

Filter by device ID

limitinteger[1, 100]50query
offsetinteger>= 00query

Response

Successful Response

Response fields application/json

List of RID block allocations.

Show child attributes

Server-allocated device-bound RID block response (matches mobile RidBlockDto).

idstring<uuid>required
tenant_idstring<uuid>required
survey_idstring<uuid>required
user_idstring<uuid>required
user_codestringrequired
device_idstringrequired
start_seqintegerrequired
end_seqintegerrequired
current_seqintegerrequired
is_exhaustedbooleanfalse
idempotency_keystring | null
Show child attributes
Any of
string
null
created_atstringrequired
totalintegerrequired
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Allocate server-issued device-bound RID block

POST
http://localhost:8010/api/v1/interviews/rid-blocks

Allocate a non-overlapping block of RIDs bound to (tenant, survey, user, device) (R25 / AD-3).

Body

application/json

Request payload for server-allocated device-bound RID block (R25 / AD-3).

survey_idstring<uuid>required

ID of the survey for which RID block is requested

device_idstringrequired

Unique client device ID (non-placeholder)

block_sizeinteger[1, 200]50

Number of sequential RIDs to allocate

idempotency_keystring | null

Client idempotency key for safe retries

Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json

Server-allocated device-bound RID block response (matches mobile RidBlockDto).

idstring<uuid>required
tenant_idstring<uuid>required
survey_idstring<uuid>required
user_idstring<uuid>required
user_codestringrequired
device_idstringrequired
start_seqintegerrequired
end_seqintegerrequired
current_seqintegerrequired
is_exhaustedbooleanfalse
idempotency_keystring | null
Show child attributes
Any of
string
null
created_atstringrequired
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Form Service / Interview Management

Interview Management — Form Service

List interviews

GET
http://localhost:8010/api/v1/interviews

Parameters

status_filterstring | nullquery

Filter by status

survey_idstring | nullquery

Filter by survey ID

interviewer_idstring | nullquery

Filter by interviewer

respondent_idstring | nullquery

Filter by respondent

searchstring | nullquery

Search by session token

sortstring | nullquery

Sort by: last_activity, started_at, completion, created_at

skipinteger>= 00query
limitinteger[1, 100]20query

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_idstring<uuid>required
respondent_idstring | null
Show child attributes
Any of
string<uuid>
null
interviewer_idstring | null
Show child attributes
Any of
string<uuid>
null
session_idstring | null
Show child attributes
Any of
string<uuid>
null
session_tokenstringrequired
statusstringrequired
started_atstring | null
Show child attributes
Any of
string<date-time>
null
paused_atstring | null
Show child attributes
Any of
string<date-time>
null
completed_atstring | null
Show child attributes
Any of
string<date-time>
null
terminated_atstring | null
Show child attributes
Any of
string<date-time>
null
termination_reasonstring | null
Show child attributes
Any of
string
null
last_heartbeat_atstring | null
Show child attributes
Any of
string<date-time>
null
languagestring | null
Show child attributes
Any of
string
null
interview_metadataobject[object Object]
current_pageinteger0
answered_countinteger0
total_questionsinteger0
survey_namestring | null
Show child attributes
Any of
string
null
response_ridstring | null
Show child attributes
Any of
string
null
response_uidstring | null
Show child attributes
Any of
string
null
current_response_idstring | null
Show child attributes
Any of
string<uuid>
null
created_atstring<date-time>required
updated_atstring<date-time>required
totalintegerrequired
skipinteger0
limitinteger20
has_nextbooleanfalse
has_previousbooleanfalse
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Create interview

POST
http://localhost:8010/api/v1/interviews

Body

application/json
survey_idstring<uuid>required
respondent_idstring | null
Show child attributes
Any of
string<uuid>
null
session_tokenstringrequired
total_questionsinteger0
languagestring | null

Active language code during interview (e.g., 'en', 'es', 'hi')

Show child attributes
Any of
string
null
interview_metadataobject[object Object]
survey_namestring | null
Show child attributes
Any of
string
null
response_ridstring | null

DEPRECATED. The server allocates the permanent RID at interview creation. This field is ignored for NEW interviews and only used as a last-resort backfill for legacy interviews created before server-side allocation.

Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_idstring<uuid>required
respondent_idstring | null
Show child attributes
Any of
string<uuid>
null
interviewer_idstring | null
Show child attributes
Any of
string<uuid>
null
session_idstring | null
Show child attributes
Any of
string<uuid>
null
session_tokenstringrequired
statusstringrequired
started_atstring | null
Show child attributes
Any of
string<date-time>
null
paused_atstring | null
Show child attributes
Any of
string<date-time>
null
completed_atstring | null
Show child attributes
Any of
string<date-time>
null
terminated_atstring | null
Show child attributes
Any of
string<date-time>
null
termination_reasonstring | null
Show child attributes
Any of
string
null
last_heartbeat_atstring | null
Show child attributes
Any of
string<date-time>
null
languagestring | null
Show child attributes
Any of
string
null
interview_metadataobject[object Object]
current_pageinteger0
answered_countinteger0
total_questionsinteger0
survey_namestring | null
Show child attributes
Any of
string
null
response_ridstring | null
Show child attributes
Any of
string
null
response_uidstring | null
Show child attributes
Any of
string
null
current_response_idstring | null
Show child attributes
Any of
string<uuid>
null
created_atstring<date-time>required
updated_atstring<date-time>required
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Resolve interview by session token

GET
http://localhost:8010/api/v1/interviews/resolve/by-session-token/{session_token}

Parameters

session_tokenstringrequiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_idstring<uuid>required
respondent_idstring | null
Show child attributes
Any of
string<uuid>
null
interviewer_idstring | null
Show child attributes
Any of
string<uuid>
null
session_idstring | null
Show child attributes
Any of
string<uuid>
null
session_tokenstringrequired
statusstringrequired
started_atstring | null
Show child attributes
Any of
string<date-time>
null
paused_atstring | null
Show child attributes
Any of
string<date-time>
null
completed_atstring | null
Show child attributes
Any of
string<date-time>
null
terminated_atstring | null
Show child attributes
Any of
string<date-time>
null
termination_reasonstring | null
Show child attributes
Any of
string
null
last_heartbeat_atstring | null
Show child attributes
Any of
string<date-time>
null
languagestring | null
Show child attributes
Any of
string
null
interview_metadataobject[object Object]
current_pageinteger0
answered_countinteger0
total_questionsinteger0
survey_namestring | null
Show child attributes
Any of
string
null
response_ridstring | null
Show child attributes
Any of
string
null
response_uidstring | null
Show child attributes
Any of
string
null
current_response_idstring | null
Show child attributes
Any of
string<uuid>
null
created_atstring<date-time>required
updated_atstring<date-time>required
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get interview details

GET
http://localhost:8010/api/v1/interviews/{interview_id}

Parameters

interview_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_idstring<uuid>required
respondent_idstring | null
Show child attributes
Any of
string<uuid>
null
interviewer_idstring | null
Show child attributes
Any of
string<uuid>
null
session_idstring | null
Show child attributes
Any of
string<uuid>
null
session_tokenstringrequired
statusstringrequired
started_atstring | null
Show child attributes
Any of
string<date-time>
null
paused_atstring | null
Show child attributes
Any of
string<date-time>
null
completed_atstring | null
Show child attributes
Any of
string<date-time>
null
terminated_atstring | null
Show child attributes
Any of
string<date-time>
null
termination_reasonstring | null
Show child attributes
Any of
string
null
last_heartbeat_atstring | null
Show child attributes
Any of
string<date-time>
null
languagestring | null
Show child attributes
Any of
string
null
interview_metadataobject[object Object]
current_pageinteger0
answered_countinteger0
total_questionsinteger0
survey_namestring | null
Show child attributes
Any of
string
null
response_ridstring | null
Show child attributes
Any of
string
null
response_uidstring | null
Show child attributes
Any of
string
null
current_response_idstring | null
Show child attributes
Any of
string<uuid>
null
created_atstring<date-time>required
updated_atstring<date-time>required
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Soft-delete interview (only if status is created)

DELETE
http://localhost:8010/api/v1/interviews/{interview_id}

Parameters

interview_idstring<uuid>requiredpath

Response

204No Content

Successful Response

422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Update interview metadata

PATCH
http://localhost:8010/api/v1/interviews/{interview_id}

Body

application/json
respondent_idstring | null
Show child attributes
Any of
string<uuid>
null
current_pageinteger | null
Show child attributes
Any of
integer
null
answered_countinteger | null
Show child attributes
Any of
integer
null
total_questionsinteger | null
Show child attributes
Any of
integer
null
interview_metadataobject | null
Show child attributes
Any of
object
null

Parameters

interview_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_idstring<uuid>required
respondent_idstring | null
Show child attributes
Any of
string<uuid>
null
interviewer_idstring | null
Show child attributes
Any of
string<uuid>
null
session_idstring | null
Show child attributes
Any of
string<uuid>
null
session_tokenstringrequired
statusstringrequired
started_atstring | null
Show child attributes
Any of
string<date-time>
null
paused_atstring | null
Show child attributes
Any of
string<date-time>
null
completed_atstring | null
Show child attributes
Any of
string<date-time>
null
terminated_atstring | null
Show child attributes
Any of
string<date-time>
null
termination_reasonstring | null
Show child attributes
Any of
string
null
last_heartbeat_atstring | null
Show child attributes
Any of
string<date-time>
null
languagestring | null
Show child attributes
Any of
string
null
interview_metadataobject[object Object]
current_pageinteger0
answered_countinteger0
total_questionsinteger0
survey_namestring | null
Show child attributes
Any of
string
null
response_ridstring | null
Show child attributes
Any of
string
null
response_uidstring | null
Show child attributes
Any of
string
null
current_response_idstring | null
Show child attributes
Any of
string<uuid>
null
created_atstring<date-time>required
updated_atstring<date-time>required
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Transition interview status

POST
http://localhost:8010/api/v1/interviews/{interview_id}/transition

Body

application/json
to_statusstringrequired
termination_reasonstring | null
Show child attributes
Any of
string
null
explanatory_textstring | null
Show child attributes
Any of
string
null
form_dataobject | null
Show child attributes
Any of
object
null
is_completeboolean | null
Show child attributes
Any of
boolean
null
current_pageinteger | null
Show child attributes
Any of
integer
null
version_idstring | null
Show child attributes
Any of
string
null
edit_response_idstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
question_paradataobject | null

Phase-1 question paradata (T). Additive — merged into InterviewExecution.interview_metadata.question_paradata before the transition, and forwarded to data-service response_metadata at completion/retained termination. Existing metadata keys are preserved.

Show child attributes
Any of
object
null

Parameters

interview_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_idstring<uuid>required
respondent_idstring | null
Show child attributes
Any of
string<uuid>
null
interviewer_idstring | null
Show child attributes
Any of
string<uuid>
null
session_idstring | null
Show child attributes
Any of
string<uuid>
null
session_tokenstringrequired
statusstringrequired
started_atstring | null
Show child attributes
Any of
string<date-time>
null
paused_atstring | null
Show child attributes
Any of
string<date-time>
null
completed_atstring | null
Show child attributes
Any of
string<date-time>
null
terminated_atstring | null
Show child attributes
Any of
string<date-time>
null
termination_reasonstring | null
Show child attributes
Any of
string
null
last_heartbeat_atstring | null
Show child attributes
Any of
string<date-time>
null
languagestring | null
Show child attributes
Any of
string
null
interview_metadataobject[object Object]
current_pageinteger0
answered_countinteger0
total_questionsinteger0
survey_namestring | null
Show child attributes
Any of
string
null
response_ridstring | null
Show child attributes
Any of
string
null
response_uidstring | null
Show child attributes
Any of
string
null
current_response_idstring | null
Show child attributes
Any of
string<uuid>
null
created_atstring<date-time>required
updated_atstring<date-time>required
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get termination details for an interview

GET
http://localhost:8010/api/v1/interviews/{interview_id}/termination

Parameters

interview_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
interview_idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
termination_reasonstringrequired
explanatory_textstring | null
Show child attributes
Any of
string
null
retain_partial_databooleanrequired
discard_databooleanrequired
notify_supervisorbooleanrequired
supervisor_notifiedbooleanrequired
supervisor_notified_atstring | null
Show child attributes
Any of
string<date-time>
null
data_action_takenstring | null
Show child attributes
Any of
string
null
terminated_bystring<uuid>required
created_atstring<date-time>required
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

List all termination reason options with policies

GET
http://localhost:8010/api/v1/interviews/termination-policies

Response

Successful Response

Response fields application/json
Show child attributes
codestringrequired
display_labelstringrequired
Show child attributes
retain_partial_databooleanrequired
discard_databooleanrequired
notify_supervisorbooleanrequired
requires_explanatory_textbooleanrequired

Authorization

HTTPBearerhttp (bearer)

Retry pending partial submission for terminated interview

POST
http://localhost:8010/api/v1/interviews/{interview_id}/retry-submission

Retry a pending partial submission for a terminated interview.

This is used when the initial submission failed and the user wants to manually retry, or when the sync engine automatically retries during crash recovery.

Parameters

interview_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
interview_idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
termination_reasonstringrequired
explanatory_textstring | null
Show child attributes
Any of
string
null
retain_partial_databooleanrequired
discard_databooleanrequired
notify_supervisorbooleanrequired
supervisor_notifiedbooleanrequired
supervisor_notified_atstring | null
Show child attributes
Any of
string<date-time>
null
data_action_takenstring | null
Show child attributes
Any of
string
null
terminated_bystring<uuid>required
created_atstring<date-time>required
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Heartbeat ping for active interview

POST
http://localhost:8010/api/v1/interviews/{interview_id}/heartbeat

Parameters

interview_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

List interview events

GET
http://localhost:8010/api/v1/interviews/{interview_id}/events

Parameters

interview_idstring<uuid>requiredpath
skipinteger>= 00query
limitinteger[1, 200]50query

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
interview_idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
from_statusstring | null
Show child attributes
Any of
string
null
to_statusstringrequired
triggered_bystring | null
Show child attributes
Any of
string<uuid>
null
event_metadataobject[object Object]
created_atstring<date-time>required
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Form Service / Interview Notes

Interview Notes — Form Service

List notes for an interview

GET
http://localhost:8010/api/v1/interviews/{interview_id}/notes

Parameters

interview_idstring<uuid>requiredpath
field_namestring | nullquery

Filter by field/question name

categorystring | nullquery

Filter by note category

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
interview_idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
field_namestring | null
Show child attributes
Any of
string
null
textstringrequired
categorystringrequired
author_idstring | null
Show child attributes
Any of
string<uuid>
null
pinnedbooleanfalse
created_atstring<date-time>required
updated_atstring<date-time>required
client_created_atstring | null
Show child attributes
Any of
string<date-time>
null
totalintegerrequired
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Create a note for an interview

POST
http://localhost:8010/api/v1/interviews/{interview_id}/notes

Body

application/json
field_namestring | null
Show child attributes
Any of
string
null
textstringrequired
categorystringgeneral
client_created_atstring | null
Show child attributes
Any of
string<date-time>
null

Parameters

interview_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
interview_idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
field_namestring | null
Show child attributes
Any of
string
null
textstringrequired
categorystringrequired
author_idstring | null
Show child attributes
Any of
string<uuid>
null
pinnedbooleanfalse
created_atstring<date-time>required
updated_atstring<date-time>required
client_created_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get a specific note

GET
http://localhost:8010/api/v1/interviews/{interview_id}/notes/{note_id}

Parameters

interview_idstring<uuid>requiredpath
note_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
interview_idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
field_namestring | null
Show child attributes
Any of
string
null
textstringrequired
categorystringrequired
author_idstring | null
Show child attributes
Any of
string<uuid>
null
pinnedbooleanfalse
created_atstring<date-time>required
updated_atstring<date-time>required
client_created_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Update a note

PUT
http://localhost:8010/api/v1/interviews/{interview_id}/notes/{note_id}

Body

application/json
textstring | null
Show child attributes
Any of
string
null
categorystring | null
Show child attributes
Any of
string
null
pinnedboolean | null
Show child attributes
Any of
boolean
null
field_namestring | null
Show child attributes
Any of
string
null

Parameters

interview_idstring<uuid>requiredpath
note_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
idstring<uuid>required
interview_idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
field_namestring | null
Show child attributes
Any of
string
null
textstringrequired
categorystringrequired
author_idstring | null
Show child attributes
Any of
string<uuid>
null
pinnedbooleanfalse
created_atstring<date-time>required
updated_atstring<date-time>required
client_created_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Delete a note

DELETE
http://localhost:8010/api/v1/interviews/{interview_id}/notes/{note_id}

Parameters

interview_idstring<uuid>requiredpath
note_idstring<uuid>requiredpath

Response

204No Content

Successful Response

422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Batch create notes

POST
http://localhost:8010/api/v1/interviews/{interview_id}/notes/batch

Body

application/json
Show child attributes
field_namestring | null
Show child attributes
Any of
string
null
textstringrequired
categorystringgeneral
client_created_atstring | null
Show child attributes
Any of
string<date-time>
null

Parameters

interview_idstring<uuid>requiredpath

Response

Successful Response

Response fields application/json
Show child attributes
idstring<uuid>required
interview_idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
field_namestring | null
Show child attributes
Any of
string
null
textstringrequired
categorystringrequired
author_idstring | null
Show child attributes
Any of
string<uuid>
null
pinnedbooleanfalse
created_atstring<date-time>required
updated_atstring<date-time>required
client_created_atstring | null
Show child attributes
Any of
string<date-time>
null
422Unprocessable EntityFormService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Media Service

Media upload, download, library, storage usage

Media Service / Health

Health — Media Service

Media Service / Upload

Upload — Media Service

Upload File

POST
http://localhost:8011/api/v1/media/upload

Upload a single file.

Args: file: The file to upload survey_id: Optional survey to associate with response_id: Optional response to associate with is_public: Whether the file is publicly accessible description: Optional file description survey_name: Optional survey name for custom renaming question_name: Optional question name for custom renaming user_name: Optional name of the user uploading the file checksum: Optional expected SHA-256 digest

Returns: Asset metadata including ID, filename, size, and type

Body

multipart/form-data
filestringrequired
survey_idstring | null
Show child attributes
Any of
string
null
response_idstring | null
Show child attributes
Any of
string
null
entity_typestring | null
Show child attributes
Any of
string
null
entity_idstring | null
Show child attributes
Any of
string
null
is_publicbooleanfalse
descriptionstring | null
Show child attributes
Any of
string
null
survey_namestring | null
Show child attributes
Any of
string
null
question_namestring | null
Show child attributes
Any of
string
null
user_namestring | null
Show child attributes
Any of
string
null
device_idstring | null

Device that recorded this media (used for post-closure grant validation)

Show child attributes
Any of
string
null
checksumstring | null

Expected SHA-256 checksum of file

Show child attributes
Any of
string
null

Response

201Createdany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Upload Batch

POST
http://localhost:8011/api/v1/media/upload/batch

Upload multiple files at once.

Args: files: List of files to upload survey_id: Optional survey to associate with response_id: Optional response to associate with user_name: Optional name of the user uploading the files

Returns: Summary of uploaded files and any errors

Body

multipart/form-data
filesArray<string>required
survey_idstring | null
Show child attributes
Any of
string
null
response_idstring | null
Show child attributes
Any of
string
null
entity_typestring | null
Show child attributes
Any of
string
null
entity_idstring | null
Show child attributes
Any of
string
null
user_namestring | null
Show child attributes
Any of
string
null
device_idstring | null

Device that recorded this media (used for post-closure grant validation)

Show child attributes
Any of
string
null

Response

201Createdany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Upload Chunk

POST
http://localhost:8011/api/v1/media/upload/chunk

Upload a single chunk of a large media file.

Mobile uploads files in 512KB chunks, posting each to this endpoint with the same upload_id. Chunks are staged on disk; when the final chunk (chunk_index == total_chunks - 1) arrives the full file is reassembled and stored via the standard media pipeline (compression, checksum, DB record).

  • survey_id is REQUIRED for production-bound uploads (project lifecycle gate; §5 row 11).
  • response_id is client-local at upload time and is never the enforcement key.
  • checksum (full-file SHA-256) is verified on the last chunk.

Body

multipart/form-data
filestringrequired
upload_idstringrequired

Client-generated stable upload ID (media local ID)

chunk_indexinteger>= 0required

Zero-based chunk index

total_chunksinteger[1, 100000]required

Total number of chunks

file_namestringrequired
mime_typestringrequired
survey_idstring | null

Survey this media belongs to (REQUIRED for production-bound uploads)

Show child attributes
Any of
string
null
response_idstring | null

Client-local response reference (metadata only — never the enforcement key)

Show child attributes
Any of
string
null
checksumstring | null

Expected SHA-256 of the FULL assembled file

Show child attributes
Any of
string
null
device_idstring | null

Device that recorded this media (used for post-closure grant validation)

Show child attributes
Any of
string
null

Response

201Createdany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Media Service / Download

Download — Media Service

Download File

GET
http://localhost:8011/api/v1/media/download/{asset_id}

Download a file by asset ID.

Parameters

asset_idstringrequiredpath
tokenstring | nullquery

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Stream File

GET
http://localhost:8011/api/v1/media/stream/{asset_id}

Stream a file inline (for images, audio, video).

Parameters

asset_idstringrequiredpath
tokenstring | nullquery

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Stream Thumbnail

GET
http://localhost:8011/api/v1/media/stream/{asset_id}/thumbnail

Stream an asset's thumbnail.

Parameters

asset_idstringrequiredpath
tokenstring | nullquery

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get File By Name

GET
http://localhost:8011/api/v1/media/file/{filename}

Get a library file by its original filename. Used by form filler to display media files.

Parameters

filenamestringrequiredpath
tokenstring | nullquery

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Media Service / Assets

Assets — Media Service

List Assets

GET
http://localhost:8011/api/v1/media/assets

List media assets with optional filters.

Parameters

survey_idstring | nullquery
response_idstring | nullquery
entity_typestring | nullquery
entity_idstring | nullquery
asset_typestring | nullquery
skipinteger0query
limitinteger20query

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get Asset

GET
http://localhost:8011/api/v1/media/assets/{asset_id}

Get asset metadata.

Parameters

asset_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Update Asset

PUT
http://localhost:8011/api/v1/media/assets/{asset_id}

Update asset metadata.

Body

application/json
original_filenamestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
alt_textstring | null
Show child attributes
Any of
string
null
tagsArray<string> | null
Show child attributes
Any of
Array<string>
null
is_publicboolean | null
Show child attributes
Any of
boolean
null

Parameters

asset_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Delete Asset

DELETE
http://localhost:8011/api/v1/media/assets/{asset_id}

Delete an asset and its stored files.

Parameters

asset_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get Presigned Url

GET
http://localhost:8011/api/v1/media/assets/{asset_id}/presigned

Get a proxy URL for direct file access.

Parameters

asset_idstringrequiredpath
expires_ininteger3600query

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Link Asset To Response

POST
http://localhost:8011/api/v1/media/assets/{asset_id}/link

Link an asset to a form response.

Body

application/json
object

Parameters

asset_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get Assets For Response

GET
http://localhost:8011/api/v1/media/assets/by-response/{response_id}

Get all assets associated with a response.

Parameters

response_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get Asset By Upload Id

GET
http://localhost:8011/api/v1/media/assets/by-upload/{upload_id}

Resolve a Media Track upload_id to its canonical MediaAsset.id.

This is the mobile half of the media identity map. A mobile answer carries asset_ref="upload_id" while offline, so the canonical server identity is reached through this endpoint rather than by assuming the client's id is a MediaAsset.id.

Deliberately narrow, to match the frozen contract: one indexed lookup on upload_id, tenant-scoped, at most one result. There is no fallback to a MediaAsset.id lookup, no question-name lookup, and no response-id lookup, so an unresolved reference stays unresolved instead of resolving to something it was not.

Parameters

upload_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Media Service / Media Library

Media Library — Media Service

Upload Library File

POST
http://localhost:8011/api/v1/media/library/upload

Upload a file to the tenant's shared media library.

Uploaded files can then be referenced by filename in survey question and choice media_file fields.

Allowed types: images (jpg, png, gif, webp), audio (mp3, wav, ogg), video (mp4, webm).

Body

multipart/form-data
filestringrequired

Media file to add to the library

descriptionstring | null

Optional description

Show child attributes
Any of
string
null
survey_namestring | null

Optional survey name for renaming

Show child attributes
Any of
string
null
question_namestring | null

Optional question name for renaming

Show child attributes
Any of
string
null
response_idstring | null

Optional response ID for renaming

Show child attributes
Any of
string
null

Response

201Createdany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Upload Library Files Batch

POST
http://localhost:8011/api/v1/media/library/upload/batch

Upload multiple files to the tenant's media library at once.

Body

multipart/form-data
filesArray<string>required

Media files to add to the library

Response

201Createdany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

List Library

GET
http://localhost:8011/api/v1/media/library

List all files in the tenant's shared media library.

Supports filtering by asset_type (image, audio, video), filename search, and tags (comma-separated, returns assets with any matching tag).

Parameters

asset_typestring | nullquery

Filter by type: image, audio, video

searchstring | nullquery

Search by filename

tagsstring | nullquery

Comma-separated tags to filter by (OR logic — assets with any matching tag)

skipinteger>= 00query

Row offset

limitinteger[1, 100]20query

Items per page

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get Library Asset By Filename

GET
http://localhost:8011/api/v1/media/library/by-filename/{filename}

Look up a library asset by its original filename.

Used by form-service during form rendering to resolve media_file values to actual stream URLs.

Parameters

filenamestringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get Library Asset Url

GET
http://localhost:8011/api/v1/media/library/{asset_id}/url

Get the stream URL for a library asset.

Returns the URL to stream/display the file inline.

Parameters

asset_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Update Library Asset Status

PATCH
http://localhost:8011/api/v1/media/library/{asset_id}/status

Update a library asset's approval status (pending/approved/rejected).

Only users with the MEDIA_MANAGE permission can approve or reject media. Pending/rejected library assets are not usable in forms — the by-filename lookup, stream/download endpoints, and survey enrichment all block them.

Body

application/json
object

Parameters

asset_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Delete Library Asset

DELETE
http://localhost:8011/api/v1/media/library/{asset_id}

Delete a file from the tenant's media library.

Warning: This will remove the file from storage. Any surveys that reference this file by name will no longer be able to display it.

Parameters

asset_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityMediaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Media Service / Storage Usage

Storage Usage — Media Service

Get Storage Usage

GET
http://localhost:8011/api/v1/media/storage/usage

Response

200OKany

Successful Response

Response fields application/json
any

Authorization

HTTPBearerhttp (bearer)

Notification Service

Notification templates, sending, preferences, history

Notification Service / Health

Health — Notification Service

Notification Service / Send

Send — Notification Service

Send Notification

POST
http://localhost:8012/api/v1/notification/send

Body

application/json
channelstringemailsmsslackrequired
recipientstringrequired
subjectstring | null
Show child attributes
Any of
string
null
bodystringrequired
template_idstring | null
Show child attributes
Any of
string
null
template_varsobject | null
Show child attributes
Any of
object
null
user_idstring | null
Show child attributes
Any of
string
null
notification_typeNotificationService_NotificationType | string | null
Show child attributes
Any of
NotificationService_NotificationTypeaccount_activationpassword_reset_requestpassword_changedemail_change_confirmationemail_changed_notifymagic_link_loginaudit_security_alertdns_notificationwelcome_emailtenant_activedownload_readymedia_export_ready
string
null
metadataobject | null
Show child attributes
Any of
object
null

Response

202Acceptedany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Send Batch

POST
http://localhost:8012/api/v1/notification/send/batch

Body

application/json
Show child attributes
channelstringemailsmsslackrequired
recipientstringrequired
subjectstring | null
Show child attributes
Any of
string
null
bodystringrequired
template_idstring | null
Show child attributes
Any of
string
null
template_varsobject | null
Show child attributes
Any of
object
null
user_idstring | null
Show child attributes
Any of
string
null
notification_typeNotificationService_NotificationType | string | null
Show child attributes
Any of
NotificationService_NotificationTypeaccount_activationpassword_reset_requestpassword_changedemail_change_confirmationemail_changed_notifymagic_link_loginaudit_security_alertdns_notificationwelcome_emailtenant_activedownload_readymedia_export_ready
string
null
metadataobject | null
Show child attributes
Any of
object
null

Response

202Acceptedany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Notification Service / Templates

Templates — Notification Service

List Templates

GET
http://localhost:8012/api/v1/notification/templates

Parameters

channelstring | nullquery

Response

200OKany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Create Template

POST
http://localhost:8012/api/v1/notification/templates

Body

application/json
namestringrequired
channelstringrequired
subject_templatestring | null
Show child attributes
Any of
string
null
body_templatestringrequired
variablesArray<string> | null
Show child attributes
Any of
Array<string>
null

Response

201Createdany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Preview Template Live

POST
http://localhost:8012/api/v1/notification/templates/preview

Body

application/json
subject_templatestring | null
Show child attributes
Any of
string
null
body_templatestringrequired
variablesobject[object Object]
Show child attributes
[key: string]string

Response

200OKany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get Template

GET
http://localhost:8012/api/v1/notification/templates/{template_id}

Parameters

template_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Update Template

PUT
http://localhost:8012/api/v1/notification/templates/{template_id}

Body

application/json
namestring | null
Show child attributes
Any of
string
null
subject_templatestring | null
Show child attributes
Any of
string
null
body_templatestring | null
Show child attributes
Any of
string
null
variablesArray<string> | null
Show child attributes
Any of
Array<string>
null
is_activeboolean | null
Show child attributes
Any of
boolean
null

Parameters

template_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Delete Template

DELETE
http://localhost:8012/api/v1/notification/templates/{template_id}

Parameters

template_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Preview Template

POST
http://localhost:8012/api/v1/notification/templates/{template_id}/preview

Body

application/json
variablesobject[object Object]
Show child attributes
[key: string]string

Parameters

template_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Notification Service / Preferences

Preferences — Notification Service

Get Preferences

GET
http://localhost:8012/api/v1/notification/preferences

Response

200OKany

Successful Response

Response fields application/json
any

Authorization

HTTPBearerhttp (bearer)

Set Preference

POST
http://localhost:8012/api/v1/notification/preferences

Body

application/json
channelstringrequired
is_enabledbooleantrue
quiet_hours_startstring | null
Show child attributes
Any of
string
null
quiet_hours_endstring | null
Show child attributes
Any of
string
null
frequencystringimmediate

Response

201Createdany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Update Preference

PUT
http://localhost:8012/api/v1/notification/preferences/{pref_id}

Body

application/json
channelstringrequired
is_enabledbooleantrue
quiet_hours_startstring | null
Show child attributes
Any of
string
null
quiet_hours_endstring | null
Show child attributes
Any of
string
null
frequencystringimmediate

Parameters

pref_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Delete Preference

DELETE
http://localhost:8012/api/v1/notification/preferences/{pref_id}

Parameters

pref_idstring<uuid>requiredpath

Response

204No Content

Successful Response

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Notification Service / Settings

Settings — Notification Service

Get Settings

GET
http://localhost:8012/api/v1/notification/settings

Response

Successful Response

Response fields application/json
sms_providerstringrequired
Show child attributes
smtp_hoststring | null
Show child attributes
Any of
string
null
smtp_portinteger | null
Show child attributes
Any of
integer
null
smtp_usernamestring | null
Show child attributes
Any of
string
null
smtp_passwordstring | null••••••••
Show child attributes
Any of
string
null
smtp_from_emailstring | null
Show child attributes
Any of
string
null
smtp_from_namestring | null
Show child attributes
Any of
string
null
smtp_use_tlsboolean | null
Show child attributes
Any of
boolean
null
awsNotificationService_AWSConfigResponse | null
Show child attributes
Any of
aws_regionstring | null
Show child attributes
Any of
string
null
aws_access_key_idstring | null••••••••
Show child attributes
Any of
string
null
aws_secret_access_keystring | null••••••••
Show child attributes
Any of
string
null
aws_origination_numberstring | null
Show child attributes
Any of
string
null
null
twilioNotificationService_TwilioConfigResponse | null
Show child attributes
Any of
twilio_account_sidstring | null
Show child attributes
Any of
string
null
twilio_auth_tokenstring | null••••••••
Show child attributes
Any of
string
null
twilio_from_numberstring | null
Show child attributes
Any of
string
null
null
msg91NotificationService_MSG91ConfigResponse | null
Show child attributes
Any of
msg91_api_keystring | null••••••••
Show child attributes
Any of
string
null
msg91_sender_idstring | null
Show child attributes
Any of
string
null
msg91_flow_idstring | null
Show child attributes
Any of
string
null
msg91_routestring | null
Show child attributes
Any of
string
null
null
kaleyraNotificationService_KaleyraConfigResponse | null
Show child attributes
Any of
kaleyra_api_keystring | null••••••••
Show child attributes
Any of
string
null
kaleyra_account_sidstring | null
Show child attributes
Any of
string
null
kaleyra_sender_idstring | null
Show child attributes
Any of
string
null
null
africas_talkingNotificationService_AfricasTalkingConfigResponse | null
Show child attributes
Any of
africas_talking_usernamestring | null
Show child attributes
Any of
string
null
africas_talking_api_keystring | null••••••••
Show child attributes
Any of
string
null
africas_talking_shortcodestring | null
Show child attributes
Any of
string
null
null
generic_httpNotificationService_GenericHttpConfigResponse | null
Show child attributes
Any of
generic_sms_endpointstring | null
Show child attributes
Any of
string
null
generic_sms_methodstring | null
Show child attributes
Any of
string
null
generic_sms_auth_header_namestring | null
Show child attributes
Any of
string
null
generic_sms_auth_header_valuestring | null••••••••
Show child attributes
Any of
string
null
generic_sms_body_templatestring | null
Show child attributes
Any of
string
null
null
slackNotificationService_SlackConfigResponse | null
Show child attributes
Any of
slack_webhook_urlstring | null••••••••
Show child attributes
Any of
string
null
null
is_activebooleanrequired
created_atstringrequired
updated_atstringrequired

Authorization

HTTPBearerhttp (bearer)

Update Settings

PUT
http://localhost:8012/api/v1/notification/settings

Body

application/json
smtpNotificationService_SMTPConfig | null
Show child attributes
Any of
smtp_hoststring | null
Show child attributes
Any of
string
null
smtp_portinteger | null587
Show child attributes
Any of
integer[1, 65535]
null
smtp_usernamestring | null
Show child attributes
Any of
string
null
smtp_passwordstring | null
Show child attributes
Any of
string
null
smtp_from_emailstring | null
Show child attributes
Any of
string
null
smtp_from_namestring | null
Show child attributes
Any of
string
null
smtp_use_tlsbooleantrue
null
sms_providerstringmockaws_end_user_messagingtwiliomsg91kaleyraafricas_talkinggeneric_httpmock
awsNotificationService_AWSConfig | null
Show child attributes
Any of
aws_regionstring | null
Show child attributes
Any of
string
null
aws_access_key_idstring | null
Show child attributes
Any of
string
null
aws_secret_access_keystring | null
Show child attributes
Any of
string
null
aws_origination_numberstring | null
Show child attributes
Any of
string
null
null
twilioNotificationService_TwilioConfig | null
Show child attributes
Any of
twilio_account_sidstring | null
Show child attributes
Any of
string
null
twilio_auth_tokenstring | null
Show child attributes
Any of
string
null
twilio_from_numberstring | null
Show child attributes
Any of
string
null
null
msg91NotificationService_MSG91Config | null
Show child attributes
Any of
msg91_api_keystring | null
Show child attributes
Any of
string
null
msg91_sender_idstring | null
Show child attributes
Any of
string
null
msg91_flow_idstring | null
Show child attributes
Any of
string
null
msg91_routestring144
null
kaleyraNotificationService_KaleyraConfig | null
Show child attributes
Any of
kaleyra_api_keystring | null
Show child attributes
Any of
string
null
kaleyra_account_sidstring | null
Show child attributes
Any of
string
null
kaleyra_sender_idstring | null
Show child attributes
Any of
string
null
null
africas_talkingNotificationService_AfricasTalkingConfig | null
Show child attributes
Any of
africas_talking_usernamestring | null
Show child attributes
Any of
string
null
africas_talking_api_keystring | null
Show child attributes
Any of
string
null
africas_talking_shortcodestring | null
Show child attributes
Any of
string
null
null
generic_httpNotificationService_GenericHttpConfig | null
Show child attributes
Any of
generic_sms_endpointstring | null
Show child attributes
Any of
string
null
generic_sms_methodstringPOSTGETPOST
generic_sms_auth_header_namestring | null
Show child attributes
Any of
string
null
generic_sms_auth_header_valuestring | null
Show child attributes
Any of
string
null
generic_sms_body_templatestring | null
Show child attributes
Any of
string
null
null
slackNotificationService_SlackConfig | null
Show child attributes
Any of
slack_webhook_urlstring | null
Show child attributes
Any of
string
null
null

Response

Successful Response

Response fields application/json
sms_providerstringrequired
Show child attributes
smtp_hoststring | null
Show child attributes
Any of
string
null
smtp_portinteger | null
Show child attributes
Any of
integer
null
smtp_usernamestring | null
Show child attributes
Any of
string
null
smtp_passwordstring | null••••••••
Show child attributes
Any of
string
null
smtp_from_emailstring | null
Show child attributes
Any of
string
null
smtp_from_namestring | null
Show child attributes
Any of
string
null
smtp_use_tlsboolean | null
Show child attributes
Any of
boolean
null
awsNotificationService_AWSConfigResponse | null
Show child attributes
Any of
aws_regionstring | null
Show child attributes
Any of
string
null
aws_access_key_idstring | null••••••••
Show child attributes
Any of
string
null
aws_secret_access_keystring | null••••••••
Show child attributes
Any of
string
null
aws_origination_numberstring | null
Show child attributes
Any of
string
null
null
twilioNotificationService_TwilioConfigResponse | null
Show child attributes
Any of
twilio_account_sidstring | null
Show child attributes
Any of
string
null
twilio_auth_tokenstring | null••••••••
Show child attributes
Any of
string
null
twilio_from_numberstring | null
Show child attributes
Any of
string
null
null
msg91NotificationService_MSG91ConfigResponse | null
Show child attributes
Any of
msg91_api_keystring | null••••••••
Show child attributes
Any of
string
null
msg91_sender_idstring | null
Show child attributes
Any of
string
null
msg91_flow_idstring | null
Show child attributes
Any of
string
null
msg91_routestring | null
Show child attributes
Any of
string
null
null
kaleyraNotificationService_KaleyraConfigResponse | null
Show child attributes
Any of
kaleyra_api_keystring | null••••••••
Show child attributes
Any of
string
null
kaleyra_account_sidstring | null
Show child attributes
Any of
string
null
kaleyra_sender_idstring | null
Show child attributes
Any of
string
null
null
africas_talkingNotificationService_AfricasTalkingConfigResponse | null
Show child attributes
Any of
africas_talking_usernamestring | null
Show child attributes
Any of
string
null
africas_talking_api_keystring | null••••••••
Show child attributes
Any of
string
null
africas_talking_shortcodestring | null
Show child attributes
Any of
string
null
null
generic_httpNotificationService_GenericHttpConfigResponse | null
Show child attributes
Any of
generic_sms_endpointstring | null
Show child attributes
Any of
string
null
generic_sms_methodstring | null
Show child attributes
Any of
string
null
generic_sms_auth_header_namestring | null
Show child attributes
Any of
string
null
generic_sms_auth_header_valuestring | null••••••••
Show child attributes
Any of
string
null
generic_sms_body_templatestring | null
Show child attributes
Any of
string
null
null
slackNotificationService_SlackConfigResponse | null
Show child attributes
Any of
slack_webhook_urlstring | null••••••••
Show child attributes
Any of
string
null
null
is_activebooleanrequired
created_atstringrequired
updated_atstringrequired

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Send Test Notification

POST
http://localhost:8012/api/v1/notification/test

Body

application/json
channelstringemailsmsslackrequired
recipientstringrequired
subjectstring | nullTest Notification
Show child attributes
Any of
string
null
bodystringThis is a test notification from MQUAD Notification Service.

Response

200OKobject

Successful Response

Response fields application/json
object

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Notification Service / History

History — Notification Service

List Notifications

GET
http://localhost:8012/api/v1/notification/history

Parameters

user_idstring | nullquery
notification_statusstring | nullquery
channelstring | nullquery
pageinteger1query
page_sizeinteger20query

Response

200OKany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Cancel Notifications

POST
http://localhost:8012/api/v1/notification/cancel

Body

application/json
recipientstring<email>required

Response

200OKany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get Notification

GET
http://localhost:8012/api/v1/notification/{notification_id}

Parameters

notification_idstring<uuid>requiredpath

Response

200OKany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Audit Service

Audit logs, compliance queries, export

Audit Service / Health

Health — Audit Service

Audit Service / Audit Logs

Audit Logs — Audit Service

Ingest Audit Log

POST
http://localhost:8013/api/v1/audit/logs

Ingest a new audit log entry.

Body

application/json
event_idstring | null

Unique event ID for idempotency

Show child attributes
Any of
string
null
event_typestring | null

Type of event (e.g., user.created)

Show child attributes
Any of
string
null
log_schema_versionstring | null1.0

Schema version

Show child attributes
Any of
string
null
service_namestringrequired

Name of the service producing the event

actionstringrequired

Action performed (create, update, delete, read, login, etc.)

actor_typestring | null

Type of actor

Show child attributes
Any of
stringuseradminsysteminterviewersupervisor
null
actor_idstring | null

ID of the actor

Show child attributes
Any of
string
null
actor_emailstring | null

Email of the actor

Show child attributes
Any of
string
null
actor_namestring | null

Display name of the actor

Show child attributes
Any of
string
null
tenant_idstring | null

Tenant ID

Show child attributes
Any of
string
null
tenant_namestring | null

Display name of the tenant

Show child attributes
Any of
string
null
resource_typestring | null

Type of resource

Show child attributes
Any of
string
null
resource_idstring | null

ID of the resource

Show child attributes
Any of
string
null
resource_namestring | null

Display name of the resource

Show child attributes
Any of
string
null
statusstring | nullsuccess

Event status

Show child attributes
Any of
stringsuccessfailureerror
null
categorystring | null

Event category for filtering

Show child attributes
Any of
stringAUTHENTICATIONUSER_MANAGEMENTROLE_ACCESSSURVEY_LIFECYCLERESPONSE_DATAINTERVIEWCONSENTEXPORTINTEGRATIONSYNCMEDIACONFIGURATIONSECURITYSYSTEMREVIEWNOTIFICATIONCOMPLIANCE
null
severitystring | nullINFO

Event severity level

Show child attributes
Any of
stringINFOWARNINGCRITICAL
null
descriptionstring | null

Human-readable event description

Show child attributes
Any of
string
null
failure_reasonstring | null

Reason for failure if status is failure/error

Show child attributes
Any of
string
null
correlation_idstring | null

Cross-service correlation ID

Show child attributes
Any of
string
null
ip_addressstring | null

Client IP address

Show child attributes
Any of
string
null
user_agentstring | null

Client user agent

Show child attributes
Any of
string
null
request_idstring | null

Request ID for correlation

Show child attributes
Any of
string
null
trace_idstring | null

Trace ID for cross-service correlation

Show child attributes
Any of
string
null
parent_trace_idstring | null

Parent trace ID

Show child attributes
Any of
string
null
http_methodstring | null

HTTP method

Show child attributes
Any of
string
null
http_pathstring | null

HTTP path

Show child attributes
Any of
string
null
http_statusinteger | null

HTTP status code

Show child attributes
Any of
integer
null
duration_msinteger | null

Request duration in milliseconds

Show child attributes
Any of
integer
null
metadataobject | null

Additional event metadata

Show child attributes
Any of
object
null
event_idempotency_keystring | null

Key for deduplication

Show child attributes
Any of
string
null
data_classificationstring | nullinternal

Data classification level

Show child attributes
Any of
stringpublicinternalsensitiverestricted
null
Example
{
  "action": "create",
  "actor_email": "admin@acme.org",
  "actor_id": "550e8400-e29b-41d4-a716-446655440001",
  "actor_type": "admin",
  "data_classification": "internal",
  "duration_ms": 45,
  "event_id": "550e8400-e29b-41d4-a716-446655440000",
  "event_type": "user.created",
  "http_method": "POST",
  "http_path": "/api/v1/users",
  "http_status": 201,
  "ip_address": "192.168.1.1",
  "log_schema_version": "1.0",
  "metadata": {
    "role": "viewer"
  },
  "request_id": "req-12345678",
  "resource_id": "550e8400-e29b-41d4-a716-446655440003",
  "resource_type": "User",
  "service_name": "backend",
  "status": "success",
  "tenant_id": "550e8400-e29b-41d4-a716-446655440002",
  "trace_id": "trace-12345678"
}

Response

Successful Response

Response fields application/json
idstringrequired
event_idstring | null
Show child attributes
Any of
string
null
event_typestring | null
Show child attributes
Any of
string
null
log_schema_versionstring | null
Show child attributes
Any of
string
null
service_namestringrequired
actionstringrequired
actor_typestring | null
Show child attributes
Any of
string
null
actor_idstring | null
Show child attributes
Any of
string
null
actor_emailstring | null
Show child attributes
Any of
string
null
actor_namestring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
tenant_namestring | null
Show child attributes
Any of
string
null
resource_typestring | null
Show child attributes
Any of
string
null
resource_idstring | null
Show child attributes
Any of
string
null
resource_namestring | null
Show child attributes
Any of
string
null
statusstring | null
Show child attributes
Any of
string
null
categorystring | null
Show child attributes
Any of
string
null
severitystring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
failure_reasonstring | null
Show child attributes
Any of
string
null
correlation_idstring | null
Show child attributes
Any of
string
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
request_idstring | null
Show child attributes
Any of
string
null
trace_idstring | null
Show child attributes
Any of
string
null
parent_trace_idstring | null
Show child attributes
Any of
string
null
http_methodstring | null
Show child attributes
Any of
string
null
http_pathstring | null
Show child attributes
Any of
string
null
http_statusinteger | null
Show child attributes
Any of
integer
null
duration_msinteger | null
Show child attributes
Any of
integer
null
metadataobject | null
Show child attributes
Any of
object
null
data_classificationstring | null
Show child attributes
Any of
string
null
checksumstringrequired
created_atstringrequired
422Unprocessable EntityAuditService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

List System Audit Logs

GET
http://localhost:8013/api/v1/audit/logs/system

System-wide audit logs - for super:admin and host admin only.

SECURITY: full:access (tenant admin) is explicitly excluded. Tenant admins must not access other tenants' audit logs. Only super:admin and host:manage_tenants are permitted. See common/rbac_helpers.py L44.

This endpoint bypasses tenant filtering and allows viewing logs across all tenants. Optional tenant_id_filter can be used to scope to a specific tenant.

Parameters

service_namestring | nullquery

Filter by service name

actionstring | nullquery

Filter by action

user_idstring | nullquery

Filter by user ID

searchstring | nullquery

Search activity text

resource_typestring | nullquery

Filter by resource type

tenant_id_filterstring | nullquery

Filter by specific tenant ID

categorystring | nullquery

Filter by event category

date_fromstring | nullquery

Filter from date (ISO format)

date_tostring | nullquery

Filter to date (ISO format)

skipinteger>= 00query

Row offset

limitinteger[1, 500]50query

Page size

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
event_idstring | null
Show child attributes
Any of
string
null
event_typestring | null
Show child attributes
Any of
string
null
log_schema_versionstring | null
Show child attributes
Any of
string
null
service_namestringrequired
actionstringrequired
actor_typestring | null
Show child attributes
Any of
string
null
actor_idstring | null
Show child attributes
Any of
string
null
actor_emailstring | null
Show child attributes
Any of
string
null
actor_namestring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
tenant_namestring | null
Show child attributes
Any of
string
null
resource_typestring | null
Show child attributes
Any of
string
null
resource_idstring | null
Show child attributes
Any of
string
null
resource_namestring | null
Show child attributes
Any of
string
null
statusstring | null
Show child attributes
Any of
string
null
categorystring | null
Show child attributes
Any of
string
null
severitystring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
failure_reasonstring | null
Show child attributes
Any of
string
null
correlation_idstring | null
Show child attributes
Any of
string
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
request_idstring | null
Show child attributes
Any of
string
null
trace_idstring | null
Show child attributes
Any of
string
null
parent_trace_idstring | null
Show child attributes
Any of
string
null
http_methodstring | null
Show child attributes
Any of
string
null
http_pathstring | null
Show child attributes
Any of
string
null
http_statusinteger | null
Show child attributes
Any of
integer
null
duration_msinteger | null
Show child attributes
Any of
integer
null
metadataobject | null
Show child attributes
Any of
object
null
data_classificationstring | null
Show child attributes
Any of
string
null
checksumstringrequired
created_atstringrequired
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired
422Unprocessable EntityAuditService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get Audit Log

GET
http://localhost:8013/api/v1/audit/logs/{log_id}

Get a specific audit log entry by ID.

Parameters

log_idstringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
event_idstring | null
Show child attributes
Any of
string
null
event_typestring | null
Show child attributes
Any of
string
null
log_schema_versionstring | null
Show child attributes
Any of
string
null
service_namestringrequired
actionstringrequired
actor_typestring | null
Show child attributes
Any of
string
null
actor_idstring | null
Show child attributes
Any of
string
null
actor_emailstring | null
Show child attributes
Any of
string
null
actor_namestring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
tenant_namestring | null
Show child attributes
Any of
string
null
resource_typestring | null
Show child attributes
Any of
string
null
resource_idstring | null
Show child attributes
Any of
string
null
resource_namestring | null
Show child attributes
Any of
string
null
statusstring | null
Show child attributes
Any of
string
null
categorystring | null
Show child attributes
Any of
string
null
severitystring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
failure_reasonstring | null
Show child attributes
Any of
string
null
correlation_idstring | null
Show child attributes
Any of
string
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
request_idstring | null
Show child attributes
Any of
string
null
trace_idstring | null
Show child attributes
Any of
string
null
parent_trace_idstring | null
Show child attributes
Any of
string
null
http_methodstring | null
Show child attributes
Any of
string
null
http_pathstring | null
Show child attributes
Any of
string
null
http_statusinteger | null
Show child attributes
Any of
integer
null
duration_msinteger | null
Show child attributes
Any of
integer
null
metadataobject | null
Show child attributes
Any of
object
null
data_classificationstring | null
Show child attributes
Any of
string
null
checksumstringrequired
created_atstringrequired
422Unprocessable EntityAuditService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Verify Chain Integrity

GET
http://localhost:8013/api/v1/audit/chain/verify

Verify the integrity of the audit log chain.

If resource_type and resource_id are provided, verify only events for that specific resource. Otherwise, verify the entire tenant's chain (existing behavior).

Parameters

limitinteger[1, 10000]1000query

Number of logs to verify

resource_typestring | nullquery

Filter by resource type for targeted verification

resource_idstring | nullquery

Filter by resource ID for targeted verification

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityAuditService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Audit Service / Compliance

Compliance — Audit Service

Get Data Access Report

GET
http://localhost:8013/api/v1/audit/compliance/gdpr/data-access/{user_id}

Get GDPR data access report for a specific user.

Parameters

user_idstringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityAuditService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Record Consent

POST
http://localhost:8013/api/v1/audit/compliance/consent

Record or update a consent decision for a user.

Body

application/json
user_idstringrequired
consent_typestringrequired
is_grantedbooleanrequired
ip_addressstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null

Response

Successful Response

Response fields application/json
idstringrequired
user_idstringrequired
consent_typestringrequired
is_grantedbooleanrequired
granted_atstring | null
Show child attributes
Any of
string
null
revoked_atstring | null
Show child attributes
Any of
string
null
created_atstringrequired
422Unprocessable EntityAuditService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Audit Service / Export

Export — Audit Service

Export Audit Logs

POST
http://localhost:8013/api/v1/audit/export

Export audit logs in the specified format (json or csv).

Enforces a maximum of 50,000 records. Use date filtering to narrow the range when the export exceeds this limit.

Parameters

formatstringjsonquery

Export format: json or csv

service_namestring | nullquery

Filter by service name

actionstring | nullquery

Filter by action

user_idstring | nullquery

Filter by user ID

resource_typestring | nullquery

Filter by resource type

date_fromstring | nullquery

Filter from date (ISO format)

date_tostring | nullquery

Filter to date (ISO format)

Response

200OKany

Successful Response

Response fields application/json
any
422Unprocessable EntityAuditService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Feature Flags Service

Feature flags, plans, flag evaluation

Feature Flags Service / Internal

Internal — Feature Flags Service

Invalidate Tenant Plan Context

POST
http://localhost:8014/internal/tenants/{tenant_id}/plan-context/invalidate

Internal endpoint: invalidate the cached plan context for a single tenant.

Used by backend service after Stripe webhook processing commits subscription state changes, ensuring entitlement propagation with minimal delay.

Authentication: X-Internal-Service header must equal "backend" and X-Service-Token must match the FEATURE_FLAGS_SERVICE_TOKEN.

Returns success even when no cache entry exists.

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
tenant_idstringrequired
invalidatedbooleanrequired
messagestringrequired

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Feature Flags Service / Feature Flags

Feature Flags — Feature Flags Service

List Flags

GET
http://localhost:8014/api/v1/flags

List all feature flags with pagination. Requires feature_flag:read.

Parameters

skipinteger>= 00query
limitinteger[1, 100]20query

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
keystringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
flag_typestringrequired
default_valueanyrequired
is_enabledbooleanrequired
is_archivedbooleanrequired
tagsArray<string>required
evaluation_countintegerrequired
last_evaluated_atstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
plan_tierstring | null
Show child attributes
Any of
string
null
feature_categorystring | null
Show child attributes
Any of
string
null
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Create Flag

POST
http://localhost:8014/api/v1/flags

Create a new feature flag. Requires feature_flag:create.

Body

application/json
keystringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
flag_typestringboolean
default_valueanyfalse
is_enabledbooleantrue
tagsArray<string> | null
Show child attributes
Any of
Array<string>
null
environmentstring | null
Show child attributes
Any of
string
null
plan_tierstring | null
Show child attributes
Any of
string
null
feature_categorystring | null
Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json
idstringrequired
keystringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
flag_typestringrequired
default_valueanyrequired
is_enabledbooleanrequired
is_archivedbooleanrequired
tagsArray<string>required
evaluation_countintegerrequired
last_evaluated_atstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
plan_tierstring | null
Show child attributes
Any of
string
null
feature_categorystring | null
Show child attributes
Any of
string
null

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Get Flag

GET
http://localhost:8014/api/v1/flags/{flag_key}

Get a feature flag by key. Requires feature_flag:read.

Parameters

flag_keystringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
keystringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
flag_typestringrequired
default_valueanyrequired
is_enabledbooleanrequired
is_archivedbooleanrequired
tagsArray<string>required
evaluation_countintegerrequired
last_evaluated_atstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
plan_tierstring | null
Show child attributes
Any of
string
null
feature_categorystring | null
Show child attributes
Any of
string
null

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Update Flag

PUT
http://localhost:8014/api/v1/flags/{flag_key}

Update a feature flag. Requires feature_flag:update.

Body

application/json
namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
default_valueany | null
Show child attributes
Any of
any
null
is_enabledboolean | null
Show child attributes
Any of
boolean
null
tagsArray<string> | null
Show child attributes
Any of
Array<string>
null
plan_tierstring | null
Show child attributes
Any of
string
null
feature_categorystring | null
Show child attributes
Any of
string
null

Parameters

flag_keystringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
keystringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
flag_typestringrequired
default_valueanyrequired
is_enabledbooleanrequired
is_archivedbooleanrequired
tagsArray<string>required
evaluation_countintegerrequired
last_evaluated_atstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
plan_tierstring | null
Show child attributes
Any of
string
null
feature_categorystring | null
Show child attributes
Any of
string
null

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Delete Flag

DELETE
http://localhost:8014/api/v1/flags/{flag_key}

Delete a feature flag and all associated rules/evaluations. Requires feature_flag:delete.

Parameters

flag_keystringrequiredpath

Response

200OKany

Successful Response

Response fields application/json
any

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Toggle Flag

POST
http://localhost:8014/api/v1/flags/{flag_key}/toggle

Toggle a feature flag's enabled state. Requires feature_flag:toggle.

Parameters

flag_keystringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
keystringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
flag_typestringrequired
default_valueanyrequired
is_enabledbooleanrequired
is_archivedbooleanrequired
tagsArray<string>required
evaluation_countintegerrequired
last_evaluated_atstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
plan_tierstring | null
Show child attributes
Any of
string
null
feature_categorystring | null
Show child attributes
Any of
string
null

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Archive Flag

POST
http://localhost:8014/api/v1/flags/{flag_key}/archive

Archive a feature flag (disables and hides from list). Requires feature_flag:update.

Archive has no verb of its own in the catalog. It is mapped to update rather than delete because it is reversible -- the flag row and its rules survive, and only the archived state changes.

Parameters

flag_keystringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
keystringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
flag_typestringrequired
default_valueanyrequired
is_enabledbooleanrequired
is_archivedbooleanrequired
tagsArray<string>required
evaluation_countintegerrequired
last_evaluated_atstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
plan_tierstring | null
Show child attributes
Any of
string
null
feature_categorystring | null
Show child attributes
Any of
string
null

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Feature Flags Service / Flag Evaluation

Flag Evaluation — Feature Flags Service

Evaluate Flag

POST
http://localhost:8014/api/v1/evaluate

Evaluate a single feature flag against the provided context.

Body

application/json
flag_keystringrequired
contextobject | null
Show child attributes
Any of
object
null

Response

Successful Response

Response fields application/json
flag_keystringrequired
valueanyrequired
is_enabledbooleanrequired
matched_rulestring | null
Show child attributes
Any of
string
null

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Evaluate Batch

POST
http://localhost:8014/api/v1/evaluate/batch

Evaluate multiple feature flags in a single request.

Body

application/json
Show child attributes
flag_keystringrequired
contextobject | null
Show child attributes
Any of
object
null

Response

Successful Response

Response fields application/json
Show child attributes
flag_keystringrequired
valueanyrequired
is_enabledbooleanrequired
matched_rulestring | null
Show child attributes
Any of
string
null

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Authorization

HTTPBearerhttp (bearer)

Feature Flags Service / Health

Health — Feature Flags Service

Feature Flags Service / Plans

Plans — Feature Flags Service

List Plans

GET
http://localhost:8014/api/v1/plans

List all available subscription plans and their features.

Response

Successful Response

Response fields application/json
Show child attributes
idstringrequired
namestringrequired
descriptionstringrequired
price_idstringrequired
amountnumberrequired
currencystringrequired
intervalstringrequired
Show child attributes
keystringrequired
canonical_keystring | null
Show child attributes
Any of
string
null
namestringrequired
descriptionstringrequired
flag_typestringrequired
valueboolean | integer | stringrequired
Show child attributes
Any of
boolean
integer
string
categorystringrequired
unitstring | null
Show child attributes
Any of
string
null
ui_labelstring | null
Show child attributes
Any of
string
null
upgrade_messagestring | null
Show child attributes
Any of
string
null
error_codestring | null
Show child attributes
Any of
string
null
override_allowedbooleantrue
Show child attributes
keystringrequired
canonical_keystring | null
Show child attributes
Any of
string
null
namestringrequired
valueintegerrequired
categorystringrequired
scopestringrequired
reset_periodstring | null
Show child attributes
Any of
string
null
unlimitedbooleanfalse
custom_overridebooleanfalse
unitstring | null
Show child attributes
Any of
string
null
ui_labelstring | null
Show child attributes
Any of
string
null
counting_rulestring | null
Show child attributes
Any of
string
null
upgrade_messagestring | null
Show child attributes
Any of
string
null
error_codestring | null
Show child attributes
Any of
string
null
override_allowedbooleantrue

Get Entitlement Catalogue

GET
http://localhost:8014/api/v1/plans/catalogue

Return the canonical Phase 2 entitlement catalogue metadata.

Response

Successful Response

Response fields application/json
Show child attributes
keystringrequired
source_keystringrequired
namestringrequired
typestringrequired
unitstring | null
Show child attributes
Any of
string
null
categorystringrequired
scopestringtenant
reset_periodstring | null
Show child attributes
Any of
string
null
counting_rulestringrequired
ui_labelstringrequired
upgrade_messagestringrequired
error_codestringrequired
override_allowedbooleantrue
stale_acceptablebooleanfalse
requires_role_permissionbooleantrue
downgrade_policystringrequired
applicable_servicesArray<string>required

Get Plan

GET
http://localhost:8014/api/v1/plans/{tier}

Get details for a specific plan tier.

Parameters

tierstringrequiredpath

Response

Successful Response

Response fields application/json
idstringrequired
namestringrequired
descriptionstringrequired
price_idstringrequired
amountnumberrequired
currencystringrequired
intervalstringrequired
Show child attributes
keystringrequired
canonical_keystring | null
Show child attributes
Any of
string
null
namestringrequired
descriptionstringrequired
flag_typestringrequired
valueboolean | integer | stringrequired
Show child attributes
Any of
boolean
integer
string
categorystringrequired
unitstring | null
Show child attributes
Any of
string
null
ui_labelstring | null
Show child attributes
Any of
string
null
upgrade_messagestring | null
Show child attributes
Any of
string
null
error_codestring | null
Show child attributes
Any of
string
null
override_allowedbooleantrue
Show child attributes
keystringrequired
canonical_keystring | null
Show child attributes
Any of
string
null
namestringrequired
valueintegerrequired
categorystringrequired
scopestringrequired
reset_periodstring | null
Show child attributes
Any of
string
null
unlimitedbooleanfalse
custom_overridebooleanfalse
unitstring | null
Show child attributes
Any of
string
null
ui_labelstring | null
Show child attributes
Any of
string
null
counting_rulestring | null
Show child attributes
Any of
string
null
upgrade_messagestring | null
Show child attributes
Any of
string
null
error_codestring | null
Show child attributes
Any of
string
null
override_allowedbooleantrue

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Tenant Plan Tier

GET
http://localhost:8014/api/v1/plans/{tenant_id}/tier

Get plan tier for a tenant. Looks up from backend API.

Parameters

tenant_idstringrequiredpath

Response

200OKobject

Successful Response

Response fields application/json
object

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Tenant Limits

GET
http://localhost:8014/api/v1/plans/{tenant_id}/limits

Get limits for a tenant.

Returns limit values based on tenant's plan tier. Used by quota-service and plan-enforcement-sdk.

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
itemsArray<object>required
tierstringrequired
tenant_idstringrequired

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Tenant Features

GET
http://localhost:8014/api/v1/plans/{tenant_id}/features

Get feature flags for a tenant.

Returns boolean feature flags based on tenant's plan tier. Used by plan-enforcement-sdk for feature gate checks.

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
itemsArray<object>required
tierstringrequired

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Tenant Entitlements

GET
http://localhost:8014/api/v1/plans/{tenant_id}/entitlements

Get normalized plan limits, feature entitlements, and subscription state.

Parameters

tenant_idstringrequiredpath

Response

Successful Response

Response fields application/json
tenant_idstringrequired
tierstringrequired
subscription_statusstringrequired
activebooleanrequired
trialbooleanrequired
trial_end_atstring | null
Show child attributes
Any of
string
null
dormantbooleanrequired
Show child attributes
keystringrequired
canonical_keystring | null
Show child attributes
Any of
string
null
namestringrequired
valueintegerrequired
categorystringresource
scopestringtenant
reset_periodstring | null
Show child attributes
Any of
string
null
unlimitedbooleanfalse
custom_overridebooleanfalse
featuresArray<object>required

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Quota Service

Real-time quota check/consume/rollback for plan enforcement

Readiness Check

GET
http://localhost:6380/ready

Readiness check endpoint.

Response

200OKany

Successful Response

Response fields application/json
any

Quota Service / Quota

Quota — Quota Service

Check Limit

POST
http://localhost:6380/api/v1/quota/check

Check if quota is available.

For time-based limits (responses_per_month, exports_per_month, api_calls_per_minute): checks Redis counters with monthly window reset.

For absolute limits (surveys, storage_mb, etc.): returns limit from plan but does NOT check Redis — each consumer service self-enforces from its own DB.

Body

application/json

Request to check quota availability.

limit_typestringrequired

Type of limit (e.g., 'surveys')

amountinteger>= 11

Amount to check

Response

Successful Response

Response fields application/json

Response from quota operations.

successbooleanrequired
allowedbooleanrequired
currentintegerrequired
limitintegerrequired
remainingintegerrequired
reset_atstring | null
Show child attributes
Any of
string<date-time>
null
unlimitedbooleanfalse
422Unprocessable EntityQuotaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Consume Quota

POST
http://localhost:6380/api/v1/quota/consume

Consume quota after successful operation.

For time-based limits: atomically increments the Redis counter. For absolute limits: no-op (services self-track from their own DB).

Body

application/json

Request to consume quota.

limit_typestringrequired

Type of limit

amountinteger>= 11

Amount to consume

idempotency_keystring | null

Tenant-scoped usage idempotency key

Show child attributes
Any of
string
null

Response

Successful Response

Response fields application/json

Response from quota operations.

successbooleanrequired
allowedbooleanrequired
currentintegerrequired
limitintegerrequired
remainingintegerrequired
reset_atstring | null
Show child attributes
Any of
string<date-time>
null
unlimitedbooleanfalse
422Unprocessable EntityQuotaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Rollback Quota

POST
http://localhost:6380/api/v1/quota/rollback

Rollback quota consumption.

For time-based limits: atomically decrements the Redis counter. For absolute limits: no-op (services self-track from their own DB).

Body

application/json

Request to rollback quota.

limit_typestringrequired

Type of limit

amountinteger>= 11

Amount to rollback

Response

Successful Response

Response fields application/json

Response from quota operations.

successbooleanrequired
allowedbooleanrequired
currentintegerrequired
limitintegerrequired
remainingintegerrequired
reset_atstring | null
Show child attributes
Any of
string<date-time>
null
unlimitedbooleanfalse
422Unprocessable EntityQuotaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get Usage

GET
http://localhost:6380/api/v1/quota/usage/{limit_type}

Get current usage for a limit type.

For time-based limits: returns actual Redis counter. For absolute limits: returns limit from plan, current=0 (service self-reports).

Parameters

limit_typestringrequiredpath

Response

Successful Response

Response fields application/json

Response from quota operations.

successbooleanrequired
allowedbooleanrequired
currentintegerrequired
limitintegerrequired
remainingintegerrequired
reset_atstring | null
Show child attributes
Any of
string<date-time>
null
unlimitedbooleanfalse
422Unprocessable EntityQuotaService_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

Get All Usage

GET
http://localhost:6380/api/v1/quota/usage

Get all usage counters for tenant.

Response

200OKobject

Successful Response

Response fields application/json
object

Reset Tenant

POST
http://localhost:6380/api/v1/quota/reset

Reset all counters for tenant (admin only).

Response

200OKany

Successful Response

Response fields application/json
any

Platform Utilities / Health

Shared endpoints served by multiple services

Health Check

GET
http://localhost:8000/api/v1/health

Also served by Survey Service at http://localhost:8001.

Also served by Data Service at http://localhost:8002.

Also served by Sync Service at http://localhost:8003.

Also served by Analytics Service at http://localhost:8004.

Also served by Workspace Service at http://localhost:8006.

Also served by Webhook Service at http://localhost:8007.

Also served by Form Service at http://localhost:8010.

Also served by Media Service at http://localhost:8011.

Also served by Notification Service at http://localhost:8012.

Also served by Audit Service at http://localhost:8013.

Also served by Feature Flags Service at http://localhost:8014.

Response

Successful Response

Response fields application/json
statusstringrequired
Example
Ok
postgres_statusstring | null
Show child attributes
Any of
string
null
Example
Ok
redis_statusstring | null
Show child attributes
Any of
string
null
Example
Ok

Health Check

GET
http://localhost:8009/health

Health check endpoint.

Also served by Quota Service at http://localhost:6380.

Response

200OKobject

Successful Response

Response fields application/json
object

Readiness Check

GET
http://localhost:8010/api/v1/health/ready

Readiness check for Kubernetes/container orchestration.

Returns 200 if the service is ready to accept traffic.

Also served by Media Service at http://localhost:8011.

Also served by Notification Service at http://localhost:8012.

Also served by Audit Service at http://localhost:8013.

Also served by Feature Flags Service at http://localhost:8014.

Response

200OKany

Successful Response

Response fields application/json
any

Liveness Check

GET
http://localhost:8010/api/v1/health/live

Liveness check for Kubernetes/container orchestration.

Returns 200 if the service is alive.

Also served by Media Service at http://localhost:8011.

Also served by Notification Service at http://localhost:8012.

Also served by Audit Service at http://localhost:8013.

Also served by Feature Flags Service at http://localhost:8014.

Response

200OKany

Successful Response

Response fields application/json
any

Platform Utilities / Metrics

Shared endpoints served by multiple services

Metrics

GET
http://localhost:8001/api/v1/metrics

Prometheus metrics endpoint

Also served by Data Service at http://localhost:8002.

Also served by Sync Service at http://localhost:8003.

Also served by Workspace Service at http://localhost:8006.

Also served by Media Service at http://localhost:8011.

Also served by Notification Service at http://localhost:8012.

Also served by Audit Service at http://localhost:8013.

Also served by Feature Flags Service at http://localhost:8014.

Response

200OKany

Successful Response

Response fields application/json
any

Platform Utilities / Migrations

Shared endpoints served by multiple services

Run Migrations

POST
http://localhost:8001/api/v1/migrations/run

Run database migrations for tenant

Also served by Data Service at http://localhost:8002.

Also served by Sync Service at http://localhost:8003.

Also served by Analytics Service at http://localhost:8004.

Also served by Workspace Service at http://localhost:8006.

Also served by Webhook Service at http://localhost:8007.

Also served by Form Service at http://localhost:8010.

Also served by Media Service at http://localhost:8011.

Also served by Notification Service at http://localhost:8012.

Also served by Audit Service at http://localhost:8013.

Also served by Feature Flags Service at http://localhost:8014.

Response

200OKany

Successful Response

Response fields application/json
any

Platform Utilities / Audit Logs

Shared endpoints served by multiple services

List Audit Logs

GET
http://localhost:8000/api/v1/audit/logs

Also served by Audit Service at http://localhost:8013.

Parameters

limitinteger10query
skipinteger0query
actionstring | nullquery
searchstring | nullquery
user_idstring | nullquery
service_namestring | nullquery

Filter by service name

resource_typestring | nullquery

Filter by resource type

categorystring | nullquery

Filter by event category

date_fromstring | nullquery

Filter from date (ISO format)

date_tostring | nullquery

Filter to date (ISO format)

Response

Successful Response

Response fields application/json
totalintegerrequired
Show child attributes
idstring | null
Show child attributes
Any of
string
null
entitystringrequired
service_namestring | null
Show child attributes
Any of
string
null
actionstringcreateupdatedeletereadloginlogouterrordownloadrequired
changesobject
user_idstring | null
Show child attributes
Any of
string
null
timestampstring
tenant_idstring | null
Show child attributes
Any of
string
null
actor_namestring | null
Show child attributes
Any of
string
null
actor_emailstring | null
Show child attributes
Any of
string
null
resource_idstring | null
Show child attributes
Any of
string
null
resource_namestring | null
Show child attributes
Any of
string
null
categorystring | null
Show child attributes
Any of
string
null
severitystring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
failure_reasonstring | null
Show child attributes
Any of
string
null
correlation_idstring | null
Show child attributes
Any of
string
null
statusstring | null
Show child attributes
Any of
string
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
event_typestring | null
Show child attributes
Any of
string
null
has_nextbooleanrequired
has_previousbooleanrequired
limitintegerrequired
skipintegerrequired
422Unprocessable EntityBackend_HTTPValidationError

Validation Error

Response fields application/json
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Authorization

OAuth2PasswordBeareroauth2

Models

Backend_ActivateTrialDto

object
Show child attributes
individual_namestringrequired
business_namestring | null
Show child attributes
Any of
string
null
line1stringrequired
line2string | null
Show child attributes
Any of
string
null
citystringrequired
statestringrequired
postal_codestringrequired
countrystringrequired
tax_idstring | null
Show child attributes
Any of
string
null

Backend_AppConfigurationDto

object
is_multi_tenant_enabledbooleanrequired
multi_tenancy_strategystringrequired
host_main_domainstringrequired
is_user_logged_inboolean | nullfalse
Show child attributes
Any of
boolean
null
user_preferencesBackend_UserPreferenceDto | null
Show child attributes
Any of
user_idstringrequired
preferencesobjectrequired
null
current_tenantBackend_TenantDto | null
Show child attributes
Any of
idstring | nullrequired
Show child attributes
Any of
string
null
namestringrequired
subdomainstring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
custom_domainstring | nullrequired
Show child attributes
Any of
string
null
custom_domain_statusstringactivefailedactivation-progressfailed
Show child attributes
nameBackend_Featurechatreportanalyticsorganizationteamsstriperequired
enabledbooleanrequired
subscription_idstring | nullrequired
Show child attributes
Any of
string
null
plan_tierstringfree
is_trialbooleanfalse
trial_end_atstring | null
Show child attributes
Any of
string
null
has_had_trialbooleanfalse
is_dormantbooleanfalse
billing_individual_namestring | null
Show child attributes
Any of
string
null
billing_business_namestring | null
Show child attributes
Any of
string
null
billing_address_line1string | null
Show child attributes
Any of
string
null
billing_address_line2string | null
Show child attributes
Any of
string
null
billing_address_citystring | null
Show child attributes
Any of
string
null
billing_address_statestring | null
Show child attributes
Any of
string
null
billing_address_postal_codestring | null
Show child attributes
Any of
string
null
billing_address_countrystring | null
Show child attributes
Any of
string
null
tax_idstring | null
Show child attributes
Any of
string
null
null
environmentstringrequired
runtime_security_configBackend_RuntimeSecurityConfigConfigDto | null
Show child attributes
Any of
screenshot_prevention_modestringdisabled
root_detection_modestringwarning
biometric_required_modestringdisabled
session_timeout_minutesinteger0
wifi_only_syncbooleanfalse
battery_aware_syncbooleanfalse
battery_low_threshold_percentinteger20
block_sync_on_roamingbooleanfalse
background_sync_enabledbooleantrue
crash_reporting_enabledbooleantrue
telemetry_enabledbooleantrue
global_modestringwarning
version_idstring | null
Show child attributes
Any of
string
null
null
tenant_data_governancesArray<Backend_TenantDataGovernanceConfigDto> | null
Show child attributes
Any of
Show child attributes
tenant_idstringrequired
max_offline_duration_hoursinteger0
force_revalidation_hoursinteger0
media_upload_max_size_mbinteger50
media_upload_allowed_typesArray<string> | null
Show child attributes
Any of
Array<string>
null
local_retention_daysinteger0
remote_wipe_enabledbooleanfalse
version_idstring | null
Show child attributes
Any of
string
null
null
mobile_security_policyBackend_DeprecatedMobileSecurityPolicyConfigDto | null
Show child attributes
Any of

DEPRECATED: For old mobile clients. Remove after migration window.

global_modestringwarning
screenshot_prevention_modestringdisabled
root_detection_modestringwarning
max_offline_duration_hoursinteger0
force_revalidation_hoursinteger0
media_upload_max_size_mbinteger50
media_upload_allowed_typesArray<any> | null
Show child attributes
Any of
Array<any>
null
wifi_only_syncbooleanfalse
battery_aware_syncbooleanfalse
battery_low_threshold_percentinteger20
block_sync_on_roamingbooleanfalse
local_retention_daysinteger0
remote_wipe_enabledbooleanfalse
biometric_required_modestringdisabled
session_timeout_minutesinteger0
null

Backend_AppVersionCheckResponseDto

object
latest_versionstringrequired
Example
2.1.0
download_urlstring | null
Show child attributes
Any of
string
null
Example
https://releases.mquad.local/v2.1.0/mquad.apk
checksum_sha256string | null
Show child attributes
Any of
string
null
Example
a1b2c3d4e5f6...
min_versionstring | null
Show child attributes
Any of
string
null
Example
1.5.0
release_notesstring | null
Show child attributes
Any of
string
null
Example
Fixed sync conflicts, improved offline stability

Backend_AuditEventIngestRequest

object

Client-originated audit event relayed to the centralized audit-service.

Mirrors the schema the browser sends via the generated AuditLogsService (createAuditLog). Unknown fields are preserved (extra="allow") so the relay forwards the payload faithfully to the audit-service, which owns validation.

event_idstring | null
Show child attributes
Any of
string
null
event_typestring | null
Show child attributes
Any of
string
null
log_schema_versionstring | null1.0
Show child attributes
Any of
string
null
service_namestringfrontend
actionstringrequired
actor_typestring | null
Show child attributes
Any of
string
null
actor_idstring | null
Show child attributes
Any of
string
null
actor_emailstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
resource_typestring | null
Show child attributes
Any of
string
null
resource_idstring | null
Show child attributes
Any of
string
null
statusstring | nullsuccess
Show child attributes
Any of
string
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
request_idstring | null
Show child attributes
Any of
string
null
trace_idstring | null
Show child attributes
Any of
string
null
parent_trace_idstring | null
Show child attributes
Any of
string
null
http_methodstring | null
Show child attributes
Any of
string
null
http_pathstring | null
Show child attributes
Any of
string
null
http_statusinteger | null
Show child attributes
Any of
integer
null
duration_msinteger | null
Show child attributes
Any of
integer
null
metadataobject | null
Show child attributes
Any of
object
null
event_idempotency_keystring | null
Show child attributes
Any of
string
null
data_classificationstring | null
Show child attributes
Any of
string
null

Backend_AuditLogDto

object
idstring | null
Show child attributes
Any of
string
null
entitystringrequired
service_namestring | null
Show child attributes
Any of
string
null
actionstringcreateupdatedeletereadloginlogouterrordownloadrequired
changesobject
user_idstring | null
Show child attributes
Any of
string
null
timestampstring
tenant_idstring | null
Show child attributes
Any of
string
null
actor_namestring | null
Show child attributes
Any of
string
null
actor_emailstring | null
Show child attributes
Any of
string
null
resource_idstring | null
Show child attributes
Any of
string
null
resource_namestring | null
Show child attributes
Any of
string
null
categorystring | null
Show child attributes
Any of
string
null
severitystring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
failure_reasonstring | null
Show child attributes
Any of
string
null
correlation_idstring | null
Show child attributes
Any of
string
null
statusstring | null
Show child attributes
Any of
string
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
event_typestring | null
Show child attributes
Any of
string
null

Backend_AuditLogListDto

object
totalintegerrequired
Show child attributes
idstring | null
Show child attributes
Any of
string
null
entitystringrequired
service_namestring | null
Show child attributes
Any of
string
null
actionstringcreateupdatedeletereadloginlogouterrordownloadrequired
changesobject
user_idstring | null
Show child attributes
Any of
string
null
timestampstring
tenant_idstring | null
Show child attributes
Any of
string
null
actor_namestring | null
Show child attributes
Any of
string
null
actor_emailstring | null
Show child attributes
Any of
string
null
resource_idstring | null
Show child attributes
Any of
string
null
resource_namestring | null
Show child attributes
Any of
string
null
categorystring | null
Show child attributes
Any of
string
null
severitystring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
failure_reasonstring | null
Show child attributes
Any of
string
null
correlation_idstring | null
Show child attributes
Any of
string
null
statusstring | null
Show child attributes
Any of
string
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
event_typestring | null
Show child attributes
Any of
string
null
has_nextbooleanrequired
has_previousbooleanrequired
limitintegerrequired
skipintegerrequired

Backend_AuthenticatorTransport

string

How an authenticator communicates to the client/browser.

Members: USB: USB wired connection NFC: Near Field Communication BLE: Bluetooth Low Energy INTERNAL: Direct connection (read: a platform authenticator) CABLE: Cloud Assisted Bluetooth Low Energy HYBRID: A combination of (often separate) data-transport and proximity mechanisms

https://www.w3.org/TR/webauthn-2/#enum-transport

Backend_AuthenticatorTransportusbnfcblesmart-cardinternalcablehybrid

Backend_BillingAddressDto

object
individual_namestringrequired
business_namestring | null
Show child attributes
Any of
string
null
line1stringrequired
line2string | null
Show child attributes
Any of
string
null
citystringrequired
statestringrequired
postal_codestringrequired
countrystringrequired

Backend_BillingConfigDto

object
publishable_keystringrequired

Backend_BillingRecordDto

object
idstringrequired
created_atstringrequired
scopestringhosttenantrequired
actorstringtenantend_userrequired
user_idstring | null
Show child attributes
Any of
string
null
user_namestring | null
Show child attributes
Any of
string
null
user_emailstring | null
Show child attributes
Any of
string
null
payment_typestringrequired
currencystringrequired
amountinteger | null
Show child attributes
Any of
integer
null
amount_formattedstring | null
Show child attributes
Any of
string
null
stripe_customer_idstring | null
Show child attributes
Any of
string
null
stripe_subscription_idstring | null
Show child attributes
Any of
string
null
stripe_session_idstring | null
Show child attributes
Any of
string
null
stripe_invoice_idstring | null
Show child attributes
Any of
string
null
stripe_payment_intent_idstring | null
Show child attributes
Any of
string
null
product_idstring | null
Show child attributes
Any of
string
null
price_idstring | null
Show child attributes
Any of
string
null
statusstringpendingrequires_payment_methodrequires_actionactivesucceededpayment_failedcanceledincompleterequired
current_period_endstring | null
Show child attributes
Any of
string
null
canceled_atstring | null
Show child attributes
Any of
string
null
cancellation_reasonstring | null
Show child attributes
Any of
string
null
invoice_urlstring | null
Show child attributes
Any of
string
null
invoice_pdf_urlstring | null
Show child attributes
Any of
string
null
receipt_urlstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null

Backend_BillingRecordListDto

object
Show child attributes
idstringrequired
created_atstringrequired
scopestringhosttenantrequired
actorstringtenantend_userrequired
user_idstring | null
Show child attributes
Any of
string
null
user_namestring | null
Show child attributes
Any of
string
null
user_emailstring | null
Show child attributes
Any of
string
null
payment_typestringrequired
currencystringrequired
amountinteger | null
Show child attributes
Any of
integer
null
amount_formattedstring | null
Show child attributes
Any of
string
null
stripe_customer_idstring | null
Show child attributes
Any of
string
null
stripe_subscription_idstring | null
Show child attributes
Any of
string
null
stripe_session_idstring | null
Show child attributes
Any of
string
null
stripe_invoice_idstring | null
Show child attributes
Any of
string
null
stripe_payment_intent_idstring | null
Show child attributes
Any of
string
null
product_idstring | null
Show child attributes
Any of
string
null
price_idstring | null
Show child attributes
Any of
string
null
statusstringpendingrequires_payment_methodrequires_actionactivesucceededpayment_failedcanceledincompleterequired
current_period_endstring | null
Show child attributes
Any of
string
null
canceled_atstring | null
Show child attributes
Any of
string
null
cancellation_reasonstring | null
Show child attributes
Any of
string
null
invoice_urlstring | null
Show child attributes
Any of
string
null
invoice_pdf_urlstring | null
Show child attributes
Any of
string
null
receipt_urlstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
skipintegerrequired
limitintegerrequired
totalintegerrequired
has_previousbooleanrequired
has_nextbooleanrequired

Backend_Body_bulk_upload_users_api_v1_users_bulk_upload_post

object
tenant_idstringrequired

Tenant ID to add users to

default_role_idstring | null

Default role ID for new users

Show child attributes
Any of
string
null
default_role_namestring | null

Default role name for new users (e.g., 'Admin', 'User')

Show child attributes
Any of
string
null
send_invitationbooleantrue

Whether to send invitation emails

filestring<binary>required

CSV or Excel file with user data

Backend_Body_login_api_v1_account_login_post

object
grant_typestring | null
Show child attributes
Any of
string
null
usernamestringrequired
passwordstring<password>required
scopestring
client_idstring | null
Show child attributes
Any of
string
null
client_secretstring | null<password>
Show child attributes
Any of
string
null

Backend_Body_login_host_admin_api_v1_account_login_host_admin_post

object
grant_typestring | null
Show child attributes
Any of
string
null
usernamestringrequired
passwordstring<password>required
scopestring
client_idstring | null
Show child attributes
Any of
string
null
client_secretstring | null<password>
Show child attributes
Any of
string
null

Backend_Body_login_new_api_v1_account_login_new_post

object
grant_typestring | null
Show child attributes
Any of
string
null
usernamestringrequired
passwordstring<password>required
scopestring
client_idstring | null
Show child attributes
Any of
string
null
client_secretstring | null<password>
Show child attributes
Any of
string
null

Backend_Body_login_super_admin_api_v1_account_login_super_admin_post

object
grant_typestring | null
Show child attributes
Any of
string
null
usernamestringrequired
passwordstring<password>required
scopestring
client_idstring | null
Show child attributes
Any of
string
null
client_secretstring | null<password>
Show child attributes
Any of
string
null

Backend_Body_passkey_login_api_v1_account_passkey_login_post

object
emailstring<email>required
credentialobjectrequired

Backend_Body_passkey_register_api_v1_account_passkey_register_post

object
emailstring<email>required
credentialobjectrequired

Backend_Body_update_profile_picture_api_v1_users__user_id__update_profile_picture_put

object
filestring<binary>required

Backend_BulkUserRequestDto

object
user_idsArray<string>required

Backend_BulkUserUploadResponseDto

object

DTO for bulk user upload response

totalintegerrequired
successintegerrequired
failedintegerrequired
Show child attributes

DTO for individual user upload result

emailstringrequired
successbooleanrequired
user_idstring | null
Show child attributes
Any of
string
null
messagestringrequired
errorstring | null
Show child attributes
Any of
string
null

Backend_BulkUserUploadResultDto

object

DTO for individual user upload result

emailstringrequired
successbooleanrequired
user_idstring | null
Show child attributes
Any of
string
null
messagestringrequired
errorstring | null
Show child attributes
Any of
string
null

Backend_CeleryMetricsDto

object
workers_onlineintegerrequired
active_tasksintegerrequired
scheduled_tasksintegerrequired
reserved_tasksintegerrequired
worker_detailsobjectrequired

Backend_ChangeEmailConfirmRequestDto

object
tokenstringrequired

Backend_ChangeEmailRequestDto

object
new_emailstring<email>required

Backend_ChangeEmailResponseDto

object
messagestringrequired

Backend_CheckoutRequestDto

object
price_idstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
modestringpaymentsubscriptionsetupsubscription
emailstring<email>required

Backend_CheckoutResponseDto

object
checkout_urlstringrequired

Backend_CompleteIncompletePaymentRequestDto

object
subscription_idstringrequired
tenant_idstringrequired

Backend_ConfirmNativeSubscriptionRequestDto

object
billing_record_idstringrequired

Backend_CreateNativeSubscriptionRequestDto

object
price_idstringrequired
tenant_idstringrequired
modestringsubscriptionpaymentsubscription
emailstringrequired

Backend_CreateNotificationBannerSettingDto

object
is_enabledbooleanrequired
messagestring | null
Show child attributes
Any of
string
null

Backend_CreatePlanDto

object
currencystringusd

Must be a supported currency: https://docs.stripe.com/currencies

intervalstringmonthyearrequired
product_idstringrequired

The product whose pricing the created plan will represent. This must be the ID of an existing product.

amountintegerrequired
trial_period_daysinteger | null

Number of days for the trial period. Set > 0 to enable trials.

Show child attributes
Any of
integer
null

Backend_CreatePricingDto

object
currencystringusd

Currency code, e.g., 'usd'

unit_amountintegerrequired

A positive integer in cents (or 0 for a free price) representing how much to charge. One of unit_amount, unit_amount_decimal, or custom_unit_amount is required, unless billing_scheme=tiered.

productstringrequired

The ID of the product this price is associated with

activebooleantrue

Whether the price is active or not

recurringBackend_RecurringDtorequired
Show child attributes
intervalstringdayweekmonthyearmonth

Billing interval, e.g., 'month'

interval_countinteger1

Number of intervals between each billing cycle

usage_typestringlicensedmeteredlicensed

Configures how the quantity per period should be determined. Can be either metered or licensed. licensed automatically bills the quantity set when adding it to a subscription. metered aggregates the total usage based on usage records. Defaults to licensed.

Backend_CreateProductDto

object
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
tax_codestring | null
Show child attributes
Any of
string
null
activebooleantrue

Backend_CreateRoleDto

object
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse

Backend_CreateRoleResponseDto

object
idstringrequired

Backend_CreateTenantDataGovernanceDto

object
tenant_idstringrequired
max_offline_duration_hoursinteger>= 00
force_revalidation_hoursinteger>= 00
media_upload_max_size_mbinteger[1, 500]50
media_upload_allowed_typesArray<any> | null
Show child attributes
Any of
Array<any>
null
local_retention_daysinteger>= 00
remote_wipe_enabledbooleanfalse

Backend_CreateTenantDto

object
namestringrequired
subdomainstringrequired
admin_emailstring<email>required
admin_passwordstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
genderBackend_Gendermalefemaleotherprefer_not_to_sayrequired

Backend_CreateTenantResponseDto

object
idstringrequired

Backend_CreateUserDto

object
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
genderBackend_Gender | nullprefer_not_to_say
Show child attributes
Any of
Backend_Gendermalefemaleotherprefer_not_to_say
null
tenant_idstring | null
Show child attributes
Any of
string
null
role_idstring | null
Show child attributes
Any of
string
null
passwordstringrequired
sub_domainstring | null
Show child attributes
Any of
string
null
agreed_to_termsbooleantrue

Backend_CreateUserResponseDto

object
idstringrequired

Backend_DashboardMetricsDto

object
filterstringtodaythis_weeklast_3_monthsallrequired
joined_usersintegerrequired
total_usersintegerrequired
Show child attributes
time_or_datestringrequired
countintegerrequired

Backend_DeprecatedMobileSecurityPolicyConfigDto

object

DEPRECATED: For old mobile clients. Remove after migration window.

global_modestringwarning
screenshot_prevention_modestringdisabled
root_detection_modestringwarning
max_offline_duration_hoursinteger0
force_revalidation_hoursinteger0
media_upload_max_size_mbinteger50
media_upload_allowed_typesArray<any> | null
Show child attributes
Any of
Array<any>
null
wifi_only_syncbooleanfalse
battery_aware_syncbooleanfalse
battery_low_threshold_percentinteger20
block_sync_on_roamingbooleanfalse
local_retention_daysinteger0
remote_wipe_enabledbooleanfalse
biometric_required_modestringdisabled
session_timeout_minutesinteger0

Backend_DeprecatedMobileSecurityPolicyDto

object

Backward-compatible adapter for old mobile clients.

Maps from RuntimeSecurityConfig + TenantDataGovernance into the old monolithic MobileSecurityPolicyDto format. This is TEMPORARY — remove after migration window.

DEPRECATED: Use RuntimeSecurityConfigDto + TenantDataGovernanceDto instead.

idstring | null
Show child attributes
Any of
string
null
tenant_idstringrequired
global_modestringwarning
screenshot_prevention_modestringdisabled
root_detection_modestringwarning
biometric_required_modestringdisabled
session_timeout_minutesinteger0
wifi_only_syncbooleanfalse
battery_aware_syncbooleanfalse
battery_low_threshold_percentinteger20
block_sync_on_roamingbooleanfalse
max_offline_duration_hoursinteger0
force_revalidation_hoursinteger0
media_upload_max_size_mbinteger50
media_upload_allowed_typesArray<any> | null
Show child attributes
Any of
Array<any>
null
local_retention_daysinteger0
remote_wipe_enabledbooleanfalse

Backend_DownloadAuditRequestDto

object
actionstring | null
Show child attributes
Any of
stringcreateupdatedeletereadloginlogouterrordownload
null
total_recordsintegerrequired

Backend_DownloadResponseDto

object
messagestringrequired

Backend_EnterpriseSignupDto

object
namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
companystring | null
Show child attributes
Any of
string
null
phonestring | null
Show child attributes
Any of
string
null
messagestring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null

Backend_Feature

string
Backend_Featurechatreportanalyticsorganizationteamsstripe

Backend_FeatureDto

object
nameBackend_Featurechatreportanalyticsorganizationteamsstriperequired
enabledbooleanrequired

Backend_FrontendLogEntry

object

Frontend log entry model

timestampstringrequired
levelstringrequired
messagestringrequired
contextobject | null
Show child attributes
Any of
object
null
stackstring | null
Show child attributes
Any of
string
null
userAgentstring | null
Show child attributes
Any of
string
null
urlstring | null
Show child attributes
Any of
string
null
userIdstring | null
Show child attributes
Any of
string
null
tenantIdstring | null
Show child attributes
Any of
string
null

Backend_Gender

string
Backend_Gendermalefemaleotherprefer_not_to_say

Backend_HTTPValidationError

object
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

Backend_HasPasskeysDto

object
has_passkeysbooleanrequired

Backend_HealthCheckResponseDto

object
statusstringrequired
Example
Ok
postgres_statusstring | null
Show child attributes
Any of
string
null
Example
Ok
redis_statusstring | null
Show child attributes
Any of
string
null
Example
Ok

Backend_IncidentDto

object
idstringrequired
typestringrequired
severitystringcriticalwarninginforequired
messagestringrequired
tenant_idstring | nullrequired
Show child attributes
Any of
string
null
created_atstring<date-time>required

Backend_InfrastructureMetricsDto

object
celery_queue_sizeintegerrequired
redis_memory_mbnumberrequired
db_connectionsintegerrequired
storage_used_gbnumberrequired
webhook_failuresintegerrequired

Backend_InvoiceDto

object
idstringrequired
amount_dueinteger0
amount_paidinteger0
amount_remaininginteger0
amount_overpaidinteger0
attempt_countinteger0
attemptedbooleanfalse
auto_advancebooleanfalse
billing_reasonstring | null
Show child attributes
Any of
string
null
collection_methodstring | null
Show child attributes
Any of
string
null
createdintegerrequired
currencystringusd
customerstring | null
Show child attributes
Any of
string
null
customer_namestring | null
Show child attributes
Any of
string
null
statusstringopen
totalinteger0
receipt_numberstring | null
Show child attributes
Any of
string
null
amount_countrystring | null
Show child attributes
Any of
string
null
account_namestring | null
Show child attributes
Any of
string
null
invoice_pdfstring | null
Show child attributes
Any of
string
null
hosted_invoice_urlstring | null
Show child attributes
Any of
string
null

Backend_InvoiceListDto

object
Show child attributes
idstringrequired
amount_dueinteger0
amount_paidinteger0
amount_remaininginteger0
amount_overpaidinteger0
attempt_countinteger0
attemptedbooleanfalse
auto_advancebooleanfalse
billing_reasonstring | null
Show child attributes
Any of
string
null
collection_methodstring | null
Show child attributes
Any of
string
null
createdintegerrequired
currencystringusd
customerstring | null
Show child attributes
Any of
string
null
customer_namestring | null
Show child attributes
Any of
string
null
statusstringopen
totalinteger0
receipt_numberstring | null
Show child attributes
Any of
string
null
amount_countrystring | null
Show child attributes
Any of
string
null
account_namestring | null
Show child attributes
Any of
string
null
invoice_pdfstring | null
Show child attributes
Any of
string
null
hosted_invoice_urlstring | null
Show child attributes
Any of
string
null
totalintegerrequired
skipinteger0
limitinteger10
has_nextbooleanfalse
has_previousbooleanfalse

Backend_LoginResponseDto

object

Response after successful login with tenant selection info

User information returned after login

Show child attributes
idstringrequired
emailstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
activated_atstring | null
Show child attributes
Any of
string<date-time>
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
user_codestring | null
Show child attributes
Any of
string
null
Show child attributes

Tenant information for selection

idstringrequired
namestringrequired
subdomainstring | null
Show child attributes
Any of
string
null
custom_domainstring | null
Show child attributes
Any of
string
null
logo_urlstring | null
Show child attributes
Any of
string
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
requires_tenant_selectionbooleanrequired
is_super_adminbooleanrequired
messagestringLogin successful
tokenstring | null
Show child attributes
Any of
string
null
refresh_tokenstring | null
Show child attributes
Any of
string
null

Backend_MagicLinkResponseDto

object
messagestringrequired

Backend_MeResponseDto

object
idstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
genderBackend_Gendermalefemaleotherprefer_not_to_sayrequired
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
member_activebooleantrue
activated_atstring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
user_codestring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<string> | null
Show child attributes
Any of
Array<string>
null
agreed_to_termsbooleanfalse
roleBackend_RoleDtorequired
Show child attributes
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
subscriptionBackend_SubscriptionPlanDto | nullrequired
Show child attributes
Any of
idstringrequired
plan_levelsobjectrequired

e.g., {'basic': 0, 'pro': 1, 'enterprise': 2}

Show child attributes
[key: string]integer
is_trialbooleanrequired

Indicates if the subscription is a trial

tenant_idstring | nullrequired

The tenant who owns the subscription

Show child attributes
Any of
string
null
actorstringrequired

who it is applied to, If end_user, then user_id must be set

user_idstring | nullrequired

The end user who has this subscription, if applicable

Show child attributes
Any of
string
null
plan_idstringrequired

Corresponding Stripe Price ID

plan_namestring | null

Plan name like Free, Starter, Pro, Enterprise

Show child attributes
Any of
string
null
stripe_subscription_statusstring | null

Stripe subscription status: active, trialing, incomplete, past_due, etc.

Show child attributes
Any of
string
null
trial_end_atstring | null

Trial end date if applicable

Show child attributes
Any of
string
null
null

Backend_NativeSubscriptionResponseDto

object
client_secretstringrequired
subscription_idstringrequired
customer_idstringrequired
billing_record_idstringrequired
is_upgradebooleanfalse
requires_confirmationbooleantrue

Backend_NotificationBannerSettingDto

object
is_enabledbooleanrequired
messagestring | null
Show child attributes
Any of
string
null
idstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null

Backend_OSMetricsDto

object
cpu_percentnumberrequired
memory_percentnumberrequired
memory_total_mbnumberrequired
memory_used_mbnumberrequired

Backend_PasswordResetConfirmRequestDto

object
new_passwordstringrequired

Backend_PasswordResetRequestDto

object
emailstring<email>required

Backend_PasswordResetResponseDto

object
messagestringrequired

Backend_PaymentMethodCardDto

object
brandstringrequired
last4stringrequired
exp_monthintegerrequired
exp_yearintegerrequired
countrystring | null
Show child attributes
Any of
string
null

Backend_PaymentMethodDto

object
idstringrequired
typestringrequired
cardBackend_PaymentMethodCardDto | null
Show child attributes
Any of
brandstringrequired
last4stringrequired
exp_monthintegerrequired
exp_yearintegerrequired
countrystring | null
Show child attributes
Any of
string
null
null
createdintegerrequired
is_defaultbooleanfalse

Backend_PaymentMethodListDto

object
Show child attributes
idstringrequired
typestringrequired
cardBackend_PaymentMethodCardDto | null
Show child attributes
Any of
brandstringrequired
last4stringrequired
exp_monthintegerrequired
exp_yearintegerrequired
countrystring | null
Show child attributes
Any of
string
null
null
createdintegerrequired
is_defaultbooleanfalse
customer_idstring | null
Show child attributes
Any of
string
null

Backend_Permission

string
Backend_Permissionsuper:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage

Backend_PermissionCategory

string

Logical grouping of permissions.

Backend_PermissionCategoryUser ManagementRole ManagementSurvey ManagementForm ManagementResponse ManagementWorkspace ManagementAnalyticsReportingExportNotificationMediaSystemBillingFeature FlagsComplianceAuditPlatform

Backend_PermissionDangerLevel

string

Categorizes permissions by potential system impact.

stringlowmediumhighdangerous

Backend_PermissionDto

object
namestringrequired
display_namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
categoryBackend_PermissionCategory | null
Show child attributes
Any of

Logical grouping of permissions.

Backend_PermissionCategoryUser ManagementRole ManagementSurvey ManagementForm ManagementResponse ManagementWorkspace ManagementAnalyticsReportingExportNotificationMediaSystemBillingFeature FlagsComplianceAuditPlatform
null
danger_levelBackend_PermissionDangerLevellowmediumhighdangerouslow

Categorizes permissions by potential system impact.

Backend_PermissionGroupedDto

object
categoryBackend_PermissionCategoryUser ManagementRole ManagementSurvey ManagementForm ManagementResponse ManagementWorkspace ManagementAnalyticsReportingExportNotificationMediaSystemBillingFeature FlagsComplianceAuditPlatformrequired

Logical grouping of permissions.

permissionsArray<Backend_PermissionDto>required
Show child attributes
namestringrequired
display_namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
categoryBackend_PermissionCategory | null
Show child attributes
Any of

Logical grouping of permissions.

Backend_PermissionCategoryUser ManagementRole ManagementSurvey ManagementForm ManagementResponse ManagementWorkspace ManagementAnalyticsReportingExportNotificationMediaSystemBillingFeature FlagsComplianceAuditPlatform
null
danger_levelBackend_PermissionDangerLevellowmediumhighdangerouslow

Categorizes permissions by potential system impact.

Backend_PlanDto

object
idstringrequired
activebooleanrequired
amountintegerrequired
amount_decimalstringrequired
billing_schemestringrequired
currencystringusd
intervalstringrequired
interval_countintegerrequired
productstringrequired
trial_period_daysinteger | null
Show child attributes
Any of
integer
null
usage_typestringrequired

Backend_PlanListDto

object
Show child attributes
idstringrequired
activebooleanrequired
amountintegerrequired
amount_decimalstringrequired
billing_schemestringrequired
currencystringusd
intervalstringrequired
interval_countintegerrequired
productstringrequired
trial_period_daysinteger | null
Show child attributes
Any of
integer
null
usage_typestringrequired
totalintegerrequired
skipinteger0
limitinteger10
has_nextbooleanfalse
has_previousbooleanfalse

Backend_PlanTierResponseDto

object
tierstringrequired
namestringrequired

Backend_PlatformHealthDto

object
statusstringhealthydegradeddownrequired
api_uptime_secondsnumberrequired
last_incident_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
active_incidentsintegerrequired

Backend_PricingDto

object
idstringrequired
currencystringrequired
unit_amountintegerrequired
productstringrequired
activebooleanrequired
recurringBackend_RecurringDtorequired
Show child attributes
intervalstringdayweekmonthyearmonth

Billing interval, e.g., 'month'

interval_countinteger1

Number of intervals between each billing cycle

usage_typestringlicensedmeteredlicensed

Configures how the quantity per period should be determined. Can be either metered or licensed. licensed automatically bills the quantity set when adding it to a subscription. metered aggregates the total usage based on usage records. Defaults to licensed.

tax_behaviorstringrequired
typestringrequired
unit_amount_decimalstringrequired

Backend_PricingListDto

object
Show child attributes
idstringrequired
currencystringrequired
unit_amountintegerrequired
productstringrequired
activebooleanrequired
recurringBackend_RecurringDtorequired
Show child attributes
intervalstringdayweekmonthyearmonth

Billing interval, e.g., 'month'

interval_countinteger1

Number of intervals between each billing cycle

usage_typestringlicensedmeteredlicensed

Configures how the quantity per period should be determined. Can be either metered or licensed. licensed automatically bills the quantity set when adding it to a subscription. metered aggregates the total usage based on usage records. Defaults to licensed.

tax_behaviorstringrequired
typestringrequired
unit_amount_decimalstringrequired
has_morebooleanrequired

Backend_ProductDto

object
idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
tax_codestring | null
Show child attributes
Any of
string
null
activebooleanrequired

Backend_ProductListDto

object
Show child attributes
idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
tax_codestring | null
Show child attributes
Any of
string
null
activebooleanrequired
has_morebooleanrequired

Backend_ProvisionUserDto

object

DTO for provisioning a user to a tenant (create or invite)

emailstring<email>required
role_idstringrequired
passwordstring | null
Show child attributes
Any of
string
null
first_namestring | null
Show child attributes
Any of
string
null
last_namestring | null
Show child attributes
Any of
string
null
genderBackend_Gender | null
Show child attributes
Any of
Backend_Gendermalefemaleotherprefer_not_to_say
null

Backend_ProvisionUserResponseDto

object

Response DTO for user provisioning

idstringrequired
statusstringrequired
messagestringrequired

Backend_RecurringDto

object
intervalstringdayweekmonthyearmonth

Billing interval, e.g., 'month'

interval_countinteger1

Number of intervals between each billing cycle

usage_typestringlicensedmeteredlicensed

Configures how the quantity per period should be determined. Can be either metered or licensed. licensed automatically bills the quantity set when adding it to a subscription. metered aggregates the total usage based on usage records. Defaults to licensed.

Backend_RegisteredPasskeyCredentialsDto

object
credential_idstringrequired
public_keystringrequired
sigin_countintegerrequired
transportsArray<Backend_AuthenticatorTransport>usbnfcblesmart-cardinternalcablehybrid
created_atstring<date-time>required
last_used_atstring | null
Show child attributes
Any of
string<date-time>
null

Backend_RemoteWipeCommandDto

object
target_user_idstring | null
Show child attributes
Any of
string
null
reasonstring | null
Show child attributes
Any of
string
null

Backend_ReservedSubdomainsDto

object
subdomainsArray<string>required

Backend_RoleDto

object
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0

Backend_RoleListDto

object
Show child attributes
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
skipintegerrequired
limitintegerrequired
totalintegerrequired
has_previousbooleanrequired
has_nextbooleanrequired

Backend_RoleScope

string

Defines where a role can be used.

stringplatformsystemtenant_custom

Backend_RuntimeSecurityConfigConfigDto

object
screenshot_prevention_modestringdisabled
root_detection_modestringwarning
biometric_required_modestringdisabled
session_timeout_minutesinteger0
wifi_only_syncbooleanfalse
battery_aware_syncbooleanfalse
battery_low_threshold_percentinteger20
block_sync_on_roamingbooleanfalse
background_sync_enabledbooleantrue
crash_reporting_enabledbooleantrue
telemetry_enabledbooleantrue
global_modestringwarning
version_idstring | null
Show child attributes
Any of
string
null

Backend_RuntimeSecurityConfigDto

object
idstringsystem_default
screenshot_prevention_modestringstrictwarningdisableddisabled
root_detection_modestringstrictwarningdisabledwarning
biometric_required_modestringstrictwarningdisableddisabled
session_timeout_minutesinteger0
wifi_only_syncbooleanfalse
battery_aware_syncbooleanfalse
battery_low_threshold_percentinteger20
block_sync_on_roamingbooleanfalse
background_sync_enabledbooleantrue
crash_reporting_enabledbooleantrue
telemetry_enabledbooleantrue
global_modestringstrictwarningdisabledwarning
version_idstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
updated_bystring | null
Show child attributes
Any of
string
null

Backend_SetPrimaryTenantDto

object

DTO for setting primary tenant

tenant_idstringrequired

Backend_SetupIntentDto

object
client_secretstringrequired
setup_intent_idstringrequired

Backend_SubdomainAvailabilityDto

object
is_availablebooleanrequired
reasonstring | null
Show child attributes
Any of
string
null

Backend_SubmissionMetricsDto

object
submissions_todayintegerrequired
submissions_this_weekintegerrequired
submissions_this_monthintegerrequired
submissions_trendArray<object>required
Show child attributes
[key: string]integer

Backend_SubscriptionMetricsDto

object
mrrnumberrequired
active_subscriptionsintegerrequired
trials_runningintegerrequired
cancelled_this_monthintegerrequired
plans_breakdownobjectrequired
Show child attributes
[key: string]integer

Backend_SubscriptionPlanDto

object
idstringrequired
plan_levelsobjectrequired

e.g., {'basic': 0, 'pro': 1, 'enterprise': 2}

Show child attributes
[key: string]integer
is_trialbooleanrequired

Indicates if the subscription is a trial

tenant_idstring | nullrequired

The tenant who owns the subscription

Show child attributes
Any of
string
null
actorstringrequired

who it is applied to, If end_user, then user_id must be set

user_idstring | nullrequired

The end user who has this subscription, if applicable

Show child attributes
Any of
string
null
plan_idstringrequired

Corresponding Stripe Price ID

plan_namestring | null

Plan name like Free, Starter, Pro, Enterprise

Show child attributes
Any of
string
null
stripe_subscription_statusstring | null

Stripe subscription status: active, trialing, incomplete, past_due, etc.

Show child attributes
Any of
string
null
trial_end_atstring | null

Trial end date if applicable

Show child attributes
Any of
string
null

Backend_SuperadminDashboardDto

object
Show child attributes
total_tenantsintegerrequired
active_tenants_30dintegerrequired
new_tenants_this_monthintegerrequired
suspended_tenantsintegerrequired
submissionsBackend_SubmissionMetricsDtorequired
Show child attributes
submissions_todayintegerrequired
submissions_this_weekintegerrequired
submissions_this_monthintegerrequired
submissions_trendArray<object>required
Show child attributes
[key: string]integer
Show child attributes
total_usersintegerrequired
active_users_30dintegerrequired
new_users_this_monthintegerrequired
subscriptionsBackend_SubscriptionMetricsDtorequired
Show child attributes
mrrnumberrequired
active_subscriptionsintegerrequired
trials_runningintegerrequired
cancelled_this_monthintegerrequired
plans_breakdownobjectrequired
Show child attributes
[key: string]integer
infrastructureBackend_InfrastructureMetricsDtorequired
Show child attributes
celery_queue_sizeintegerrequired
redis_memory_mbnumberrequired
db_connectionsintegerrequired
storage_used_gbnumberrequired
webhook_failuresintegerrequired
Show child attributes
idstringrequired
typestringrequired
severitystringcriticalwarninginforequired
messagestringrequired
tenant_idstring | nullrequired
Show child attributes
Any of
string
null
created_atstring<date-time>required
platform_healthBackend_PlatformHealthDtorequired
Show child attributes
statusstringhealthydegradeddownrequired
api_uptime_secondsnumberrequired
last_incident_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
active_incidentsintegerrequired
submissions_trendArray<Backend_TimeSeriesPointDto>required
Show child attributes
datestringrequired
countintegerrequired
tenant_growth_trendArray<Backend_TimeSeriesPointDto>required
Show child attributes
datestringrequired
countintegerrequired
recent_tenant_activityArray<Backend_TenantActivityDto>required
Show child attributes
tenant_idstringrequired
tenant_namestringrequired
subdomainstringrequired
planstringrequired
users_countintegerrequired
surveys_countintegerrequired
submissions_countintegerrequired
last_activity_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
statusstringactiveidlesuspendedemptyrequired

Backend_SwitchTenantRequestDto

object

Request to switch active tenant

tenant_idstringrequired

Backend_SwitchTenantResponseDto

object

Response after switching tenant with new tokens and context

access_tokenstringrequired
token_typestringbearer
expires_inintegerrequired
refresh_tokenstringrequired
refresh_token_expires_inintegerrequired

User information returned after login

Show child attributes
idstringrequired
emailstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
activated_atstring | null
Show child attributes
Any of
string<date-time>
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
user_codestring | null
Show child attributes
Any of
string
null
tenantBackend_TenantInfoDtorequired

Tenant information for selection

Show child attributes
idstringrequired
namestringrequired
subdomainstring | null
Show child attributes
Any of
string
null
custom_domainstring | null
Show child attributes
Any of
string
null
logo_urlstring | null
Show child attributes
Any of
string
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
previous_tenant_idstring | null
Show child attributes
Any of
string
null
messagestringTenant switched successfully

Backend_SystemMetricsResponseDto

object
os_metricsBackend_OSMetricsDtorequired
Show child attributes
cpu_percentnumberrequired
memory_percentnumberrequired
memory_total_mbnumberrequired
memory_used_mbnumberrequired
celery_metricsBackend_CeleryMetricsDto | null
Show child attributes
Any of
workers_onlineintegerrequired
active_tasksintegerrequired
scheduled_tasksintegerrequired
reserved_tasksintegerrequired
worker_detailsobjectrequired
null

Backend_TenantAccessUpdateDto

object

DTO for updating a user's per-tenant access (activate/deactivate in the active tenant)

is_activebooleanrequired

Backend_TenantActivityDto

object
tenant_idstringrequired
tenant_namestringrequired
subdomainstringrequired
planstringrequired
users_countintegerrequired
surveys_countintegerrequired
submissions_countintegerrequired
last_activity_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
statusstringactiveidlesuspendedemptyrequired

Backend_TenantDataGovernanceConfigDto

object
tenant_idstringrequired
max_offline_duration_hoursinteger0
force_revalidation_hoursinteger0
media_upload_max_size_mbinteger50
media_upload_allowed_typesArray<string> | null
Show child attributes
Any of
Array<string>
null
local_retention_daysinteger0
remote_wipe_enabledbooleanfalse
version_idstring | null
Show child attributes
Any of
string
null

Backend_TenantDataGovernanceDto

object
idstring | null
Show child attributes
Any of
string
null
tenant_idstringrequired
max_offline_duration_hoursinteger0
force_revalidation_hoursinteger0
media_upload_max_size_mbinteger50
media_upload_allowed_typesArray<any> | null
Show child attributes
Any of
Array<any>
null
local_retention_daysinteger0
remote_wipe_enabledbooleanfalse
version_idstring | null
Show child attributes
Any of
string
null

Backend_TenantDataGovernanceResponseDto

object
messagestringrequired
governanceBackend_TenantDataGovernanceDto | null
Show child attributes
Any of
idstring | null
Show child attributes
Any of
string
null
tenant_idstringrequired
max_offline_duration_hoursinteger0
force_revalidation_hoursinteger0
media_upload_max_size_mbinteger50
media_upload_allowed_typesArray<any> | null
Show child attributes
Any of
Array<any>
null
local_retention_daysinteger0
remote_wipe_enabledbooleanfalse
version_idstring | null
Show child attributes
Any of
string
null
null

Backend_TenantDto

object
idstring | nullrequired
Show child attributes
Any of
string
null
namestringrequired
subdomainstring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
custom_domainstring | nullrequired
Show child attributes
Any of
string
null
custom_domain_statusstringactivefailedactivation-progressfailed
Show child attributes
nameBackend_Featurechatreportanalyticsorganizationteamsstriperequired
enabledbooleanrequired
subscription_idstring | nullrequired
Show child attributes
Any of
string
null
plan_tierstringfree
is_trialbooleanfalse
trial_end_atstring | null
Show child attributes
Any of
string
null
has_had_trialbooleanfalse
is_dormantbooleanfalse
billing_individual_namestring | null
Show child attributes
Any of
string
null
billing_business_namestring | null
Show child attributes
Any of
string
null
billing_address_line1string | null
Show child attributes
Any of
string
null
billing_address_line2string | null
Show child attributes
Any of
string
null
billing_address_citystring | null
Show child attributes
Any of
string
null
billing_address_statestring | null
Show child attributes
Any of
string
null
billing_address_postal_codestring | null
Show child attributes
Any of
string
null
billing_address_countrystring | null
Show child attributes
Any of
string
null
tax_idstring | null
Show child attributes
Any of
string
null

Backend_TenantInfoDto

object

Tenant information for selection

idstringrequired
namestringrequired
subdomainstring | null
Show child attributes
Any of
string
null
custom_domainstring | null
Show child attributes
Any of
string
null
logo_urlstring | null
Show child attributes
Any of
string
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null

Backend_TenantInvoiceExportDto

object
idstringrequired
invoice_numberstring | null
Show child attributes
Any of
string
null
createdintegerrequired
due_dateinteger | null
Show child attributes
Any of
integer
null
statusstringopen
currencystringusd
amount_dueinteger0
amount_paidinteger0
tax_amountinteger0
totalinteger0
billing_reasonstring | null
Show child attributes
Any of
string
null
customer_namestring | null
Show child attributes
Any of
string
null
tenant_namestring | null
Show child attributes
Any of
string
null
tenant_tax_idstring | null
Show child attributes
Any of
string
null
invoice_pdfstring | null
Show child attributes
Any of
string
null
hosted_invoice_urlstring | null
Show child attributes
Any of
string
null
Show child attributes
descriptionstring | null
Show child attributes
Any of
string
null
quantityinteger1
unit_amountinteger0
amountinteger0
currencystringusd

Backend_TenantInvoiceLineItemDto

object
descriptionstring | null
Show child attributes
Any of
string
null
quantityinteger1
unit_amountinteger0
amountinteger0
currencystringusd

Backend_TenantInvoiceListDto

object
Show child attributes
idstringrequired
invoice_numberstring | null
Show child attributes
Any of
string
null
createdintegerrequired
due_dateinteger | null
Show child attributes
Any of
integer
null
statusstringopen
currencystringusd
amount_dueinteger0
amount_paidinteger0
tax_amountinteger0
totalinteger0
billing_reasonstring | null
Show child attributes
Any of
string
null
customer_namestring | null
Show child attributes
Any of
string
null
tenant_namestring | null
Show child attributes
Any of
string
null
tenant_tax_idstring | null
Show child attributes
Any of
string
null
invoice_pdfstring | null
Show child attributes
Any of
string
null
hosted_invoice_urlstring | null
Show child attributes
Any of
string
null
Show child attributes
descriptionstring | null
Show child attributes
Any of
string
null
quantityinteger1
unit_amountinteger0
amountinteger0
currencystringusd
totalintegerrequired
skipinteger0
limitinteger10
has_nextbooleanfalse
has_previousbooleanfalse

Backend_TenantListDto

object
Show child attributes
idstring | nullrequired
Show child attributes
Any of
string
null
namestringrequired
subdomainstring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
custom_domainstring | nullrequired
Show child attributes
Any of
string
null
custom_domain_statusstringactivefailedactivation-progressfailed
Show child attributes
nameBackend_Featurechatreportanalyticsorganizationteamsstriperequired
enabledbooleanrequired
subscription_idstring | nullrequired
Show child attributes
Any of
string
null
plan_tierstringfree
is_trialbooleanfalse
trial_end_atstring | null
Show child attributes
Any of
string
null
has_had_trialbooleanfalse
is_dormantbooleanfalse
billing_individual_namestring | null
Show child attributes
Any of
string
null
billing_business_namestring | null
Show child attributes
Any of
string
null
billing_address_line1string | null
Show child attributes
Any of
string
null
billing_address_line2string | null
Show child attributes
Any of
string
null
billing_address_citystring | null
Show child attributes
Any of
string
null
billing_address_statestring | null
Show child attributes
Any of
string
null
billing_address_postal_codestring | null
Show child attributes
Any of
string
null
billing_address_countrystring | null
Show child attributes
Any of
string
null
tax_idstring | null
Show child attributes
Any of
string
null
skipintegerrequired
limitintegerrequired
totalintegerrequired
has_previousbooleanrequired
has_nextbooleanrequired

Backend_TenantMetricsDto

object
total_tenantsintegerrequired
active_tenants_30dintegerrequired
new_tenants_this_monthintegerrequired
suspended_tenantsintegerrequired

Backend_TenantPlanContextResponseDto

object
tenant_idstringrequired
tierstringrequired
namestringrequired
subscription_statusstringinactive
is_activebooleanfalse
is_trialbooleanfalse
trial_end_atstring | null
Show child attributes
Any of
string
null
is_dormantbooleanfalse
featuresArray<object>

Backend_TenantSelectionRequestDto

object

Request to select a tenant and get tokens

tenant_idstringrequired

Backend_TenantSelectionResponseDto

object

Response after tenant selection with tokens

access_tokenstringrequired
token_typestringbearer
expires_inintegerrequired
refresh_tokenstringrequired
refresh_token_expires_inintegerrequired

User information returned after login

Show child attributes
idstringrequired
emailstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
activated_atstring | null
Show child attributes
Any of
string<date-time>
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
user_codestring | null
Show child attributes
Any of
string
null
tenantBackend_TenantInfoDto | null
Show child attributes
Any of

Tenant information for selection

idstringrequired
namestringrequired
subdomainstring | null
Show child attributes
Any of
string
null
custom_domainstring | null
Show child attributes
Any of
string
null
logo_urlstring | null
Show child attributes
Any of
string
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
null

Backend_TimeSeriesDto

object
time_or_datestringrequired
countintegerrequired

Backend_TimeSeriesPointDto

object
datestringrequired
countintegerrequired

Backend_TokenSetDto

object
refresh_tokenstringrequired
refresh_token_expires_inintegerrequired
access_tokenstringrequired
token_typestringrequired
expires_inintegerrequired

Backend_UpdateBillingAddressDto

object
Show child attributes
individual_namestringrequired
business_namestring | null
Show child attributes
Any of
string
null
line1stringrequired
line2string | null
Show child attributes
Any of
string
null
citystringrequired
statestringrequired
postal_codestringrequired
countrystringrequired
tax_idstring | null
Show child attributes
Any of
string
null

Backend_UpdatePlanDto

object
trial_period_daysintegerrequired
activebooleantrue
metadataobject | null
Show child attributes
Any of
object
null

Backend_UpdatePricingDto

object
activebooleanrequired
metadataobject | null
Show child attributes
Any of
object
null
tax_behaviorstring | null
Show child attributes
Any of
stringexclusiveinclusiveunspecified
null

Backend_UpdateRoleDto

object
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse

Backend_UpdateRolePermissionsDto

object
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage

Backend_UpdateRuntimeSecurityConfigDto

object
screenshot_prevention_modestring | null
Show child attributes
Any of
stringstrictwarningdisabled
null
root_detection_modestring | null
Show child attributes
Any of
stringstrictwarningdisabled
null
biometric_required_modestring | null
Show child attributes
Any of
stringstrictwarningdisabled
null
session_timeout_minutesinteger | null
Show child attributes
Any of
integer[0, 1440]
null
wifi_only_syncboolean | null
Show child attributes
Any of
boolean
null
battery_aware_syncboolean | null
Show child attributes
Any of
boolean
null
battery_low_threshold_percentinteger | null
Show child attributes
Any of
integer[1, 100]
null
block_sync_on_roamingboolean | null
Show child attributes
Any of
boolean
null
background_sync_enabledboolean | null
Show child attributes
Any of
boolean
null
crash_reporting_enabledboolean | null
Show child attributes
Any of
boolean
null
telemetry_enabledboolean | null
Show child attributes
Any of
boolean
null
global_modestring | null
Show child attributes
Any of
stringstrictwarningdisabled
null

Backend_UpdateTenantDataGovernanceDto

object
max_offline_duration_hoursinteger | null
Show child attributes
Any of
integer>= 0
null
force_revalidation_hoursinteger | null
Show child attributes
Any of
integer>= 0
null
media_upload_max_size_mbinteger | null
Show child attributes
Any of
integer[1, 500]
null
media_upload_allowed_typesArray<any> | null
Show child attributes
Any of
Array<any>
null
local_retention_daysinteger | null
Show child attributes
Any of
integer>= 0
null
remote_wipe_enabledboolean | null
Show child attributes
Any of
boolean
null

Backend_UpdateTenantDto

object
is_activeboolean | null
Show child attributes
Any of
boolean
null
is_dormantboolean | null
Show child attributes
Any of
boolean
null
custom_domainstring | null
Show child attributes
Any of
string
null
subscription_idstring | null
Show child attributes
Any of
string
null
plan_tierstring | null
Show child attributes
Any of
string
null
custom_domain_statusstring | null
Show child attributes
Any of
stringactivefailedactivation-progress
null
billing_individual_namestring | null
Show child attributes
Any of
string
null
billing_business_namestring | null
Show child attributes
Any of
string
null
billing_address_line1string | null
Show child attributes
Any of
string
null
billing_address_line2string | null
Show child attributes
Any of
string
null
billing_address_citystring | null
Show child attributes
Any of
string
null
billing_address_statestring | null
Show child attributes
Any of
string
null
billing_address_postal_codestring | null
Show child attributes
Any of
string
null
billing_address_countrystring | null
Show child attributes
Any of
string
null
tax_idstring | null
Show child attributes
Any of
string
null

Backend_UpdateTenantResponseDto

object
messagestringrequired

Backend_UpdateUserDto

object
first_namestring | null
Show child attributes
Any of
string
null
last_namestring | null
Show child attributes
Any of
string
null
emailstring | null
Show child attributes
Any of
string<email>
null
genderBackend_Gender | null
Show child attributes
Any of
Backend_Gendermalefemaleotherprefer_not_to_say
null
image_urlstring | null
Show child attributes
Any of
string
null
role_idstring | null
Show child attributes
Any of
string
null
is_activeboolean | null
Show child attributes
Any of
boolean
null
activated_atstring | null
Show child attributes
Any of
string<date-time>
null
tenant_idstring | null
Show child attributes
Any of
string
null
passwordstring | null
Show child attributes
Any of
string
null

Backend_UserActivationRequestDto

object
tokenstringrequired

Backend_UserCountDto

object
totalintegerrequired

Backend_UserDto

object
idstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
genderBackend_Gendermalefemaleotherprefer_not_to_sayrequired
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
member_activebooleantrue
activated_atstring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
user_codestring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<string> | null
Show child attributes
Any of
Array<string>
null
agreed_to_termsbooleanfalse

Backend_UserInfoDto

object

User information returned after login

idstringrequired
emailstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
activated_atstring | null
Show child attributes
Any of
string<date-time>
null
roleBackend_RoleDto | null
Show child attributes
Any of
idstringrequired
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
permissionsArray<Backend_Permission>super:adminfull:accessuser:read_and_write_onlyuser:delete_onlyuser:self_read_and_write_onlyuser:role_assign_or_remove_onlyuser:view_onlyrole:view_onlyrole:read_and_write_onlyrole:delete_onlyrole:permission_read_and_write_onlyhost:manage_tenantsmanage:storage_settingsmanage:tenant_settingsmanage:billingmanage:payments_settingsmanage:products_and_pricingaudit_logs:view_onlyaudit_logs:downloadaudit_logs:writecompliance:manageforms:renderforms:previewforms:render_anonymousforms:submitforms:submit_anonymousforms:submit_offlineforms:draft_createforms:draft_readforms:draft_updateforms:draft_deleteforms:draft_read_allforms:session_createforms:session_readforms:session_deleteforms:session_read_allforms:config_readforms:config_writeforms:analytics_viewforms:analytics_exportforms:admindashboard:viewdashboard:readdashboard:createdashboard:updatedashboard:deletebilling:readconfig:readconfig:writesurvey:managesurvey:createsurvey:readsurvey:updatesurvey:deletesurvey:publishsurvey:unpublishsurvey:grant_accesssurvey:manage_accesssurvey:response_viewsurvey:response_downloadtemplate:readtemplate:createtemplate:updatetemplate:deletetemplate:managesubmission:createsubmission:readsubmission:updatesubmission:update_ownsubmission:deletesubmission:viewsubmission:exportsubmission:approvesubmission:assignworkspace:createworkspace:readworkspace:updateworkspace:deleteworkspace:manageworkspace:manage_membersproject:createproject:readproject:updateproject:deleteproject:manageanalytics:viewanalytics:exportanalytics:adminreport:viewreport:createexport:createexport:viewexport:downloadexport:cancelexport:template:createexport:template:viewwebhook:createwebhook:readwebhook:updatewebhook:deletewebhook:managesearch:executesearch:managenotification:sendnotification:viewnotification:read_allnotification:deletenotification:managenotification:template:viewnotification:template:createnotification:template:updatenotification:template:deletenotification:preferences:readnotification:preferences:writemedia:uploadmedia:readmedia:updatemedia:deletemedia:library_uploadmedia:library_readmedia:library_deletemedia:managefeature_flag:readfeature_flag:createfeature_flag:updatefeature_flag:deletefeature_flag:toggleresponse:createresponse:readresponse:updateresponse:deleteresponse:exportresponse:approveresponse:revise_ownattachment:createattachment:readattachment:deleteodk:viewodk:submitodk:manage
is_immutablebooleanfalse
created_atstring | null
Show child attributes
Any of
string
null
updated_atstring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
scopeBackend_RoleScopeplatformsystemtenant_customtenant_custom

Defines where a role can be used.

users_countinteger0
null
user_codestring | null
Show child attributes
Any of
string
null

Backend_UserListDto

object
Show child attributes
idstringrequired
first_namestringrequired
last_namestring | null
Show child attributes
Any of
string
null
emailstring<email>required
genderBackend_Gendermalefemaleotherprefer_not_to_sayrequired
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
is_activebooleanrequired
member_activebooleantrue
activated_atstring | null
Show child attributes
Any of
string
null
image_urlstring | null
Show child attributes
Any of
string
null
user_codestring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
permissionsArray<string> | null
Show child attributes
Any of
Array<string>
null
agreed_to_termsbooleanfalse
skipintegerrequired
limitintegerrequired
totalintegerrequired
has_previousbooleanrequired
has_nextbooleanrequired

Backend_UserMetricsDto

object
total_usersintegerrequired
active_users_30dintegerrequired
new_users_this_monthintegerrequired

Backend_UserPreferenceDto

object
user_idstringrequired
preferencesobjectrequired

Backend_UserProfileImageUpdateDto

object
image_urlstring | null
Show child attributes
Any of
string
null

Backend_UserResendActivationEmailRequestDto

object
emailstring<email>required
idstringrequired
first_namestringrequired
tenant_idstring | null
Show child attributes
Any of
string
null

Backend_UserRoleUpdateRequestDto

object
role_idstringrequired

Backend_UserTenantCreateDto

object

DTO for creating user-tenant relationship

user_idstringrequired
tenant_idstringrequired
role_idstring | null
Show child attributes
Any of
string
null
is_primarybooleanfalse
is_activebooleantrue

Backend_UserTenantDto

object

DTO for user-tenant relationship

idstringrequired
user_idstringrequired
tenant_idstringrequired
tenant_namestring | null
Show child attributes
Any of
string
null
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
permissionsArray<string>
is_primarybooleanrequired
is_activebooleantrue
joined_atstringrequired

Backend_UserTenantListDto

object

DTO for listing user tenants

Show child attributes

DTO for user-tenant relationship

idstringrequired
user_idstringrequired
tenant_idstringrequired
tenant_namestring | null
Show child attributes
Any of
string
null
role_idstring | null
Show child attributes
Any of
string
null
role_namestring | null
Show child attributes
Any of
string
null
permissionsArray<string>
is_primarybooleanrequired
is_activebooleantrue
joined_atstringrequired
totalintegerrequired
skipinteger0
limitinteger10
has_nextbooleanfalse
has_previousbooleanfalse

Backend_UserTenantUpdateDto

object

DTO for updating user-tenant relationship

role_idstring | null
Show child attributes
Any of
string
null
is_primaryboolean | null
Show child attributes
Any of
boolean
null
is_activeboolean | null
Show child attributes
Any of
boolean
null

Backend_ValidationError

object
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired

SurveyService_AddQuestionToSurveyRequest

object
question_idstringrequired
survey_idstringrequired

SurveyService_AddQuestionToSurveyResponse

object
survey_idstringrequired
question_idstringrequired
question_namestringrequired
questionobjectrequired

SurveyService_AvailableTriggersResponse

object

Response model for available trigger values with assignment info.

trigger_questionsArray<string>required
available_valuesobjectrequired
Show child attributes
[key: string]Array<string>
assigned_valuesobjectrequired
Show child attributes
[key: string]object
Show child attributes
[key: string]string | null
Show child attributes
Any of
string
null

SurveyService_BackfillAnchorSchema

object

Anchor configuration for timeline-aware backfill

typestringrequired

Anchor type

questionstring | null

Question name (for from_answer_month type)

Show child attributes
Any of
string
null
rule_idstring | null

Rule ID to anchor to (for before_rule/after_rule types)

Show child attributes
Any of
string
null

SurveyService_Body_import_questions_api_v1_surveys_question_bank_questions_import_post

object
filestringrequired
category_idstring | null
Show child attributes
Any of
string
null

SurveyService_Body_import_template_from_xlsform_api_v1_templates_import_xlsform_post

object
filestringrequired

XLSForm Excel file (.xlsx)

namestringrequired

Template name

category_idstringrequired

Template category ID

descriptionstring | null

Template description

Show child attributes
Any of
string
null
is_publicbooleanfalse

Whether the template is public

SurveyService_Body_import_xlsform_api_v1_surveys_import_xlsform_post

object
filestringrequired

XLSForm Excel file (.xlsx)

namestringrequired

Survey name

descriptionstring | null

Survey description

Show child attributes
Any of
string
null
project_idstring<uuid>required

Project ID from workspace-service

workspace_idstring<uuid>required

Workspace ID for the project

is_anonymousbooleanfalse

Whether responses are anonymous

allow_multiple_responsesbooleanfalse

Allow multiple responses per user

scheduling_enabledbooleanfalse

Enable survey scheduling (auto open/close)

open_atstring | null

Scheduled open timestamp (ISO 8601)

Show child attributes
Any of
string<date-time>
null
close_atstring | null

Scheduled close timestamp (ISO 8601)

Show child attributes
Any of
string<date-time>
null

SurveyService_Body_upload_survey_media_api_v1_surveys__survey_id__media_post

object
filestringrequired

ZIP file containing media assets

SurveyService_Body_upload_xlsform_as_new_version_api_v1_surveys__survey_id__versions_upload_post

object
filestringrequired

SurveyService_CalendarColumnSchema

object

Column definition for calendar_grid question type

keystringrequired
typestringselect_one
labelstring
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
choicesArray<object> | null

Choices for select_one type - name must be exactly 1 character

Show child attributes
Any of
Array<object>
null
relevantstring | null
Show child attributes
Any of
string
null

SurveyService_CalendarConfigSchema

object

Configuration for calendar_grid question type

modestringmonthly
months_backinteger[1, 120]12
start_fromstringtoday
allow_futurebooleanfalse

SurveyService_CalendarRuleSchema

object

Rule for auto-prefilling calendar column values

idstring | null

Unique rule ID

Show child attributes
Any of
string
null
trigger_questionstringrequired

Question name that triggers this rule

target_columnstringrequired

Calendar column key to fill

value_sourcestringconstant

Where to get the value: constant, lookup, or xpath expression

source_valuestring | null

Constant value to fill (for constant source)

Show child attributes
Any of
string
null
backfill_monthsinteger | null1

How many months to backfill from anchor

Show child attributes
Any of
integer[1, 120]
null
backfill_anchorstring | SurveyService_BackfillAnchorSchema | nullcurrent_month

Anchor for backfill: 'current_month', or anchor config object

Show child attributes
Any of
string

Anchor configuration for timeline-aware backfill

typestringrequired

Anchor type

questionstring | null

Question name (for from_answer_month type)

Show child attributes
Any of
string
null
rule_idstring | null

Rule ID to anchor to (for before_rule/after_rule types)

Show child attributes
Any of
string
null
null
map_valuesobject | null

Map trigger values to calendar values (e.g., {'yes': 'Y', 'no': 'N'})

Show child attributes
Any of
[key: string]string
null
xpath_expressionstring | null

XPath expression to calculate value (for xpath source)

Show child attributes
Any of
string
null
enabledbooleantrue

Whether rule is active

conditionsArray<object> | null

Conditions for when the rule applies (Visual Rule Builder)

Show child attributes
Any of
Array<object>
null
months_scopeobject | null

Months scope configuration for the rule

Show child attributes
Any of
object
null

SurveyService_ChoiceSchema

object

Choice list item (XLSForm choices sheet)

list_namestringrequired
namestringrequired
labelstringrequired
labelTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
media_filestring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null

SurveyService_CollectionGrantResponse

object
idstringrequired
kindstringrequired
survey_idstringrequired
survey_version_idstringrequired
user_idstringrequired
device_idstring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
project_status_at_issuestringrequired
granted_atstring | null
Show child attributes
Any of
string
null
project_boundbooleantrue

SurveyService_CreateSurveyFromTemplateRequest

object
template_idstringrequired

Template ID to create survey from

namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
workspace_idstringrequired

Workspace ID for the new survey

project_idstringrequired

Project ID for the new survey

is_anonymousbooleanfalse
allow_multiple_responsesbooleanfalse
scheduling_enabledbooleanfalse
open_atstring | null

Scheduled open timestamp

Show child attributes
Any of
string<date-time>
null
close_atstring | null

Scheduled close timestamp

Show child attributes
Any of
string<date-time>
null

SurveyService_CreateSurveyFromTemplateResponse

object
survey_idstringrequired
namestringrequired
template_idstringrequired
created_atstring<date-time>required

SurveyService_EnumeratorListResponse

object
enumerator_idsArray<string>required

SurveyService_ExpressionValidationError

object

A single validation error for expression validation.

fieldstringrequired
messagestringrequired
codestringrequired
contextobject | null
Show child attributes
Any of
object
null

SurveyService_ExpressionValidationRequest

object

Request body for expression validation endpoint.

expressionstringrequired

The expression to validate (XPath format with ${field_name} references)

expression_typestringrelevant

Type of expression being validated

available_fieldsArray<string>

List of available question/field names for reference validation

SurveyService_ExpressionValidationResponse

object

Response from expression validation endpoint.

is_validbooleanrequired
expressionstringrequired
expression_typestringrequired
Show child attributes

A single validation error for expression validation.

fieldstringrequired
messagestringrequired
codestringrequired
contextobject | null
Show child attributes
Any of
object
null

SurveyService_FormAccessBulkCreate

object
user_idsArray<string>required
access_levelSurveyService_FormAccessLevelfillview_onlyapproverfill
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
assigned_triggersArray<SurveyService_LookupTriggerAssignment> | null
Show child attributes
Any of
Show child attributes

A single trigger value assignment for an enumerator.

trigger_questionstringrequired

Name of the trigger question, e.g., 's_state'

trigger_valuestringrequired

Value of the trigger, e.g., 'rajasthan'

null

SurveyService_FormAccessCheckResponse

object
has_accessbooleanrequired
access_levelstring | null
Show child attributes
Any of
string
null
can_fillbooleanfalse
can_viewbooleanfalse
can_approvebooleanfalse
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
is_openbooleantrue
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_blocked_reasonstring | null
Show child attributes
Any of
string
null

SurveyService_FormAccessCreate

object
user_idstring<uuid>required
access_levelSurveyService_FormAccessLevelfillview_onlyapproverfill
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
assigned_triggersArray<SurveyService_LookupTriggerAssignment> | null
Show child attributes
Any of
Show child attributes

A single trigger value assignment for an enumerator.

trigger_questionstringrequired

Name of the trigger question, e.g., 's_state'

trigger_valuestringrequired

Value of the trigger, e.g., 'rajasthan'

null

SurveyService_FormAccessLevel

string
SurveyService_FormAccessLevelfillview_onlyapprover

SurveyService_FormAccessListResponse

object
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
survey_idstring<uuid>required
user_idstring<uuid>required
granted_bystring<uuid>required
access_levelstringrequired
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
revoked_atstring | null
Show child attributes
Any of
string<date-time>
null
revoked_bystring | null
Show child attributes
Any of
string<uuid>
null
revocation_reasonstring | null
Show child attributes
Any of
string
null
user_emailstring | null
Show child attributes
Any of
string
null
user_first_namestring | null
Show child attributes
Any of
string
null
user_last_namestring | null
Show child attributes
Any of
string
null
user_codestring | null
Show child attributes
Any of
string
null
user_rolestring | null
Show child attributes
Any of
string
null
assigned_triggersArray<SurveyService_LookupTriggerAssignment> | null
Show child attributes
Any of
Show child attributes

A single trigger value assignment for an enumerator.

trigger_questionstringrequired

Name of the trigger question, e.g., 's_state'

trigger_valuestringrequired

Value of the trigger, e.g., 'rajasthan'

null
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

SurveyService_FormAccessResponse

object
idstring<uuid>required
tenant_idstring<uuid>required
survey_idstring<uuid>required
user_idstring<uuid>required
granted_bystring<uuid>required
access_levelstringrequired
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
revoked_atstring | null
Show child attributes
Any of
string<date-time>
null
revoked_bystring | null
Show child attributes
Any of
string<uuid>
null
revocation_reasonstring | null
Show child attributes
Any of
string
null

SurveyService_FormAccessRevokeRequest

object
reasonstring | null

Auditable reason for revocation

Show child attributes
Any of
string
null

SurveyService_FormAccessRevokeResponse

object
messagestringrequired
user_idstring<uuid>required
survey_idstring<uuid>required
grant_idstring<uuid>required
revoked_atstring<date-time>required
revoked_bystring<uuid>required
revocation_reasonstring | null
Show child attributes
Any of
string
null

SurveyService_FormAccessUpdate

object
access_levelSurveyService_FormAccessLevel | null
Show child attributes
Any of
SurveyService_FormAccessLevelfillview_onlyapprover
null
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
assigned_triggersArray<SurveyService_LookupTriggerAssignment> | null
Show child attributes
Any of
Show child attributes

A single trigger value assignment for an enumerator.

trigger_questionstringrequired

Name of the trigger question, e.g., 's_state'

trigger_valuestringrequired

Value of the trigger, e.g., 'rajasthan'

null

SurveyService_FormAccessWithUserResponse

object
idstring<uuid>required
tenant_idstring<uuid>required
survey_idstring<uuid>required
user_idstring<uuid>required
granted_bystring<uuid>required
access_levelstringrequired
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
revoked_atstring | null
Show child attributes
Any of
string<date-time>
null
revoked_bystring | null
Show child attributes
Any of
string<uuid>
null
revocation_reasonstring | null
Show child attributes
Any of
string
null
user_emailstring | null
Show child attributes
Any of
string
null
user_first_namestring | null
Show child attributes
Any of
string
null
user_last_namestring | null
Show child attributes
Any of
string
null
user_codestring | null
Show child attributes
Any of
string
null
user_rolestring | null
Show child attributes
Any of
string
null
assigned_triggersArray<SurveyService_LookupTriggerAssignment> | null
Show child attributes
Any of
Show child attributes

A single trigger value assignment for an enumerator.

trigger_questionstringrequired

Name of the trigger question, e.g., 's_state'

trigger_valuestringrequired

Value of the trigger, e.g., 'rajasthan'

null

SurveyService_HTTPValidationError

object
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

SurveyService_HealthResponseDTO

object

Health check response model.

statusstringrequired
servicestringrequired
versionstringrequired
timestampstring<date-time>required

SurveyService_HistoricalAccessCheckResponse

object
has_accessbooleanrequired
grant_idstring | null
Show child attributes
Any of
string<uuid>
null
access_levelstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string<date-time>
null
revoked_atstring | null
Show child attributes
Any of
string<date-time>
null
revocation_reasonstring | null
Show child attributes
Any of
string
null
is_revokedbooleanfalse

SurveyService_IssueCollectionGrantRequest

object
kindstringrequired

device_download | interview_reservation

user_idstring<uuid>required
survey_version_idstring<uuid>required
device_idstring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string<uuid>
null
schema_hashstring | null
Show child attributes
Any of
string
null

SurveyService_LanguageCreate

object
codestringrequired

Language code (e.g., 'en', 'hi')

namestringrequired

Language name (e.g., 'English', 'Hindi')

flag_emojistring | null

Flag emoji (e.g., '🇺🇸')

Show child attributes
Any of
string
null
is_activebooleantrue

Whether language is active

display_orderinteger0

Display order for sorting

SurveyService_LanguageListResponse

object
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
codestringrequired
namestringrequired
flag_emojistring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
display_orderintegerrequired
totalintegerrequired

SurveyService_LanguageReorderRequest

object
language_idsArray<string>required

List of language codes in desired order

SurveyService_LanguageResponse

object
idstring<uuid>required
tenant_idstring<uuid>required
codestringrequired
namestringrequired
flag_emojistring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
display_orderintegerrequired

SurveyService_LanguageUpdate

object
codestring | null
Show child attributes
Any of
string
null
namestring | null
Show child attributes
Any of
string
null
flag_emojistring | null
Show child attributes
Any of
string
null
is_activeboolean | null
Show child attributes
Any of
boolean
null
display_orderinteger | null
Show child attributes
Any of
integer
null

SurveyService_LimitSchema

object

Limit configuration for text/number fields. For text: min/max character count For integer/decimal: min/max value

mininteger | null
Show child attributes
Any of
integer
null
maxinteger | null
Show child attributes
Any of
integer
null

SurveyService_LookupConfigResponse

object

Response model for lookup configuration.

has_lookupsbooleanrequired
lookup_keysArray<object>required
trigger_questionsArray<string>required
referee_questionsobjectrequired
Show child attributes
[key: string]Array<string>

SurveyService_LookupResolveRequest

object

Request model for lookup resolution.

trigger_questionstringrequired

Name of the trigger question

trigger_valuestringrequired

Selected value for the trigger question

current_valuesobject | null

Current values of all questions (for change detection)

Show child attributes
Any of
object
null

SurveyService_LookupResolveResponse

object

Response model for lookup resolution.

trigger_questionstringrequired
trigger_valuestringrequired
resolved_valuesobjectrequired
fields_to_clearArray<string>
is_validbooleantrue
error_messagestring | null
Show child attributes
Any of
string
null

SurveyService_LookupResponse

object

Response model for lookup data

lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null

SurveyService_LookupSchema

object

Lookup data item (custom lookups worksheet). Used for cascading selects and external data lookups.

Example:

  • lookup_name: "countries" or "states"
  • key: "us" or "ny"
  • value: "United States" or "New York"
  • parent_key: None for countries, "us" for states (cascading)
  • extra_data: {"code": "USA", "region": "north_america"}
lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null

SurveyService_LookupStatisticsResponse

object

Response model for lookup statistics.

trigger_questionsintegerrequired
total_valuesintegerrequired
trigger_detailsobjectrequired
Show child attributes
[key: string]object

SurveyService_LookupTriggerAssignment

object

A single trigger value assignment for an enumerator.

trigger_questionstringrequired

Name of the trigger question, e.g., 's_state'

trigger_valuestringrequired

Value of the trigger, e.g., 'rajasthan'

SurveyService_LookupValidateRequest

object

Request model for lookup validation.

trigger_questionstringrequired

Name of the trigger question

trigger_valuestringrequired

Value to validate

SurveyService_LookupValidateResponse

object

Response model for lookup validation.

is_validbooleanrequired
trigger_questionstringrequired
trigger_valuestringrequired
error_messagestring | null
Show child attributes
Any of
string
null
available_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null

SurveyService_QuestionBankCategoryCreate

object
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null

SurveyService_QuestionBankCategoryListResponse

object
Show child attributes
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null
question_countinteger0
created_atstring<date-time>required
updated_atstring<date-time>required
totalintegerrequired
limitintegerrequired
skipintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

SurveyService_QuestionBankCategoryResponse

object
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null
question_countinteger0
created_atstring<date-time>required
updated_atstring<date-time>required

SurveyService_QuestionBankCategoryUpdate

object
namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null

SurveyService_QuestionBulkImportResponse

object
totalintegerrequired
createdintegerrequired
failedintegerrequired
Show child attributes
rowintegerrequired
fieldstring
codestringrequired
messagestringrequired

SurveyService_QuestionCreate

object
category_idstring | null
Show child attributes
Any of
string
null
question_typestringrequired
namestringrequired
labelstring
label_translationsobject
Show child attributes
[key: string]string
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject
Show child attributes
[key: string]string
requiredbooleanfalse
question_configobject
tagsArray<string>
is_publicbooleanfalse

SurveyService_QuestionImportRowError

object
rowintegerrequired
fieldstring
codestringrequired
messagestringrequired

SurveyService_QuestionListResponse

object
Show child attributes
idstringrequired
tenant_idstringrequired
category_idstring | null
Show child attributes
Any of
string
null
question_typestringrequired
namestringrequired
labelstringrequired
label_translationsobjectrequired
Show child attributes
[key: string]string
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobjectrequired
Show child attributes
[key: string]string
requiredbooleanrequired
question_configobjectrequired
tagsArray<string>required
usage_countintegerrequired
is_publicbooleanrequired
created_bystringrequired
updated_bystring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
categorySurveyService_QuestionBankCategoryResponse | null
Show child attributes
Any of
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null
question_countinteger0
created_atstring<date-time>required
updated_atstring<date-time>required
null
totalintegerrequired
limitintegerrequired
skipintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

SurveyService_QuestionResponse

object
idstringrequired
tenant_idstringrequired
category_idstring | null
Show child attributes
Any of
string
null
question_typestringrequired
namestringrequired
labelstringrequired
label_translationsobjectrequired
Show child attributes
[key: string]string
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobjectrequired
Show child attributes
[key: string]string
requiredbooleanrequired
question_configobjectrequired
tagsArray<string>required
usage_countintegerrequired
is_publicbooleanrequired
created_bystringrequired
updated_bystring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
categorySurveyService_QuestionBankCategoryResponse | null
Show child attributes
Any of
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null
question_countinteger0
created_atstring<date-time>required
updated_atstring<date-time>required
null

SurveyService_QuestionUpdate

object
category_idstring | null
Show child attributes
Any of
string
null
labelstring | null
Show child attributes
Any of
string
null
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject | null
Show child attributes
Any of
[key: string]string
null
requiredboolean | null
Show child attributes
Any of
boolean
null
question_configobject | null
Show child attributes
Any of
object
null
tagsArray<string> | null
Show child attributes
Any of
Array<string>
null
is_publicboolean | null
Show child attributes
Any of
boolean
null

SurveyService_SettingsSchema

object

Survey-level settings (XLSForm settings sheet)

form_titlestringrequired
form_idstring | null
Show child attributes
Any of
string
null
versionstring | null
Show child attributes
Any of
string
null
defaultLanguagestring | nullen
Show child attributes
Any of
string
null
languagesArray<string> | null
Show child attributes
Any of
Array<string>
null
availableLanguagesArray<string> | null
Show child attributes
Any of
Array<string>
null
instanceNamestring | null
Show child attributes
Any of
string
null
submissionUrlstring | null
Show child attributes
Any of
string
null

SurveyService_SurveyAccessListResponse

object
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
statusstringrequired
survey_codeinteger | null
Show child attributes
Any of
integer
null
versionstring | null
Show child attributes
Any of
string
null
access_levelstringrequired
can_fillbooleanrequired
can_viewbooleanrequired
can_approvebooleanfalse
created_atstring<date-time>required
updated_atstring | null
Show child attributes
Any of
string<date-time>
null
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

SurveyService_SurveyCreate

object
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
workspace_idstring | null
Show child attributes
Any of
string<uuid>
null
project_idstring<uuid>required
is_anonymousbooleanfalse
allow_multiple_responsesbooleanfalse
schemaSurveyService_SurveySchema | null
Show child attributes
Any of

Complete XLSForm-compatible survey schema. Stored in JSONB column in survey_versions table. Includes support for custom lookups worksheet for cascading selects.

Note: 'title', 'version', 'description' and 'id' fields are accepted for backwards compatibility with frontend schema transformations but are not required for storage (they're derived from the survey/version metadata).

Survey-level settings (XLSForm settings sheet)

Show child attributes
form_titlestringrequired
form_idstring | null
Show child attributes
Any of
string
null
versionstring | null
Show child attributes
Any of
string
null
defaultLanguagestring | nullen
Show child attributes
Any of
string
null
languagesArray<string> | null
Show child attributes
Any of
Array<string>
null
availableLanguagesArray<string> | null
Show child attributes
Any of
Array<string>
null
instanceNamestring | null
Show child attributes
Any of
string
null
submissionUrlstring | null
Show child attributes
Any of
string
null
Show child attributes

Choice list item (XLSForm choices sheet)

list_namestringrequired
namestringrequired
labelstringrequired
labelTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
media_filestring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
Show child attributes

XLSForm-compatible question schema. Supports all 22 question types with recursive nesting for groups/repeats.

typeSurveyService_SurveyQuestionTypetextintegerdecimalrangeselect_oneselect_multiplerankdatetimedatetimegeopointgeotracegeoshapeimageaudiovideofilebarcodesignaturecalculatenotehiddenacknowledgetriggerurlphonestartendtodaydeviceidphonenumberusernameemailsimserialsubscriberidauditxml-externalcsv-externalbegin_groupend_groupbegin_repeatend_repeatcalendar_gridrequired

Complete XLSForm-compatible question types (KoboToolbox standard). Reference: https://xlsform.org/en/#question-types

namestringrequired
labelstring
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
labelTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
hintTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraintMessageTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | null
Show child attributes
Any of
string
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionSchema> | null
Show child attributes
Any of
null
calendar_configSurveyService_CalendarConfigSchema | null
Show child attributes
Any of

Configuration for calendar_grid question type

modestringmonthly
months_backinteger[1, 120]12
start_fromstringtoday
allow_futurebooleanfalse
null
calendar_rulesArray<SurveyService_CalendarRuleSchema> | null

Auto-prefill rules for calendar columns

Show child attributes
Any of
Show child attributes

Rule for auto-prefilling calendar column values

idstring | null

Unique rule ID

Show child attributes
Any of
string
null
trigger_questionstringrequired

Question name that triggers this rule

target_columnstringrequired

Calendar column key to fill

value_sourcestringconstant

Where to get the value: constant, lookup, or xpath expression

source_valuestring | null

Constant value to fill (for constant source)

Show child attributes
Any of
string
null
backfill_monthsinteger | null1

How many months to backfill from anchor

Show child attributes
Any of
integer[1, 120]
null
backfill_anchorstring | SurveyService_BackfillAnchorSchema | nullcurrent_month

Anchor for backfill: 'current_month', or anchor config object

Show child attributes
Any of
string

Anchor configuration for timeline-aware backfill

typestringrequired

Anchor type

questionstring | null

Question name (for from_answer_month type)

Show child attributes
Any of
Max depth reached
Max depth reached
rule_idstring | null

Rule ID to anchor to (for before_rule/after_rule types)

Show child attributes
Any of
Max depth reached
Max depth reached
null
map_valuesobject | null

Map trigger values to calendar values (e.g., {'yes': 'Y', 'no': 'N'})

Show child attributes
Any of
[key: string]string
null
xpath_expressionstring | null

XPath expression to calculate value (for xpath source)

Show child attributes
Any of
string
null
enabledbooleantrue

Whether rule is active

conditionsArray<object> | null

Conditions for when the rule applies (Visual Rule Builder)

Show child attributes
Any of
Array<object>
null
months_scopeobject | null

Months scope configuration for the rule

Show child attributes
Any of
object
null
null
columnsArray<SurveyService_CalendarColumnSchema> | null
Show child attributes
Any of
Show child attributes

Column definition for calendar_grid question type

keystringrequired
typestringselect_one
labelstring
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
choicesArray<object> | null

Choices for select_one type - name must be exactly 1 character

Show child attributes
Any of
Array<object>
null
relevantstring | null
Show child attributes
Any of
string
null
null
limitSurveyService_LimitSchema | null
Show child attributes
Any of

Limit configuration for text/number fields. For text: min/max character count For integer/decimal: min/max value

mininteger | null
Show child attributes
Any of
integer
null
maxinteger | null
Show child attributes
Any of
integer
null
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
mediaAudiostring | null
Show child attributes
Any of
string
null
mediaAudioSchemaobject | null
Show child attributes
Any of
[key: string]string
null
mediaAudioUrlstring | null
Show child attributes
Any of
string
null
mediaAudioAssetIdstring | null
Show child attributes
Any of
string
null
mediaAudioUrlSchemaobject | null
Show child attributes
Any of
[key: string]string
null
mediaAudioAssetIdSchemaobject | null
Show child attributes
Any of
[key: string]string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
Show child attributes

Lookup data item (custom lookups worksheet). Used for cascading selects and external data lookups.

Example:

  • lookup_name: "countries" or "states"
  • key: "us" or "ny"
  • value: "United States" or "New York"
  • parent_key: None for countries, "us" for states (cascading)
  • extra_data: {"code": "USA", "region": "north_america"}
lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null
null
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledbooleanfalse

SurveyService_SurveyListResponse

object
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
workspace_idstring | null
Show child attributes
Any of
string<uuid>
null
project_idstring<uuid>required
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_anonymousbooleanrequired
allow_multiple_responsesbooleanrequired
survey_codeinteger | null
Show child attributes
Any of
integer
null
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
closed_atstring | null
Show child attributes
Any of
string<date-time>
null
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledbooleanfalse
is_openbooleanfalse
schemaSurveyService_SurveySchemaResponse | null
Show child attributes
Any of

Response model for survey schema

settingsobjectrequired
choicesArray<object>
Show child attributes

Response model for question (mirrors SurveyQuestionSchema)

typestringrequired
namestringrequired
labelstringrequired
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraint_message_translationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | Array<object> | null
Show child attributes
Any of
string
Array<object>
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionResponse> | null
Show child attributes
Any of
null
limitobject | null
Show child attributes
Any of
object
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
calendar_configobject | null
Show child attributes
Any of
object
null
calendar_rulesArray<object> | null
Show child attributes
Any of
Array<object>
null
columnsArray<object> | null
Show child attributes
Any of
Array<object>
null
Show child attributes

Response model for lookup data

lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null
null
project_statusstring | null
Show child attributes
Any of
string
null
project_has_production_activityboolean | null
Show child attributes
Any of
boolean
null
project_production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
totalintegerrequired
limitintegerrequired
skipintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

SurveyService_SurveyQuestionResponse

object

Response model for question (mirrors SurveyQuestionSchema)

typestringrequired
namestringrequired
labelstringrequired
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraint_message_translationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | Array<object> | null
Show child attributes
Any of
string
Array<object>
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionResponse> | null
Show child attributes
Any of
null
limitobject | null
Show child attributes
Any of
object
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
calendar_configobject | null
Show child attributes
Any of
object
null
calendar_rulesArray<object> | null
Show child attributes
Any of
Array<object>
null
columnsArray<object> | null
Show child attributes
Any of
Array<object>
null

SurveyService_SurveyQuestionSchema

object

XLSForm-compatible question schema. Supports all 22 question types with recursive nesting for groups/repeats.

typeSurveyService_SurveyQuestionTypetextintegerdecimalrangeselect_oneselect_multiplerankdatetimedatetimegeopointgeotracegeoshapeimageaudiovideofilebarcodesignaturecalculatenotehiddenacknowledgetriggerurlphonestartendtodaydeviceidphonenumberusernameemailsimserialsubscriberidauditxml-externalcsv-externalbegin_groupend_groupbegin_repeatend_repeatcalendar_gridrequired

Complete XLSForm-compatible question types (KoboToolbox standard). Reference: https://xlsform.org/en/#question-types

namestringrequired
labelstring
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
labelTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
hintTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraintMessageTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | null
Show child attributes
Any of
string
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionSchema> | null
Show child attributes
Any of
null
calendar_configSurveyService_CalendarConfigSchema | null
Show child attributes
Any of

Configuration for calendar_grid question type

modestringmonthly
months_backinteger[1, 120]12
start_fromstringtoday
allow_futurebooleanfalse
null
calendar_rulesArray<SurveyService_CalendarRuleSchema> | null

Auto-prefill rules for calendar columns

Show child attributes
Any of
Show child attributes

Rule for auto-prefilling calendar column values

idstring | null

Unique rule ID

Show child attributes
Any of
string
null
trigger_questionstringrequired

Question name that triggers this rule

target_columnstringrequired

Calendar column key to fill

value_sourcestringconstant

Where to get the value: constant, lookup, or xpath expression

source_valuestring | null

Constant value to fill (for constant source)

Show child attributes
Any of
string
null
backfill_monthsinteger | null1

How many months to backfill from anchor

Show child attributes
Any of
integer[1, 120]
null
backfill_anchorstring | SurveyService_BackfillAnchorSchema | nullcurrent_month

Anchor for backfill: 'current_month', or anchor config object

Show child attributes
Any of
string

Anchor configuration for timeline-aware backfill

typestringrequired

Anchor type

questionstring | null

Question name (for from_answer_month type)

Show child attributes
Any of
string
null
rule_idstring | null

Rule ID to anchor to (for before_rule/after_rule types)

Show child attributes
Any of
string
null
null
map_valuesobject | null

Map trigger values to calendar values (e.g., {'yes': 'Y', 'no': 'N'})

Show child attributes
Any of
[key: string]string
null
xpath_expressionstring | null

XPath expression to calculate value (for xpath source)

Show child attributes
Any of
string
null
enabledbooleantrue

Whether rule is active

conditionsArray<object> | null

Conditions for when the rule applies (Visual Rule Builder)

Show child attributes
Any of
Array<object>
null
months_scopeobject | null

Months scope configuration for the rule

Show child attributes
Any of
object
null
null
columnsArray<SurveyService_CalendarColumnSchema> | null
Show child attributes
Any of
Show child attributes

Column definition for calendar_grid question type

keystringrequired
typestringselect_one
labelstring
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
choicesArray<object> | null

Choices for select_one type - name must be exactly 1 character

Show child attributes
Any of
Array<object>
null
relevantstring | null
Show child attributes
Any of
string
null
null
limitSurveyService_LimitSchema | null
Show child attributes
Any of

Limit configuration for text/number fields. For text: min/max character count For integer/decimal: min/max value

mininteger | null
Show child attributes
Any of
integer
null
maxinteger | null
Show child attributes
Any of
integer
null
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
mediaAudiostring | null
Show child attributes
Any of
string
null
mediaAudioSchemaobject | null
Show child attributes
Any of
[key: string]string
null
mediaAudioUrlstring | null
Show child attributes
Any of
string
null
mediaAudioAssetIdstring | null
Show child attributes
Any of
string
null
mediaAudioUrlSchemaobject | null
Show child attributes
Any of
[key: string]string
null
mediaAudioAssetIdSchemaobject | null
Show child attributes
Any of
[key: string]string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null

SurveyService_SurveyQuestionType

string

Complete XLSForm-compatible question types (KoboToolbox standard). Reference: https://xlsform.org/en/#question-types

SurveyService_SurveyQuestionTypetextintegerdecimalrangeselect_oneselect_multiplerankdatetimedatetimegeopointgeotracegeoshapeimageaudiovideofilebarcodesignaturecalculatenotehiddenacknowledgetriggerurlphonestartendtodaydeviceidphonenumberusernameemailsimserialsubscriberidauditxml-externalcsv-externalbegin_groupend_groupbegin_repeatend_repeatcalendar_grid

SurveyService_SurveyResponse

object
idstring<uuid>required
tenant_idstring<uuid>required
workspace_idstring | null
Show child attributes
Any of
string<uuid>
null
project_idstring<uuid>required
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_anonymousbooleanrequired
allow_multiple_responsesbooleanrequired
survey_codeinteger | null
Show child attributes
Any of
integer
null
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
closed_atstring | null
Show child attributes
Any of
string<date-time>
null
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledbooleanfalse
is_openbooleanfalse
schemaSurveyService_SurveySchemaResponse | null
Show child attributes
Any of

Response model for survey schema

settingsobjectrequired
choicesArray<object>
Show child attributes

Response model for question (mirrors SurveyQuestionSchema)

typestringrequired
namestringrequired
labelstringrequired
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraint_message_translationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | Array<object> | null
Show child attributes
Any of
string
Array<object>
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionResponse> | null
Show child attributes
Any of
null
limitobject | null
Show child attributes
Any of
object
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
calendar_configobject | null
Show child attributes
Any of
object
null
calendar_rulesArray<object> | null
Show child attributes
Any of
Array<object>
null
columnsArray<object> | null
Show child attributes
Any of
Array<object>
null
Show child attributes

Response model for lookup data

lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null
null
project_statusstring | null
Show child attributes
Any of
string
null
project_has_production_activityboolean | null
Show child attributes
Any of
boolean
null
project_production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null

SurveyService_SurveyScheduleRequest

object
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledbooleantrue

SurveyService_SurveySchema

object

Complete XLSForm-compatible survey schema. Stored in JSONB column in survey_versions table. Includes support for custom lookups worksheet for cascading selects.

Note: 'title', 'version', 'description' and 'id' fields are accepted for backwards compatibility with frontend schema transformations but are not required for storage (they're derived from the survey/version metadata).

Survey-level settings (XLSForm settings sheet)

Show child attributes
form_titlestringrequired
form_idstring | null
Show child attributes
Any of
string
null
versionstring | null
Show child attributes
Any of
string
null
defaultLanguagestring | nullen
Show child attributes
Any of
string
null
languagesArray<string> | null
Show child attributes
Any of
Array<string>
null
availableLanguagesArray<string> | null
Show child attributes
Any of
Array<string>
null
instanceNamestring | null
Show child attributes
Any of
string
null
submissionUrlstring | null
Show child attributes
Any of
string
null
Show child attributes

Choice list item (XLSForm choices sheet)

list_namestringrequired
namestringrequired
labelstringrequired
labelTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
media_filestring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
Show child attributes

XLSForm-compatible question schema. Supports all 22 question types with recursive nesting for groups/repeats.

typeSurveyService_SurveyQuestionTypetextintegerdecimalrangeselect_oneselect_multiplerankdatetimedatetimegeopointgeotracegeoshapeimageaudiovideofilebarcodesignaturecalculatenotehiddenacknowledgetriggerurlphonestartendtodaydeviceidphonenumberusernameemailsimserialsubscriberidauditxml-externalcsv-externalbegin_groupend_groupbegin_repeatend_repeatcalendar_gridrequired

Complete XLSForm-compatible question types (KoboToolbox standard). Reference: https://xlsform.org/en/#question-types

namestringrequired
labelstring
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
labelTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
hintTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraintMessageTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | null
Show child attributes
Any of
string
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionSchema> | null
Show child attributes
Any of
null
calendar_configSurveyService_CalendarConfigSchema | null
Show child attributes
Any of

Configuration for calendar_grid question type

modestringmonthly
months_backinteger[1, 120]12
start_fromstringtoday
allow_futurebooleanfalse
null
calendar_rulesArray<SurveyService_CalendarRuleSchema> | null

Auto-prefill rules for calendar columns

Show child attributes
Any of
Show child attributes

Rule for auto-prefilling calendar column values

idstring | null

Unique rule ID

Show child attributes
Any of
string
null
trigger_questionstringrequired

Question name that triggers this rule

target_columnstringrequired

Calendar column key to fill

value_sourcestringconstant

Where to get the value: constant, lookup, or xpath expression

source_valuestring | null

Constant value to fill (for constant source)

Show child attributes
Any of
string
null
backfill_monthsinteger | null1

How many months to backfill from anchor

Show child attributes
Any of
integer[1, 120]
null
backfill_anchorstring | SurveyService_BackfillAnchorSchema | nullcurrent_month

Anchor for backfill: 'current_month', or anchor config object

Show child attributes
Any of
string

Anchor configuration for timeline-aware backfill

typestringrequired

Anchor type

questionstring | null

Question name (for from_answer_month type)

Show child attributes
Any of
string
null
rule_idstring | null

Rule ID to anchor to (for before_rule/after_rule types)

Show child attributes
Any of
string
null
null
map_valuesobject | null

Map trigger values to calendar values (e.g., {'yes': 'Y', 'no': 'N'})

Show child attributes
Any of
[key: string]string
null
xpath_expressionstring | null

XPath expression to calculate value (for xpath source)

Show child attributes
Any of
string
null
enabledbooleantrue

Whether rule is active

conditionsArray<object> | null

Conditions for when the rule applies (Visual Rule Builder)

Show child attributes
Any of
Array<object>
null
months_scopeobject | null

Months scope configuration for the rule

Show child attributes
Any of
object
null
null
columnsArray<SurveyService_CalendarColumnSchema> | null
Show child attributes
Any of
Show child attributes

Column definition for calendar_grid question type

keystringrequired
typestringselect_one
labelstring
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
choicesArray<object> | null

Choices for select_one type - name must be exactly 1 character

Show child attributes
Any of
Array<object>
null
relevantstring | null
Show child attributes
Any of
string
null
null
limitSurveyService_LimitSchema | null
Show child attributes
Any of

Limit configuration for text/number fields. For text: min/max character count For integer/decimal: min/max value

mininteger | null
Show child attributes
Any of
integer
null
maxinteger | null
Show child attributes
Any of
integer
null
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
mediaAudiostring | null
Show child attributes
Any of
string
null
mediaAudioSchemaobject | null
Show child attributes
Any of
[key: string]string
null
mediaAudioUrlstring | null
Show child attributes
Any of
string
null
mediaAudioAssetIdstring | null
Show child attributes
Any of
string
null
mediaAudioUrlSchemaobject | null
Show child attributes
Any of
[key: string]string
null
mediaAudioAssetIdSchemaobject | null
Show child attributes
Any of
[key: string]string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
Show child attributes

Lookup data item (custom lookups worksheet). Used for cascading selects and external data lookups.

Example:

  • lookup_name: "countries" or "states"
  • key: "us" or "ny"
  • value: "United States" or "New York"
  • parent_key: None for countries, "us" for states (cascading)
  • extra_data: {"code": "USA", "region": "north_america"}
lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null

SurveyService_SurveySchemaResponse

object

Response model for survey schema

settingsobjectrequired
choicesArray<object>
Show child attributes

Response model for question (mirrors SurveyQuestionSchema)

typestringrequired
namestringrequired
labelstringrequired
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
hint_translationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraint_message_translationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | Array<object> | null
Show child attributes
Any of
string
Array<object>
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionResponse> | null
Show child attributes
Any of
null
limitobject | null
Show child attributes
Any of
object
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
calendar_configobject | null
Show child attributes
Any of
object
null
calendar_rulesArray<object> | null
Show child attributes
Any of
Array<object>
null
columnsArray<object> | null
Show child attributes
Any of
Array<object>
null
Show child attributes

Response model for lookup data

lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null

SurveyService_SurveyStatus

string
SurveyService_SurveyStatusdraftpublishedarchived

SurveyService_SurveyStatusUpdate

object
statusSurveyService_SurveyStatusdraftpublishedarchivedrequired

SurveyService_SurveyTagAssignment

object
tag_idsArray<string>required

SurveyService_SurveyTemplateCreate

object
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
schemaobject | null
Show child attributes
Any of
object
null
is_publicbooleanfalse
category_idstringrequired

ID of the template category

tenant_idstring | null

Tenant ID (null for global templates)

Show child attributes
Any of
string
null

SurveyService_SurveyTemplateDetailResponse

object
idstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
category_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
schemaobject | null
Show child attributes
Any of
object
null
is_publicbooleanrequired
created_bystringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
Show child attributes
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required

SurveyService_SurveyTemplateListResponse

object
Show child attributes
idstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
category_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
schemaobject | null
Show child attributes
Any of
object
null
is_publicbooleanrequired
created_bystringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
categorySurveyService_TemplateCategoryResponse | null
Show child attributes
Any of
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
null
totalintegerrequired
limitintegerrequired
skipintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

SurveyService_SurveyTemplateResponse

object
idstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
category_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
schemaobject | null
Show child attributes
Any of
object
null
is_publicbooleanrequired
created_bystringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
categorySurveyService_TemplateCategoryResponse | null
Show child attributes
Any of
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
null

SurveyService_SurveyTemplateUpdate

object
namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
schemaobject | null
Show child attributes
Any of
object
null
category_idstring | null
Show child attributes
Any of
string
null
is_publicboolean | null
Show child attributes
Any of
boolean
null

SurveyService_SurveyUpdate

object
namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
is_anonymousboolean | null
Show child attributes
Any of
boolean
null
allow_multiple_responsesboolean | null
Show child attributes
Any of
boolean
null
open_atstring | null
Show child attributes
Any of
string<date-time>
null
close_atstring | null
Show child attributes
Any of
string<date-time>
null
scheduling_enabledboolean | null
Show child attributes
Any of
boolean
null

SurveyService_SurveyVersionCreate

object

DTO for creating a new survey version

survey_idstring | null
Show child attributes
Any of
string<uuid>
null
schemaSurveyService_SurveySchema | null
Show child attributes
Any of

Complete XLSForm-compatible survey schema. Stored in JSONB column in survey_versions table. Includes support for custom lookups worksheet for cascading selects.

Note: 'title', 'version', 'description' and 'id' fields are accepted for backwards compatibility with frontend schema transformations but are not required for storage (they're derived from the survey/version metadata).

Survey-level settings (XLSForm settings sheet)

Show child attributes
form_titlestringrequired
form_idstring | null
Show child attributes
Any of
string
null
versionstring | null
Show child attributes
Any of
string
null
defaultLanguagestring | nullen
Show child attributes
Any of
string
null
languagesArray<string> | null
Show child attributes
Any of
Array<string>
null
availableLanguagesArray<string> | null
Show child attributes
Any of
Array<string>
null
instanceNamestring | null
Show child attributes
Any of
string
null
submissionUrlstring | null
Show child attributes
Any of
string
null
Show child attributes

Choice list item (XLSForm choices sheet)

list_namestringrequired
namestringrequired
labelstringrequired
labelTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
media_filestring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
Show child attributes

XLSForm-compatible question schema. Supports all 22 question types with recursive nesting for groups/repeats.

typeSurveyService_SurveyQuestionTypetextintegerdecimalrangeselect_oneselect_multiplerankdatetimedatetimegeopointgeotracegeoshapeimageaudiovideofilebarcodesignaturecalculatenotehiddenacknowledgetriggerurlphonestartendtodaydeviceidphonenumberusernameemailsimserialsubscriberidauditxml-externalcsv-externalbegin_groupend_groupbegin_repeatend_repeatcalendar_gridrequired

Complete XLSForm-compatible question types (KoboToolbox standard). Reference: https://xlsform.org/en/#question-types

namestringrequired
labelstring
requiredbooleanfalse
hintstring | null
Show child attributes
Any of
string
null
labelTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
hintTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
defaultstring | null
Show child attributes
Any of
string
null
order_indexinteger0
additional_valuesArray<string> | null
Show child attributes
Any of
Array<string>
null
read_onlybooleanfalse
appearancestring | null
Show child attributes
Any of
string
null
relevantstring | null
Show child attributes
Any of
string
null
constraintstring | null
Show child attributes
Any of
string
null
constraint_messagestring | null
Show child attributes
Any of
string
null
constraintMessageTranslationsobject | null
Show child attributes
Any of
[key: string]string
null
calculationstring | null
Show child attributes
Any of
string
null
choicesstring | null
Show child attributes
Any of
string
null
choice_filterstring | null
Show child attributes
Any of
string
null
choice_relationstring | null
Show child attributes
Any of
string
null
repeat_countstring | null
Show child attributes
Any of
string
null
questionsArray<SurveyService_SurveyQuestionSchema> | null
Show child attributes
Any of
null
calendar_configSurveyService_CalendarConfigSchema | null
Show child attributes
Any of

Configuration for calendar_grid question type

modestringmonthly
months_backinteger[1, 120]12
start_fromstringtoday
allow_futurebooleanfalse
null
calendar_rulesArray<SurveyService_CalendarRuleSchema> | null

Auto-prefill rules for calendar columns

Show child attributes
Any of
Show child attributes

Rule for auto-prefilling calendar column values

idstring | null

Unique rule ID

Show child attributes
Any of
string
null
trigger_questionstringrequired

Question name that triggers this rule

target_columnstringrequired

Calendar column key to fill

value_sourcestringconstant

Where to get the value: constant, lookup, or xpath expression

source_valuestring | null

Constant value to fill (for constant source)

Show child attributes
Any of
string
null
backfill_monthsinteger | null1

How many months to backfill from anchor

Show child attributes
Any of
integer[1, 120]
null
backfill_anchorstring | SurveyService_BackfillAnchorSchema | nullcurrent_month

Anchor for backfill: 'current_month', or anchor config object

Show child attributes
Any of
string

Anchor configuration for timeline-aware backfill

typestringrequired

Anchor type

questionstring | null

Question name (for from_answer_month type)

Show child attributes
Any of
Max depth reached
Max depth reached
rule_idstring | null

Rule ID to anchor to (for before_rule/after_rule types)

Show child attributes
Any of
Max depth reached
Max depth reached
null
map_valuesobject | null

Map trigger values to calendar values (e.g., {'yes': 'Y', 'no': 'N'})

Show child attributes
Any of
[key: string]string
null
xpath_expressionstring | null

XPath expression to calculate value (for xpath source)

Show child attributes
Any of
string
null
enabledbooleantrue

Whether rule is active

conditionsArray<object> | null

Conditions for when the rule applies (Visual Rule Builder)

Show child attributes
Any of
Array<object>
null
months_scopeobject | null

Months scope configuration for the rule

Show child attributes
Any of
object
null
null
columnsArray<SurveyService_CalendarColumnSchema> | null
Show child attributes
Any of
Show child attributes

Column definition for calendar_grid question type

keystringrequired
typestringselect_one
labelstring
label_translationsobject | null
Show child attributes
Any of
[key: string]string
null
choicesArray<object> | null

Choices for select_one type - name must be exactly 1 character

Show child attributes
Any of
Array<object>
null
relevantstring | null
Show child attributes
Any of
string
null
null
limitSurveyService_LimitSchema | null
Show child attributes
Any of

Limit configuration for text/number fields. For text: min/max character count For integer/decimal: min/max value

mininteger | null
Show child attributes
Any of
integer
null
maxinteger | null
Show child attributes
Any of
integer
null
null
paradataArray<string> | null
Show child attributes
Any of
Array<string>
null
media_filestring | null
Show child attributes
Any of
string
null
mediaAudiostring | null
Show child attributes
Any of
string
null
mediaAudioSchemaobject | null
Show child attributes
Any of
[key: string]string
null
mediaAudioUrlstring | null
Show child attributes
Any of
string
null
mediaAudioAssetIdstring | null
Show child attributes
Any of
string
null
mediaAudioUrlSchemaobject | null
Show child attributes
Any of
[key: string]string
null
mediaAudioAssetIdSchemaobject | null
Show child attributes
Any of
[key: string]string
null
deidentifybooleanfalse
unique_idbooleanfalse
lookupsstring | null
Show child attributes
Any of
string
null
Show child attributes

Lookup data item (custom lookups worksheet). Used for cascading selects and external data lookups.

Example:

  • lookup_name: "countries" or "states"
  • key: "us" or "ny"
  • value: "United States" or "New York"
  • parent_key: None for countries, "us" for states (cascading)
  • extra_data: {"code": "USA", "region": "north_america"}
lookup_namestringrequired
keystringrequired
valuestringrequired
parent_keystring | null
Show child attributes
Any of
string
null
extra_dataobject | null
Show child attributes
Any of
object
null
lookup_dataArray<object> | null
Show child attributes
Any of
Array<object>
null
null
versionstring | null
Show child attributes
Any of
string
null
increment_typestring | nullpatch
Show child attributes
Any of
string
null

SurveyService_SurveyVersionUpdate

object

DTO for updating a draft survey version (cannot update published).

Accepts schema in two formats:

  1. Direct format: { settings, choices, questions, ... }
  2. Wrapped format: { schema: { settings, choices, questions, ... } }

The 'schema' field (when present) may include additional metadata like 'title' and 'version' which are stripped during parsing.

schemaobject | null
Show child attributes
Any of
object
null
settingsany | null
Show child attributes
Any of
any
null
choicesany | null
Show child attributes
Any of
any
null
questionsany | null
Show child attributes
Any of
any
null
lookupsany | null
Show child attributes
Any of
any
null
lookup_dataany | null
Show child attributes
Any of
any
null

SurveyService_SurveyWithAccessResponse

object
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
statusstringrequired
survey_codeinteger | null
Show child attributes
Any of
integer
null
versionstring | null
Show child attributes
Any of
string
null
access_levelstringrequired
can_fillbooleanrequired
can_viewbooleanrequired
can_approvebooleanfalse
created_atstring<date-time>required
updated_atstring | null
Show child attributes
Any of
string<date-time>
null

SurveyService_TagCreate

object
namestringrequired
colorstring | null
Show child attributes
Any of
string
null

SurveyService_TagListResponse

object
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
totalintegerrequired

SurveyService_TagResponse

object
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
colorstring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required

SurveyService_TagUpdate

object
namestring | null
Show child attributes
Any of
string
null
colorstring | null
Show child attributes
Any of
string
null

SurveyService_TemplateCategoryCreate

object
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null

SurveyService_TemplateCategoryListResponse

object
Show child attributes
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
totalintegerrequired
limitintegerrequired
skipintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

SurveyService_TemplateCategoryResponse

object
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required

SurveyService_TemplateCategoryUpdate

object
namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null

SurveyService_TemplateImportResponse

object
idstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
category_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
schemaobject | null
Show child attributes
Any of
object
null
is_publicbooleanrequired
created_bystringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
categorySurveyService_TemplateCategoryResponse | null
Show child attributes
Any of
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
null
import_warningsArray<object>

SurveyService_TemplatesByCategoryResponse

object
Show child attributes
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
Show child attributes
idstringrequired
tenant_idstring | null
Show child attributes
Any of
string
null
category_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
schemaobject | null
Show child attributes
Any of
object
null
is_publicbooleanrequired
created_bystringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
categorySurveyService_TemplateCategoryResponse | null
Show child attributes
Any of
idstringrequired
tenant_idstringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
icon_namestring | null
Show child attributes
Any of
string
null
created_atstring<date-time>required
updated_atstring<date-time>required
null
template_countintegerrequired

SurveyService_ValidateCollectionGrantResponse

object
validbooleanrequired
project_boundbooleanrequired
grant_idstring | null
Show child attributes
Any of
string
null
kindstring | null
Show child attributes
Any of
string
null
survey_version_idstring | null
Show child attributes
Any of
string
null
granted_atstring | null
Show child attributes
Any of
string
null
project_status_at_issuestring | null
Show child attributes
Any of
string
null
late_arrival_flaggedbooleanfalse

SurveyService_ValidationError

object
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

DataService_AnalyticsSummaryDTO

object
survey_idstringrequired
total_responsesintegerrequired
unique_respondentsintegerrequired
response_ratenumber | nullrequired
Show child attributes
Any of
number
null
average_completion_time_secondsnumber | nullrequired
Show child attributes
Any of
number
null
questions_analyzedintegerrequired
Show child attributes
question_idstringrequired
question_typestringrequired
total_answersintegerrequired
unique_respondentsintegerrequired
most_common_valuestring | nullrequired
Show child attributes
Any of
string
null
most_common_countintegerrequired

DataService_AnswerDistributionDTO

object
question_idstringrequired
valuestringrequired
countintegerrequired
percentagenumberrequired

DataService_ApprovalActionResponse

object
successbooleanrequired
messagestringrequired
responseDataService_ResponseDTOrequired
Show child attributes
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired

DataService_AttachmentDeleteResponse

object
messagestringrequired
idstringrequired

DataService_AttachmentListDTO

object
Show child attributes
idstringrequired
entity_typestringrequired
entity_idstringrequired
filenamestringrequired
original_filenamestringrequired
file_typestring | nullrequired
Show child attributes
Any of
string
null
mime_typestring | nullrequired
Show child attributes
Any of
string
null
file_sizeintegerrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
uploaded_bystring | nullrequired
Show child attributes
Any of
string
null
checksumstring | nullrequired
Show child attributes
Any of
string
null
is_publicbooleanrequired
field_namestring | null
Show child attributes
Any of
string
null
captured_atstring | null
Show child attributes
Any of
string
null
statusstringrequired
created_atstringrequired
download_urlstring | null
Show child attributes
Any of
string
null
totalintegerrequired
pageintegerrequired
limitintegerrequired

DataService_AttachmentRecordDTO

object
entity_typestringrequired

Type of entity (e.g., 'interview', 'response')

entity_idstring<uuid>required

ID of the associated entity

field_namestring | null

Question field name

Show child attributes
Any of
string
null
filenamestringrequired

Stored filename

original_filenamestringrequired

Original filename

file_typestring | null

File category (image, audio, video, document)

Show child attributes
Any of
string
null
mime_typestring | null

MIME type

Show child attributes
Any of
string
null
file_sizeinteger0

File size in bytes

checksumstring | null

SHA-256 checksum

Show child attributes
Any of
string
null
storage_urlstring | null

URL to the uploaded file

Show child attributes
Any of
string
null
captured_atstring | null

Device capture timestamp

Show child attributes
Any of
string
null
descriptionstring | null

Notes/description

Show child attributes
Any of
string
null

DataService_AttachmentResponseDTO

object
idstringrequired
entity_typestringrequired
entity_idstringrequired
filenamestringrequired
original_filenamestringrequired
file_typestring | nullrequired
Show child attributes
Any of
string
null
mime_typestring | nullrequired
Show child attributes
Any of
string
null
file_sizeintegerrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
uploaded_bystring | nullrequired
Show child attributes
Any of
string
null
checksumstring | nullrequired
Show child attributes
Any of
string
null
is_publicbooleanrequired
field_namestring | null
Show child attributes
Any of
string
null
captured_atstring | null
Show child attributes
Any of
string
null
statusstringrequired
created_atstringrequired
download_urlstring | null
Show child attributes
Any of
string
null

DataService_Body_generate_random_sample_api_v1_data_sampling_generate_post

object
filestringrequired
sample_sizeintegerrequired
output_formatstringcsv

DataService_Body_generate_random_sample_api_v1_sampling_generate_post

object
filestringrequired
sample_sizeintegerrequired
output_formatstringcsv

DataService_Body_upload_attachment_api_v1_attachments__post

object
entity_typestringrequired

Entity type (response, survey, etc.)

entity_idstring<uuid>required

Entity ID

descriptionstring | null

Description

Show child attributes
Any of
string
null
filestringrequired

File to upload

DataService_BulkApproveRequest

object
survey_idstring | null
Show child attributes
Any of
string<uuid>
null
statusArray<DataService_ResponseStatus> | null
Show child attributes
Any of
Array<DataService_ResponseStatus>draftsubmittedcompletedinvalidatedpending_approvalapprovedrejectedterminated
null
start_datestring | null
Show child attributes
Any of
string<date-time>
null
end_datestring | null
Show child attributes
Any of
string<date-time>
null
response_idsArray<string> | null
Show child attributes
Any of
Array<string>
null
dry_runbooleanfalse
notesstring | null
Show child attributes
Any of
string
null

DataService_BulkDeleteRequest

object
survey_idstring | null
Show child attributes
Any of
string<uuid>
null
statusArray<DataService_ResponseStatus> | null
Show child attributes
Any of
Array<DataService_ResponseStatus>draftsubmittedcompletedinvalidatedpending_approvalapprovedrejectedterminated
null
start_datestring | null
Show child attributes
Any of
string<date-time>
null
end_datestring | null
Show child attributes
Any of
string<date-time>
null
response_idsArray<string> | null
Show child attributes
Any of
Array<string>
null
dry_runbooleanfalse

DataService_BulkInvalidateRequest

object
survey_idstring | null
Show child attributes
Any of
string<uuid>
null
statusArray<DataService_ResponseStatus> | null
Show child attributes
Any of
Array<DataService_ResponseStatus>draftsubmittedcompletedinvalidatedpending_approvalapprovedrejectedterminated
null
start_datestring | null
Show child attributes
Any of
string<date-time>
null
end_datestring | null
Show child attributes
Any of
string<date-time>
null
response_idsArray<string> | null
Show child attributes
Any of
Array<string>
null
dry_runbooleanfalse
reasonstringrequired

DataService_BulkOperationResponseDTO

object
success_countinteger0
failure_countinteger0
skipped_countinteger0
errorsArray<object>
dry_runbooleanfalse

DataService_BulkResponseDTO

object
Show child attributes
idempotency_keystringrequired

Unique key for idempotency

survey_idstring<uuid>required

Survey ID

version_idstring | null

Survey version ID

Show child attributes
Any of
string<uuid>
null
respondent_idstring | null
Show child attributes
Any of
string
null
answersobjectrequired

Question ID to answer mapping

metadataobject | null

Additional metadata (clients send this under the 'metadata' key)

Show child attributes
Any of
object
null
submitted_atstring | null
Show child attributes
Any of
string<date-time>
null

DataService_BulkResponseItemDTO

object
idempotency_keystringrequired

Unique key for idempotency

survey_idstring<uuid>required

Survey ID

version_idstring | null

Survey version ID

Show child attributes
Any of
string<uuid>
null
respondent_idstring | null
Show child attributes
Any of
string
null
answersobjectrequired

Question ID to answer mapping

metadataobject | null

Additional metadata (clients send this under the 'metadata' key)

Show child attributes
Any of
object
null
submitted_atstring | null
Show child attributes
Any of
string<date-time>
null

DataService_BulkResponseResultDTO

object
totalintegerrequired
successfulintegerrequired
failedintegerrequired
Show child attributes
idempotency_keystringrequired
response_idstring | null
Show child attributes
Any of
string
null
statusstringrequired
errorstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null

DataService_BulkResponseResultItemDTO

object
idempotency_keystringrequired
response_idstring | null
Show child attributes
Any of
string
null
statusstringrequired
errorstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null

DataService_BulkUpdateStatusRequest

object
survey_idstring | null
Show child attributes
Any of
string<uuid>
null
statusArray<DataService_ResponseStatus> | null
Show child attributes
Any of
Array<DataService_ResponseStatus>draftsubmittedcompletedinvalidatedpending_approvalapprovedrejectedterminated
null
start_datestring | null
Show child attributes
Any of
string<date-time>
null
end_datestring | null
Show child attributes
Any of
string<date-time>
null
response_idsArray<string> | null
Show child attributes
Any of
Array<string>
null
dry_runbooleanfalse
new_statusstringrequired

DataService_DashboardMetricsDTO

object
active_formsintegerrequired
active_enumeratorsintegerrequired
submissions_todayintegerrequired
failed_submissionsintegerrequired
latest_submission_timesArray<DataService_SurveyLatestSubmissionDTO>required
Show child attributes
survey_idstringrequired
latest_submitted_atstring | nullrequired
Show child attributes
Any of
string
null
latest_completed_atstring | nullrequired
Show child attributes
Any of
string
null
timezone_contextstringrequired

DataService_DuplicateGroupDto

object
idstring<uuid>required

Duplicate group ID

primary_response_idstring<uuid>required

Primary response ID

duplicate_response_idstring<uuid>required

Duplicate response ID

survey_idstring<uuid>required

Survey ID

confidence_scorenumberrequired

Confidence score

criteria_breakdownobjectrequired

Breakdown of scores per criterion

Show child attributes
[key: string]number
statusstringrequired

Status of the duplicate group (flagged, merged, discarded, kept_both)

merged_bystring | null

User who performed the merge

Show child attributes
Any of
string<uuid>
null
merged_atstring | null

When the merge was performed

Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required

When the duplicate was detected

DataService_DuplicateGroupListDto

object

List of duplicate groups

Show child attributes
idstring<uuid>required

Duplicate group ID

primary_response_idstring<uuid>required

Primary response ID

duplicate_response_idstring<uuid>required

Duplicate response ID

survey_idstring<uuid>required

Survey ID

confidence_scorenumberrequired

Confidence score

criteria_breakdownobjectrequired

Breakdown of scores per criterion

Show child attributes
[key: string]number
statusstringrequired

Status of the duplicate group (flagged, merged, discarded, kept_both)

merged_bystring | null

User who performed the merge

Show child attributes
Any of
string<uuid>
null
merged_atstring | null

When the merge was performed

Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required

When the duplicate was detected

totalintegerrequired

Total number of duplicate groups

skipintegerrequired

Number of items skipped

limitintegerrequired

Number of items per page

has_nextbooleanrequired

Whether there are more items

has_previousbooleanrequired

Whether there are previous items

DataService_EnrichedAnswerDTO

object
question_idstringrequired
question_typestringrequired
valuestring | null
Show child attributes
Any of
string
null
value_jsonany | null
Show child attributes
Any of
any
null
presigned_urlstring | null
Show child attributes
Any of
string
null

DataService_EnumeratorStatsDTO

object
user_idstringrequired
survey_idstringrequired
total_submissionsintegerrequired
total_rejectedintegerrequired
rejection_ratenumberrequired
avg_duration_secondsnumber | null
Show child attributes
Any of
number
null
duration_countinteger0
avg_quality_scorenumber | null
Show child attributes
Any of
number
null
last_submission_atstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null

DataService_EnumeratorStatsListDTO

object
Show child attributes
user_idstringrequired
survey_idstringrequired
total_submissionsintegerrequired
total_rejectedintegerrequired
rejection_ratenumberrequired
avg_duration_secondsnumber | null
Show child attributes
Any of
number
null
duration_countinteger0
avg_quality_scorenumber | null
Show child attributes
Any of
number
null
last_submission_atstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
totalintegerrequired
skipintegerrequired
limitintegerrequired

DataService_ExportRequestDTO

object
survey_idstring<uuid>required

Survey ID to export

formatstringcsv

Export format: csv, xlsx, json, dta, sav

statusstring | null

Filter by response status

Show child attributes
Any of
string
null
from_datestring | null

Filter from date

Show child attributes
Any of
string<date-time>
null
to_datestring | null

Filter to date

Show child attributes
Any of
string<date-time>
null
respondent_idstring | null

Filter by respondent

Show child attributes
Any of
string
null
include_metadatabooleantrue

Include response metadata

include_answersbooleantrue

Include answer data

version_idstring | null

Survey version ID for schema labels (uses latest if not set)

Show child attributes
Any of
string
null
languagestring | null

Language code for translated labels (e.g., 'es', 'fr')

Show child attributes
Any of
string
null

DataService_HTTPValidationError

object
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

DataService_MediaExportStatusDTO

object
request_idstringrequired
task_statusstringrequired
resultobject | null
Show child attributes
Any of
object
null
errorstring | null
Show child attributes
Any of
string
null

DataService_MergeRequestDto

object
target_response_idstring<uuid>required

Response ID to merge into (primary)

merge_notestring | null

Note about the merge

Show child attributes
Any of
string
null
conflict_resolutionsobject | null

Resolutions for conflicting fields (field name -> response ID to keep)

Show child attributes
Any of
[key: string]string
null

DataService_MergeResponseDto

object
successbooleanrequired

Whether the merge was successful

primary_response_idstring<uuid>required

Primary response ID after merge

merged_response_idstring<uuid>required

Response ID that was merged

messagestringrequired

Status message

DataService_PendingApprovalCountDTO

object
survey_idstring<uuid>required
countintegerrequired

DataService_QuestionStatsDTO

object
question_idstringrequired
question_typestringrequired
total_answersintegerrequired
unique_respondentsintegerrequired
most_common_valuestring | nullrequired
Show child attributes
Any of
string
null
most_common_countintegerrequired

DataService_ResponseApprovalRequest

object
notesstring | null

Optional approval notes

Show child attributes
Any of
string
null

DataService_ResponseChangeDTO

object

A single response change. Deliberately carries no answer values.

response_idstringrequired
survey_idstring | null
Show child attributes
Any of
string
null
change_typestringrequired
changed_fieldsArray<string> | null
Show child attributes
Any of
Array<string>
null
changed_atstringrequired

DataService_ResponseChangeFeedDTO

object
Show child attributes

A single response change. Deliberately carries no answer values.

response_idstringrequired
survey_idstring | null
Show child attributes
Any of
string
null
change_typestringrequired
changed_fieldsArray<string> | null
Show child attributes
Any of
Array<string>
null
changed_atstringrequired
next_watermarkstringrequired
has_morebooleanrequired

DataService_ResponseCorrectionRequest

object

Enumerator correction of a rejected response.

answers must contain only questions the supervisor flagged as checked. Supplying answers for unflagged questions is rejected with 422. Questions omitted here are left unchanged.

answersobjectrequired

Corrected answers for flagged questions only

reasonstring | null

Reason for correction

Show child attributes
Any of
string
null

DataService_ResponseCorrectionResponse

object
successbooleantrue
replayedbooleanfalse
response_idstring<uuid>required
statusstringrequired
edit_idstring | null
Show child attributes
Any of
string<uuid>
null
edit_countintegerrequired
changed_questionsArray<string>required
updated_atstring | null
Show child attributes
Any of
string<date-time>
null

DataService_ResponseDTO

object
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired

DataService_ResponseDetailDTO

object
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
Show child attributes
question_idstringrequired
question_typestringrequired
valuestring | null
Show child attributes
Any of
string
null
value_jsonany | null
Show child attributes
Any of
any
null
presigned_urlstring | null
Show child attributes
Any of
string
null

DataService_ResponseEditHistoryDTO

object
idstring<uuid>required
edited_atstring<date-time>required
edited_bystring<uuid>required
reasonstring | null
Show child attributes
Any of
string
null
changes_countintegerrequired

DataService_ResponseEditHistoryListDTO

object
Show child attributes
idstring<uuid>required
edited_atstring<date-time>required
edited_bystring<uuid>required
reasonstring | null
Show child attributes
Any of
string
null
changes_countintegerrequired
totalintegerrequired

DataService_ResponseEditRequest

object
answersobjectrequired

Question ID to answer mapping

reasonstring | null

Reason for edit

Show child attributes
Any of
string
null

DataService_ResponseEditResponse

object
successbooleanrequired
edit_idstring<uuid>required
Show child attributes
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
Show child attributes
question_idstringrequired
question_typestringrequired
valuestring | null
Show child attributes
Any of
string
null
value_jsonany | null
Show child attributes
Any of
any
null
presigned_urlstring | null
Show child attributes
Any of
string
null
changes_countintegerrequired

DataService_ResponseListDTO

object
Show child attributes
idstringrequired
survey_idstringrequired
tenant_idstringrequired
version_idstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
interview_idstring | null
Show child attributes
Any of
string
null
respondent_idstring | null
Show child attributes
Any of
string
null
ridstring | null
Show child attributes
Any of
string
null
uidstring | null
Show child attributes
Any of
string
null
statusstringrequired
answersintegerrequired
completed_answersintegerrequired
progress_percentageintegerrequired
started_atstring | null
Show child attributes
Any of
string
null
submitted_atstring | null
Show child attributes
Any of
string
null
completed_atstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null
is_validbooleanrequired
submitted_bystring | null
Show child attributes
Any of
string
null
enumerator_user_codestring | null
Show child attributes
Any of
string
null
enumerator_emailstring | null
Show child attributes
Any of
string
null
enumerator_namestring | null
Show child attributes
Any of
string
null
respondent_namestring | null
Show child attributes
Any of
string
null
respondent_user_codestring | null
Show child attributes
Any of
string
null
device_idstring | null
Show child attributes
Any of
string
null
sync_batch_idstring | null
Show child attributes
Any of
string
null
synced_atstring | null
Show child attributes
Any of
string
null
approved_bystring | null
Show child attributes
Any of
string
null
approved_atstring | null
Show child attributes
Any of
string
null
approval_notesstring | null
Show child attributes
Any of
string
null
rejected_bystring | null
Show child attributes
Any of
string
null
rejected_atstring | null
Show child attributes
Any of
string
null
rejection_reasonstring | null
Show child attributes
Any of
string
null
review_flagsobject | null
Show child attributes
Any of
object
null
response_languagestring | null
Show child attributes
Any of
string
null
is_reconciledbooleanfalse
reconciled_atstring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

DataService_ResponseRejectionRequest

object
reasonstringrequired

Required rejection reason

flagsobjectrequired

Required review flags to persist atomically with the rejection. At least one flag must have checked=true. There is no fallback to previously stored flags.

Show child attributes
Show child attributes
checkedbooleanfalse
notestring | null
Show child attributes
Any of
string
null

DataService_ResponseStatsDTO

object
survey_idstringrequired
total_responsesintegerrequired
draft_countintegerrequired
submitted_countintegerrequired
completed_countintegerrequired
invalidated_countintegerrequired
completion_ratenumberrequired
average_duration_secondsnumber | nullrequired
Show child attributes
Any of
number
null
date_fromstringrequired
date_tostringrequired

DataService_ResponseStatus

string
DataService_ResponseStatusdraftsubmittedcompletedinvalidatedpending_approvalapprovedrejectedterminated

DataService_ResponseValidationErrorDTO

object
errorstringrequired
validation_errorsArray<object>required

DataService_ReviewFlag

object
checkedbooleanfalse
notestring | null
Show child attributes
Any of
string
null

DataService_SimilarityMatch

object
response_idstring<uuid>required

ID of the potentially duplicate response

confidencenumberrequired

Confidence score (0-1)

criteria_breakdownobjectrequired

Breakdown of scores per criterion

Show child attributes
[key: string]number
response_detailsobject | null

Additional details about the matched response

Show child attributes
Any of
object
null

DataService_SimilaritySearchRequest

object
survey_idstringrequired

Survey ID to search for duplicates in

respondent_idstring | null

Respondent ID to match

Show child attributes
Any of
string
null
respondent_fieldsobject | null

Other respondent fields for matching

Show child attributes
Any of
object
null
gps_coordinatesobject | null

GPS coordinates for proximity match

Show child attributes
Any of
[key: string]number
null

DataService_SimilaritySearchResponse

object

List of potential duplicates

Show child attributes
response_idstring<uuid>required

ID of the potentially duplicate response

confidencenumberrequired

Confidence score (0-1)

criteria_breakdownobjectrequired

Breakdown of scores per criterion

Show child attributes
[key: string]number
response_detailsobject | null

Additional details about the matched response

Show child attributes
Any of
object
null
totalintegerrequired

Total number of matches found

DataService_SubmitResponseDTO

object
survey_idstring<uuid>required

Survey ID

version_idstring | null

Survey version ID

Show child attributes
Any of
string<uuid>
null
idempotency_keystring | null

Unique key for submission idempotency

Show child attributes
Any of
string
null
respondent_idstring | null

Respondent identifier

Show child attributes
Any of
string
null
answersobjectrequired

Question ID to answer mapping

metadataobject | null

Additional metadata (clients send this under the 'metadata' key)

Show child attributes
Any of
object
null
ip_addressstring | null

Client IP address

Show child attributes
Any of
string
null
user_agentstring | null

Client user agent

Show child attributes
Any of
string
null
device_idstring | null

Device identifier (ODK Collect deviceID, CSPro device ID)

Show child attributes
Any of
string
null
sync_batch_idstring | null

Batch ID for grouping offline sync submissions

Show child attributes
Any of
string<uuid>
null
submission_modestring | nullcomplete

Domain-level intent: 'complete' or 'terminated_partial'

Show child attributes
Any of
string
null
duration_secondsinteger | null

Active form filling duration in seconds, excluding paused time

Show child attributes
Any of
integer[0, 2592000]
null
interview_idstring | null

Interview execution ID — links this response to its interview lifecycle

Show child attributes
Any of
string<uuid>
null
interview_ridstring | null

Response RID from interview (generated at interview creation, not at submission)

Show child attributes
Any of
string
null
collected_atstring | null

Device-reported capture time (ISO-8601). Source of truth for the schedule window on offline submissions — a response collected on-device before close_at syncs even after the survey is auto-archived server-side.

Show child attributes
Any of
string<date-time>
null
response_languagestring | null

Language code used for this submission (e.g., 'en', 'es', 'fr')

Show child attributes
Any of
string
null
is_reconciliationbooleanfalse

Flag indicating this submission is a server-authorized reconciliation of work predating revocation (R22)

reconciliation_grant_idstring | null

Historical form access grant ID authorizing this reconciliation

Show child attributes
Any of
string<uuid>
null

DataService_SurveyLatestSubmissionDTO

object
survey_idstringrequired
latest_submitted_atstring | nullrequired
Show child attributes
Any of
string
null
latest_completed_atstring | nullrequired
Show child attributes
Any of
string
null

DataService_TimeSeriesDTO

object
survey_idstringrequired
granularitystringrequired
Show child attributes
datestringrequired
countintegerrequired

DataService_TimeSeriesPointDTO

object
datestringrequired
countintegerrequired

DataService_UpdateAttachmentDTO

object
descriptionstring | null

Updated notes/description

Show child attributes
Any of
string
null
field_namestring | null

Updated question field name

Show child attributes
Any of
string
null

DataService_UpdateResponseDTO

object
respondent_idstring | null
Show child attributes
Any of
string
null
metadataobject | null

Additional metadata (clients send this under the 'metadata' key)

Show child attributes
Any of
object
null
statusstring | null
Show child attributes
Any of
string
null

DataService_UpdateReviewFlagsRequest

object
flagsobject

Question ID to review flag mapping

Show child attributes
Show child attributes
checkedbooleanfalse
notestring | null
Show child attributes
Any of
string
null

DataService_ValidateIdsRequest

object
response_idsArray<string>required

DataService_ValidateIdsResponse

object
valid_idsArray<string>required

DataService_ValidationError

object
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

SyncService_BulkSyncPushRequestDTO

object

Bulk push sync request.

Max 50 responses per batch

Show child attributes

Push sync request for single response.

idempotency_keystringrequired

Unique key for idempotency

survey_idstring<uuid>required

Survey ID

survey_version_idstring | null

Survey version ID for version-pinned response

Show child attributes
Any of
string<uuid>
null
interview_idstring | null

Interview execution ID — links this response to its interview lifecycle (Track A)

Show child attributes
Any of
string<uuid>
null
interview_ridstring | null

Response RID allocated for interview

Show child attributes
Any of
string
null
respondent_idstring | null

Respondent identifier

Show child attributes
Any of
string
null

Survey answers

Show child attributes

Response answer data.

question_idstringrequired
valueany
metadataobject | null

Additional metadata

Show child attributes
Any of
object
null
device_idstringrequired

Device that collected the response

collected_atstring | null

When response was collected on device

Show child attributes
Any of
string<date-time>
null
response_languagestring | null

Language code used for submission (e.g., 'en', 'es')

Show child attributes
Any of
string
null
submission_modestring | null

Submission mode: 'complete', 'terminated_partial', or 'draft'

Show child attributes
Any of
string
null

SyncService_BulkSyncPushResponseDTO

object

Bulk push sync response.

totalintegerrequired
acceptedintegerrequired
rejectedintegerrequired
Show child attributes

Push sync response.

idstringrequired
idempotency_keystringrequired
statusstringrequired
response_idstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string
null
lifecycle_codestring | null
Show child attributes
Any of
string
null

SyncService_ConflictDTO

object

Sync conflict information.

idstring<uuid>required
tenant_idstring<uuid>required
device_idstringrequired
response_idstringrequired
conflict_typestringrequired
server_versionobject | null
Show child attributes
Any of
object
null
client_versionobject | null
Show child attributes
Any of
object
null
resolutionstring | null
Show child attributes
Any of
string
null
resolved_atstring | null
Show child attributes
Any of
string<date-time>
null
resolved_bystring | null
Show child attributes
Any of
string<uuid>
null
created_atstring<date-time>required

SyncService_ConflictListDTO

object

List of sync conflicts.

Show child attributes

Sync conflict information.

idstring<uuid>required
tenant_idstring<uuid>required
device_idstringrequired
response_idstringrequired
conflict_typestringrequired
server_versionobject | null
Show child attributes
Any of
object
null
client_versionobject | null
Show child attributes
Any of
object
null
resolutionstring | null
Show child attributes
Any of
string
null
resolved_atstring | null
Show child attributes
Any of
string<date-time>
null
resolved_bystring | null
Show child attributes
Any of
string<uuid>
null
created_atstring<date-time>required
totalintegerrequired
skipinteger0
limitinteger100
has_nextbooleanfalse
has_previousbooleanfalse

SyncService_ConflictResolutionRequestDTO

object

Request to resolve a sync conflict.

strategystringrequired

Resolution strategy: server_wins, client_wins, or manual

merged_dataobject | null

Merged data if manual strategy is used

Show child attributes
Any of
object
null

SyncService_DeviceListDTO

object

List of devices response.

Show child attributes

Device response.

idstringrequired
device_idstringrequired
platformstringrequired
device_namestring | null
Show child attributes
Any of
string
null
device_modelstring | null
Show child attributes
Any of
string
null
os_versionstring | null
Show child attributes
Any of
string
null
app_versionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_primarybooleanrequired
last_active_atstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string
null
totalintegerrequired
skipinteger0
limitinteger100
has_nextbooleanfalse
has_previousbooleanfalse

SyncService_DeviceRegistrationDTO

object

Device registration request.

device_idstringrequired

Unique device identifier

platformstringrequired

Device platform (ios, android, web, desktop)

device_namestring | null
Show child attributes
Any of
string
null
device_modelstring | null
Show child attributes
Any of
string
null
os_versionstring | null
Show child attributes
Any of
string
null
app_versionstring | null
Show child attributes
Any of
string
null
push_tokenstring | null
Show child attributes
Any of
string
null

SyncService_DeviceResponseDTO

object

Device response.

idstringrequired
device_idstringrequired
platformstringrequired
device_namestring | null
Show child attributes
Any of
string
null
device_modelstring | null
Show child attributes
Any of
string
null
os_versionstring | null
Show child attributes
Any of
string
null
app_versionstring | null
Show child attributes
Any of
string
null
statusstringrequired
is_primarybooleanrequired
last_active_atstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string
null

SyncService_DeviceUpdateDTO

object

Device update request.

device_namestring | null
Show child attributes
Any of
string
null
device_modelstring | null
Show child attributes
Any of
string
null
os_versionstring | null
Show child attributes
Any of
string
null
app_versionstring | null
Show child attributes
Any of
string
null
push_tokenstring | null
Show child attributes
Any of
string
null

SyncService_FailedSubmissionsDTO

object
countintegerrequired

SyncService_FormDownloadAcknowledgementDTO

object

Client acknowledgement emitted only after a schema is persisted locally.

survey_idstring<uuid>required
survey_version_idstring<uuid>required
survey_versionstringrequired
survey_titlestring | null
Show child attributes
Any of
string
null
schema_hashstring | null
Show child attributes
Any of
string
null
device_idstringrequired
download_idstring<uuid>required
platformstring | null
Show child attributes
Any of
string
null
app_versionstring | null
Show child attributes
Any of
string
null
app_buildstring | null
Show child attributes
Any of
string
null
os_versionstring | null
Show child attributes
Any of
string
null
persisted_atstring | null
Show child attributes
Any of
string<date-time>
null

SyncService_HTTPValidationError

object
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

SyncService_HealthResponseDTO

object
statusstringrequired
servicestringrequired
versionstringrequired
timestampstring<date-time>required
databasestring | null
Show child attributes
Any of
string
null

SyncService_InitialSyncRequestDTO

object

Initial sync request.

device_idstringrequired
platformstring | nullunknown

Device platform

Show child attributes
Any of
string
null

SyncService_PushTokenUpdateDTO

object

Push token update request.

push_tokenstringrequired

SyncService_ResponseAnswerDTO

object

Response answer data.

question_idstringrequired
valueany

SyncService_RoleSyncDTO

object

Role and permissions descriptor for sync pull response.

idstringrequired
namestringrequired
permissionsArray<string>

SyncService_SurveySyncDTO

object

Survey sync data — a descriptor, not a content channel (D-11).

schema_hash is the server's persisted content address for this version's canonical schema artifact: a 64-character lowercase SHA-256 over the canonical UTF-8 JSON bytes. It is forwarded verbatim from survey-service and is the value a client verifies against. It is nullable only because a legacy version published before the integrity backfill may have none; a client must treat a missing value as "cannot be verified", never as "trust me".

questions and settings remain as a legacy schema fragment. They are not a verifiable artifact (no digest covers them) and mobile ignores them; they exist so an older client does not hard-fail on a schema shape it knows. Content is fetched from the version's artifact endpoint, not from here.

survey_idstringrequired
version_idstringrequired
versionstringrequired
titlestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
statusstringrequired
schema_hashstring | null
Show child attributes
Any of
string
null
is_deletedbooleanfalse
has_lookupsbooleanfalse
questionsArray<object>
settingsobject | null
Show child attributes
Any of
object
null

SyncService_SyncMetadataDTO

object

Sync metadata response.

surveys_modifiedintegerrequired
surveys_deletedintegerrequired
responses_modifiedintegerrequired
responses_newintegerrequired
server_timestampstringrequired
next_sync_tokenstringrequired

SyncService_SyncPullRequestDTO

object

Pull sync request.

device_idstringrequired

Device identifier

last_sync_tokenstring | null

Token from previous sync

Show child attributes
Any of
string
null
survey_versionstring | null

Last known survey version (semver string)

Show child attributes
Any of
string
null
include_surveysbooleantrue

Include survey data

include_metadatabooleantrue

Include sync metadata

SyncService_SyncPullResponseDTO

object

Pull sync response.

sync_tokenstringrequired
Show child attributes

Survey sync data — a descriptor, not a content channel (D-11).

schema_hash is the server's persisted content address for this version's canonical schema artifact: a 64-character lowercase SHA-256 over the canonical UTF-8 JSON bytes. It is forwarded verbatim from survey-service and is the value a client verifies against. It is nullable only because a legacy version published before the integrity backfill may have none; a client must treat a missing value as "cannot be verified", never as "trust me".

questions and settings remain as a legacy schema fragment. They are not a verifiable artifact (no digest covers them) and mobile ignores them; they exist so an older client does not hard-fail on a schema shape it knows. Content is fetched from the version's artifact endpoint, not from here.

survey_idstringrequired
version_idstringrequired
versionstringrequired
titlestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
statusstringrequired
schema_hashstring | null
Show child attributes
Any of
string
null
is_deletedbooleanfalse
has_lookupsbooleanfalse
questionsArray<object>
settingsobject | null
Show child attributes
Any of
object
null

Sync metadata response.

Show child attributes
surveys_modifiedintegerrequired
surveys_deletedintegerrequired
responses_modifiedintegerrequired
responses_newintegerrequired
server_timestampstringrequired
next_sync_tokenstringrequired
server_timestampstringrequired
roleSyncService_RoleSyncDTO | null
Show child attributes
Any of

Role and permissions descriptor for sync pull response.

idstringrequired
namestringrequired
permissionsArray<string>
null

SyncService_SyncPushRequestDTO

object

Push sync request for single response.

idempotency_keystringrequired

Unique key for idempotency

survey_idstring<uuid>required

Survey ID

survey_version_idstring | null

Survey version ID for version-pinned response

Show child attributes
Any of
string<uuid>
null
interview_idstring | null

Interview execution ID — links this response to its interview lifecycle (Track A)

Show child attributes
Any of
string<uuid>
null
interview_ridstring | null

Response RID allocated for interview

Show child attributes
Any of
string
null
respondent_idstring | null

Respondent identifier

Show child attributes
Any of
string
null

Survey answers

Show child attributes

Response answer data.

question_idstringrequired
valueany
metadataobject | null

Additional metadata

Show child attributes
Any of
object
null
device_idstringrequired

Device that collected the response

collected_atstring | null

When response was collected on device

Show child attributes
Any of
string<date-time>
null
response_languagestring | null

Language code used for submission (e.g., 'en', 'es')

Show child attributes
Any of
string
null
submission_modestring | null

Submission mode: 'complete', 'terminated_partial', or 'draft'

Show child attributes
Any of
string
null

SyncService_SyncPushResponseDTO

object

Push sync response.

idstringrequired
idempotency_keystringrequired
statusstringrequired
response_idstring | null
Show child attributes
Any of
string
null
created_atstring | null
Show child attributes
Any of
string
null
lifecycle_codestring | null
Show child attributes
Any of
string
null

SyncService_SyncReconciliationRequestDTO

object

Server-authorized reconciliation request for responses predating access revocation (R17 & R22).

intentstringrequired

Explicit intent: must be 'reconcile_revoked_work'

idempotency_keystringrequired

Unique key for idempotency

survey_idstring<uuid>required

Survey ID

survey_version_idstring | null

Survey version ID for version pinning

Show child attributes
Any of
string<uuid>
null
device_idstringrequired

Device that collected the response

collected_atstring<date-time>required

Device-reported capture timestamp (mandatory for reconciliation)

Survey answers

Show child attributes

Response answer data.

question_idstringrequired
valueany
respondent_idstring | null

Respondent identifier

Show child attributes
Any of
string
null
interview_idstring | null

Interview execution ID

Show child attributes
Any of
string<uuid>
null
interview_ridstring | null

Allocated RID

Show child attributes
Any of
string
null
metadataobject | null

Additional metadata

Show child attributes
Any of
object
null
response_languagestring | null

Language code

Show child attributes
Any of
string
null
submission_modestring | nullcomplete

Submission mode: 'complete' or 'terminated_partial'

Show child attributes
Any of
string
null
duration_secondsinteger | null

Duration in seconds

Show child attributes
Any of
integer>= 0
null
sync_batch_idstring | null

Batch ID

Show child attributes
Any of
string<uuid>
null

SyncService_SyncReconciliationResponseDTO

object

Server-authorized reconciliation response.

statusstringrequired

'reconciled', 'duplicate', or 'rejected'

response_idstring | null

Persisted SurveyResponse ID in data-service

Show child attributes
Any of
string
null
reconciliation_grant_idstring | null

Historical grant UUID that authorized this work

Show child attributes
Any of
string
null
reconciled_atstring | null

ISO timestamp when reconciliation completed

Show child attributes
Any of
string
null
reasonstring | null

Reason code if rejected (e.g. 'work_postdates_revocation', 'user_never_assigned')

Show child attributes
Any of
string
null
messagestringrequired

Human-readable status summary

SyncService_SyncStatusDTO

object

Sync status response.

device_idstringrequired
last_sync_atstring | null
Show child attributes
Any of
string<date-time>
null
sync_statusstringrequired
last_survey_sync_atstring | null
Show child attributes
Any of
string<date-time>
null
last_response_sync_atstring | null
Show child attributes
Any of
string<date-time>
null
sync_tokenstring | null
Show child attributes
Any of
string
null
surveys_syncedinteger0
responses_syncedinteger0
server_timestring | null
Show child attributes
Any of
string
null
server_time_offsetinteger | null0
Show child attributes
Any of
integer
null
rid_blocksArray<object>

SyncService_ValidationError

object
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

AnalyticsService_AggregateDataPointDTO

object

Single data point in aggregated results.

labelstringrequired
valuenumberrequired
countinteger | null
Show child attributes
Any of
integer
null
extraobject | null
Show child attributes
Any of
object
null

AnalyticsService_AggregateRequestDTO

object

Request to aggregate survey response data for a chart panel.

survey_idstringrequired
question_idsArray<string>required
chart_typestringrequired
aggregationstringrequired
filtersobject | null
Show child attributes
Any of
object
null
groupingstring | null
Show child attributes
Any of
string
null
value_modestring | null
Show child attributes
Any of
string
null

AnalyticsService_AggregateResponseDTO

object

Aggregated chart data response.

survey_idstringrequired
question_idsArray<string>required
chart_typestringrequired
aggregationstringrequired
Show child attributes

Single data point in aggregated results.

labelstringrequired
valuenumberrequired
countinteger | null
Show child attributes
Any of
integer
null
extraobject | null
Show child attributes
Any of
object
null
summaryobject | null
Show child attributes
Any of
object
null
cachedbooleanfalse
generated_atstring<date-time>required

AnalyticsService_AnalyticsResponseListDTO

object

Paginated list of survey responses for analytics.

itemsArray<object>required
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

AnalyticsService_AnalyticsSummaryDTO

object

Analytics summary.

total_surveysintegerrequired
total_responsesintegerrequired
active_surveysintegerrequired
completion_rate_avgnumberrequired
period_startstring<date-time>required
period_endstring<date-time>required

AnalyticsService_CreateDashboardDTO

object

Create dashboard request.

titlestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
is_defaultbooleanfalse
survey_idstring | null
Show child attributes
Any of
string
null
dashboard_typestring | null
Show child attributes
Any of
string
null
layout_configobject | null
Show child attributes
Any of
object
null

AnalyticsService_CreateWidgetDTO

object

Create widget request.

widget_typestringrequired
titlestringrequired
chart_typestringrequired
data_sourcestringsnapshot
query_configobject | null
Show child attributes
Any of
object
null
position_xinteger0
position_yinteger0
widthinteger4
heightinteger3
configobject | null
Show child attributes
Any of
object
null
filtersobject | null
Show child attributes
Any of
object
null
refresh_intervalinteger300

AnalyticsService_DashboardListDTO

object
Show child attributes

Dashboard response.

idstringrequired
titlestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
is_defaultbooleanrequired
layout_configobject | nullrequired
Show child attributes
Any of
object
null
created_bystringrequired
created_atstring<date-time>required
updated_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
widgetsArray<AnalyticsService_WidgetResponseDTO> | null
Show child attributes
Any of
Show child attributes

Widget response.

idstringrequired
dashboard_idstringrequired
widget_typestringrequired
titlestringrequired
title_keystring | null
Show child attributes
Any of
string
null
chart_typestring | nullrequired
Show child attributes
Any of
string
null
data_sourcestring | nullrequired
Show child attributes
Any of
string
null
query_configobject | nullrequired
Show child attributes
Any of
object
null
position_xintegerrequired
position_yintegerrequired
widthintegerrequired
heightintegerrequired
configobject | nullrequired
Show child attributes
Any of
object
null
filtersobject | nullrequired
Show child attributes
Any of
object
null
refresh_intervalintegerrequired
created_atstring<date-time>required
updated_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
null
survey_idstring | null
Show child attributes
Any of
string
null
dashboard_typestring | null
Show child attributes
Any of
string
null
is_user_modifiedboolean | null
Show child attributes
Any of
boolean
null
generated_by_systemboolean | null
Show child attributes
Any of
boolean
null
source_survey_versionstring | null
Show child attributes
Any of
string
null
generator_versionstring | null
Show child attributes
Any of
string
null
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

AnalyticsService_DashboardResponseDTO

object

Dashboard response.

idstringrequired
titlestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
is_defaultbooleanrequired
layout_configobject | nullrequired
Show child attributes
Any of
object
null
created_bystringrequired
created_atstring<date-time>required
updated_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
widgetsArray<AnalyticsService_WidgetResponseDTO> | null
Show child attributes
Any of
Show child attributes

Widget response.

idstringrequired
dashboard_idstringrequired
widget_typestringrequired
titlestringrequired
title_keystring | null
Show child attributes
Any of
string
null
chart_typestring | nullrequired
Show child attributes
Any of
string
null
data_sourcestring | nullrequired
Show child attributes
Any of
string
null
query_configobject | nullrequired
Show child attributes
Any of
object
null
position_xintegerrequired
position_yintegerrequired
widthintegerrequired
heightintegerrequired
configobject | nullrequired
Show child attributes
Any of
object
null
filtersobject | nullrequired
Show child attributes
Any of
object
null
refresh_intervalintegerrequired
created_atstring<date-time>required
updated_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
null
survey_idstring | null
Show child attributes
Any of
string
null
dashboard_typestring | null
Show child attributes
Any of
string
null
is_user_modifiedboolean | null
Show child attributes
Any of
boolean
null
generated_by_systemboolean | null
Show child attributes
Any of
boolean
null
source_survey_versionstring | null
Show child attributes
Any of
string
null
generator_versionstring | null
Show child attributes
Any of
string
null

AnalyticsService_DashboardSummaryDTO

object

Dashboard summary metrics.

tenant_idstringrequired
period_startstring<date-time>required
period_endstring<date-time>required
total_surveysintegerrequired
active_surveysintegerrequired
total_responsesintegerrequired
completion_rate_avgnumberrequired
average_response_timenumber | nullrequired
Show child attributes
Any of
number
null
responses_trendArray<object>required
top_surveysArray<object>required
generated_atstring<date-time>required

AnalyticsService_GenerateDashboardRequestDTO

object

Request to generate a default dashboard for a survey.

survey_idstringrequired

AnalyticsService_GenerateDashboardResponseDTO

object

Response from dashboard generation.

dashboard_idstringrequired
statusstringrequired
widget_countintegerrequired
messagestringrequired

AnalyticsService_HTTPValidationError

object
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

AnalyticsService_ResponseMetricsDTO

object

Response metrics for a date range.

datestringrequired
total_responsesintegerrequired
completed_responsesintegerrequired
completion_ratenumberrequired
average_duration_secondsnumber | nullrequired
Show child attributes
Any of
number
null

AnalyticsService_SurveyAnalyticsDTO

object

Survey analytics.

survey_idstringrequired
total_responsesintegerrequired
completion_ratenumberrequired
average_timenumber | nullrequired
Show child attributes
Any of
number
null
questions_countintegerrequired
responses_by_dateArray<object>required

AnalyticsService_SurveyPerformanceDTO

object

Survey performance metrics.

survey_idstringrequired
survey_namestringrequired
total_responsesintegerrequired
completion_ratenumberrequired
average_time_secondsnumber | nullrequired
Show child attributes
Any of
number
null
trendstringrequired
trend_percentagenumberrequired

AnalyticsService_UpdateDashboardDTO

object

Update dashboard request.

titlestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
is_defaultboolean | null
Show child attributes
Any of
boolean
null
layout_configobject | null
Show child attributes
Any of
object
null
is_user_modifiedboolean | null
Show child attributes
Any of
boolean
null

AnalyticsService_UpdateWidgetDTO

object

Update widget request.

titlestring | null
Show child attributes
Any of
string
null
chart_typestring | null
Show child attributes
Any of
string
null
data_sourcestring | null
Show child attributes
Any of
string
null
query_configobject | null
Show child attributes
Any of
object
null
position_xinteger | null
Show child attributes
Any of
integer
null
position_yinteger | null
Show child attributes
Any of
integer
null
widthinteger | null
Show child attributes
Any of
integer
null
heightinteger | null
Show child attributes
Any of
integer
null
configobject | null
Show child attributes
Any of
object
null
filtersobject | null
Show child attributes
Any of
object
null
refresh_intervalinteger | null
Show child attributes
Any of
integer
null

AnalyticsService_ValidationError

object
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

AnalyticsService_WidgetDataDTO

object

Widget data response.

widget_idstringrequired
data_sourcestringrequired
dataanyrequired
cachedbooleanfalse
generated_atstring<date-time>required

AnalyticsService_WidgetResponseDTO

object

Widget response.

idstringrequired
dashboard_idstringrequired
widget_typestringrequired
titlestringrequired
title_keystring | null
Show child attributes
Any of
string
null
chart_typestring | nullrequired
Show child attributes
Any of
string
null
data_sourcestring | nullrequired
Show child attributes
Any of
string
null
query_configobject | nullrequired
Show child attributes
Any of
object
null
position_xintegerrequired
position_yintegerrequired
widthintegerrequired
heightintegerrequired
configobject | nullrequired
Show child attributes
Any of
object
null
filtersobject | nullrequired
Show child attributes
Any of
object
null
refresh_intervalintegerrequired
created_atstring<date-time>required
updated_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null

WorkspaceService_HTTPValidationError

object
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

WorkspaceService_HealthResponseDTO

object
statusstringrequired
servicestringrequired
versionstringrequired
timestampstring<date-time>required

WorkspaceService_MemberAddDTO

object
user_idstringrequired
roleWorkspaceService_WorkspaceMemberRoleowneradmineditorviewerresponderviewer

WorkspaceService_MemberListDTO

object
Show child attributes
idstring<uuid>required
workspace_idstring<uuid>required
user_idstring<uuid>required
tenant_idstring<uuid>required
rolestringrequired
invited_bystring | nullrequired
Show child attributes
Any of
string<uuid>
null
joined_atstring<date-time>required
created_atstring<date-time>required
updated_atstring<date-time>required
user_emailstring | null
Show child attributes
Any of
string
null
user_namestring | null
Show child attributes
Any of
string
null
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

WorkspaceService_MemberResponseDTO

object
idstring<uuid>required
workspace_idstring<uuid>required
user_idstring<uuid>required
tenant_idstring<uuid>required
rolestringrequired
invited_bystring | nullrequired
Show child attributes
Any of
string<uuid>
null
joined_atstring<date-time>required
created_atstring<date-time>required
updated_atstring<date-time>required
user_emailstring | null
Show child attributes
Any of
string
null
user_namestring | null
Show child attributes
Any of
string
null

WorkspaceService_MemberUpdateDTO

object
roleWorkspaceService_WorkspaceMemberRoleowneradmineditorviewerresponderrequired

WorkspaceService_ProjectCreateDTO

object
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null

WorkspaceService_ProjectListDTO

object
Show child attributes
idstring<uuid>required
workspace_idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
statusstringrequired
has_production_activitybooleanfalse
production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

WorkspaceService_ProjectResponseDTO

object
idstring<uuid>required
workspace_idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
statusstringrequired
has_production_activitybooleanfalse
production_activity_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required

WorkspaceService_ProjectStatus

string
WorkspaceService_ProjectStatusdraftactivecompletedarchiveddeleted

WorkspaceService_ProjectUpdateDTO

object
namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
statusWorkspaceService_ProjectStatus | null
Show child attributes
Any of
WorkspaceService_ProjectStatusdraftactivecompletedarchiveddeleted
null

WorkspaceService_ValidationError

object
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

WorkspaceService_WorkspaceCreateDTO

object
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null

WorkspaceService_WorkspaceListDTO

object
Show child attributes
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
statusstringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

WorkspaceService_WorkspaceMemberRole

string
WorkspaceService_WorkspaceMemberRoleowneradmineditorviewerresponder

WorkspaceService_WorkspaceResponseDTO

object
idstring<uuid>required
tenant_idstring<uuid>required
namestringrequired
descriptionstring | nullrequired
Show child attributes
Any of
string
null
statusstringrequired
created_atstring<date-time>required
updated_atstring<date-time>required
created_bystring<uuid>required

WorkspaceService_WorkspaceStatus

string
WorkspaceService_WorkspaceStatusactivearchivedsuspendeddeleted

WorkspaceService_WorkspaceUpdateDTO

object
namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
statusWorkspaceService_WorkspaceStatus | null
Show child attributes
Any of
WorkspaceService_WorkspaceStatusactivearchivedsuspendeddeleted
null

WebhookService_CreateSubscriptionDTO

object

DTO for creating a webhook subscription.

namestringrequired
urlstringrequired
event_typesArray<string>required
survey_idstring | null
Show child attributes
Any of
string
null
project_idstring | null
Show child attributes
Any of
string
null
workspace_idstring | null
Show child attributes
Any of
string
null
secretstring | null
Show child attributes
Any of
string
null

WebhookService_DeliveryListDTO

object

DTO for list of webhook deliveries.

Show child attributes

DTO for webhook delivery response.

idstringrequired
subscription_idstringrequired
event_idstringrequired
event_typestringrequired
statusstringrequired
http_statusinteger | nullrequired
Show child attributes
Any of
integer
null
retry_countintegerrequired
attempted_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
delivered_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
error_messagestring | nullrequired
Show child attributes
Any of
string
null
created_atstring<date-time>required
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

WebhookService_DeliveryResponseDTO

object

DTO for webhook delivery response.

idstringrequired
subscription_idstringrequired
event_idstringrequired
event_typestringrequired
statusstringrequired
http_statusinteger | nullrequired
Show child attributes
Any of
integer
null
retry_countintegerrequired
attempted_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
delivered_atstring | nullrequired
Show child attributes
Any of
string<date-time>
null
error_messagestring | nullrequired
Show child attributes
Any of
string
null
created_atstring<date-time>required

WebhookService_HTTPValidationError

object
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

WebhookService_SubscriptionListDTO

object

DTO for list of webhook subscriptions.

Show child attributes

DTO for webhook subscription response.

idstringrequired
namestringrequired
urlstringrequired
event_typesArray<string>required
survey_idstring | nullrequired
Show child attributes
Any of
string
null
project_idstring | nullrequired
Show child attributes
Any of
string
null
workspace_idstring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
created_atstring<date-time>required
updated_atstring<date-time>required
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

WebhookService_SubscriptionResponseDTO

object

DTO for webhook subscription response.

idstringrequired
namestringrequired
urlstringrequired
event_typesArray<string>required
survey_idstring | nullrequired
Show child attributes
Any of
string
null
project_idstring | nullrequired
Show child attributes
Any of
string
null
workspace_idstring | nullrequired
Show child attributes
Any of
string
null
is_activebooleanrequired
created_atstring<date-time>required
updated_atstring<date-time>required

WebhookService_UpdateSubscriptionDTO

object

DTO for updating a webhook subscription.

namestring | null
Show child attributes
Any of
string
null
urlstring | null
Show child attributes
Any of
string
null
event_typesArray<string> | null
Show child attributes
Any of
Array<string>
null
is_activeboolean | null
Show child attributes
Any of
boolean
null

WebhookService_ValidationError

object
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

OdkBridge_Body_submit_form_submission_post

object
xml_submission_filestringrequired
attachmentsArray<string>

OdkBridge_HTTPValidationError

object
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

OdkBridge_ValidationError

object
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

FormService_BatchNoteCreateDto

object
Show child attributes
field_namestring | null
Show child attributes
Any of
string
null
textstringrequired
categorystringgeneral
client_created_atstring | null
Show child attributes
Any of
string<date-time>
null

FormService_CreateInterviewDto

object
survey_idstring<uuid>required
respondent_idstring | null
Show child attributes
Any of
string<uuid>
null
session_tokenstringrequired
total_questionsinteger0
languagestring | null

Active language code during interview (e.g., 'en', 'es', 'hi')

Show child attributes
Any of
string
null
interview_metadataobject[object Object]
survey_namestring | null
Show child attributes
Any of
string
null
response_ridstring | null

DEPRECATED. The server allocates the permanent RID at interview creation. This field is ignored for NEW interviews and only used as a last-resort backfill for legacy interviews created before server-side allocation.

Show child attributes
Any of
string
null

FormService_DraftConflictResponse

object

Response returned upon an optimistic concurrency conflict (HTTP 409).

errorstringDRAFT_CONFLICT
messagestringrequired
draft_idstring<uuid>required
server_version_tokenintegerrequired
client_version_tokeninteger | null
Show child attributes
Any of
integer
null
server_content_hashstring | null
Show child attributes
Any of
string
null
client_content_hashstring | null
Show child attributes
Any of
string
null
server_device_idstring | null
Show child attributes
Any of
string
null
server_updated_atstringrequired
server_draft_dataobjectrequired

FormService_DraftCreateRequest

object

Request to create a new draft.

idstring | null
Show child attributes
Any of
string<uuid>
null
survey_idstring<uuid>required
session_idstring | null
Show child attributes
Any of
string<uuid>
null
namestring | null
Show child attributes
Any of
string
null
draft_dataobject
current_pageinteger0
survey_version_idstring | null

Pinned immutable survey schema version ID

Show child attributes
Any of
string<uuid>
null
device_idstring | null
Show child attributes
Any of
string
null
content_hashstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null

FormService_DraftDeltaResponse

object

Response containing delta sync drafts since cursor.

Show child attributes

Response containing draft information.

idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
user_idstring | null
Show child attributes
Any of
string<uuid>
null
device_idstring | null
Show child attributes
Any of
string
null
survey_idstring<uuid>required
session_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
namestring | null
Show child attributes
Any of
string
null
draft_dataobjectrequired
current_pageintegerrequired
completed_fields_countintegerrequired
total_fields_countinteger | null
Show child attributes
Any of
integer
null
completion_percentageintegerrequired
statusstringrequired
version_tokeninteger1
content_hashstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
is_deletedbooleanfalse
deleted_atstring | null
Show child attributes
Any of
string<date-time>
null
validation_errorsArray<object>
is_auto_savedbooleanfalse
reconciliation_grant_idstring | null
Show child attributes
Any of
string<uuid>
null
reconciled_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
server_timestampstringrequired
totalintegerrequired
has_nextbooleanrequired
next_cursorstring | null
Show child attributes
Any of
string
null

FormService_DraftDrainRevokedRequest

object

Request to drain an offline draft whose user's assignment was revoked.

idstring<uuid>required

Unique draft identifier

survey_idstring<uuid>required

Survey identifier

survey_version_idstring | null

Pinned survey schema version ID

Show child attributes
Any of
string<uuid>
null
namestring | null
Show child attributes
Any of
string
null
draft_dataobject

Answers captured in draft

current_pageinteger0
device_idstringrequired

Attribution device ID (must not be placeholder)

version_tokeninteger>= 11

Client version token

content_hashstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
reconciliation_grant_idstring | null

Reconciliation grant ID

Show child attributes
Any of
string<uuid>
null
lastModifiedAtstring<date-time>required

Timestamp of the last offline edit to the draft

reconciliation_reasonstring | null

Optional domain note or reason

Show child attributes
Any of
string
null

FormService_DraftListResponse

object

Response containing list of drafts.

Show child attributes

Response containing draft information.

idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
user_idstring | null
Show child attributes
Any of
string<uuid>
null
device_idstring | null
Show child attributes
Any of
string
null
survey_idstring<uuid>required
session_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
namestring | null
Show child attributes
Any of
string
null
draft_dataobjectrequired
current_pageintegerrequired
completed_fields_countintegerrequired
total_fields_countinteger | null
Show child attributes
Any of
integer
null
completion_percentageintegerrequired
statusstringrequired
version_tokeninteger1
content_hashstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
is_deletedbooleanfalse
deleted_atstring | null
Show child attributes
Any of
string<date-time>
null
validation_errorsArray<object>
is_auto_savedbooleanfalse
reconciliation_grant_idstring | null
Show child attributes
Any of
string<uuid>
null
reconciled_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
expires_atstring | null
Show child attributes
Any of
string<date-time>
null
totalintegerrequired
skipinteger0
limitinteger20
has_nextbooleanrequired
has_previousbooleanrequired

FormService_DraftResponse

object

Response containing draft information.

idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
user_idstring | null
Show child attributes
Any of
string<uuid>
null
device_idstring | null
Show child attributes
Any of
string
null
survey_idstring<uuid>required
session_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
namestring | null
Show child attributes
Any of
string
null
draft_dataobjectrequired
current_pageintegerrequired
completed_fields_countintegerrequired
total_fields_countinteger | null
Show child attributes
Any of
integer
null
completion_percentageintegerrequired
statusstringrequired
version_tokeninteger1
content_hashstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null
is_deletedbooleanfalse
deleted_atstring | null
Show child attributes
Any of
string<date-time>
null
validation_errorsArray<object>
is_auto_savedbooleanfalse
reconciliation_grant_idstring | null
Show child attributes
Any of
string<uuid>
null
reconciled_atstring | null
Show child attributes
Any of
string<date-time>
null
created_atstring<date-time>required
updated_atstring<date-time>required
expires_atstring | null
Show child attributes
Any of
string<date-time>
null

FormService_DraftUpdateRequest

object

Request to update an existing draft.

draft_dataobject | null
Show child attributes
Any of
object
null
namestring | null
Show child attributes
Any of
string
null
current_pageinteger | null
Show child attributes
Any of
integer
null
is_auto_savebooleanfalse
version_tokeninteger>= 11

Expected current server version token

device_idstring | null
Show child attributes
Any of
string
null
content_hashstring | null
Show child attributes
Any of
string
null
idempotency_keystring | null
Show child attributes
Any of
string
null

FormService_EvaluateExpressionRequest

object

Request to evaluate an XPath expression.

session_tokenstringrequired

Form session token

expressionstringrequired

XPath expression to evaluate

form_dataobject

Form data for variable resolution

FormService_EvaluateExpressionResponse

object

Response for expression evaluation.

successbooleanrequired
resultany
errorstring | null
Show child attributes
Any of
string
null

FormService_FormManifestResponse

object

Response for offline form manifest.

survey_idstring<uuid>required
version_idstring | null
Show child attributes
Any of
string<uuid>
null
manifest_versionstringrequired
form_filesArray<object>required
Show child attributes
[key: string]string
media_filesArray<object>required
Show child attributes
[key: string]string
last_updatedstring<date-time>required

FormService_FormRenderResponse

object

Response containing rendered form data.

session_idstring<uuid>required
session_tokenstringrequired
survey_idstring<uuid>required
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
form_schemaobjectrequired
form_htmlstring | null
Show child attributes
Any of
string
null
prefill_dataobject | null
Show child attributes
Any of
object
null
total_pagesintegerrequired
current_pageinteger0
expires_atstring<date-time>required
supports_offlinebooleanfalse
lookup_dataobject | null
Show child attributes
Any of
[key: string]object
Show child attributes
[key: string]object
null
trigger_questionsArray<string>
referee_questionsobject[object Object]
Show child attributes
[key: string]Array<string>

FormService_FormSubmitRequest

object

Request to submit a completed form.

session_tokenstringrequired
form_dataobjectrequired
is_completebooleantrue
current_pageinteger | null
Show child attributes
Any of
integer
null
client_timestampstring | null
Show child attributes
Any of
string<date-time>
null
duration_secondsinteger | null

Active form filling duration in seconds, excluding paused time

Show child attributes
Any of
integer[0, 2592000]
null
offline_submissionbooleanfalse
offline_queued_atstring | null
Show child attributes
Any of
string<date-time>
null
edit_response_idstring | null
Show child attributes
Any of
string
null
version_idstring | null
Show child attributes
Any of
string<uuid>
null
interview_idstring | null

Interview execution ID (cross-service correlation)

Show child attributes
Any of
string<uuid>
null
languagestring | null

Language code used for this submission (e.g., 'en', 'es', 'fr')

Show child attributes
Any of
string
null

FormService_FormSubmitResponse

object

Response after form submission.

successbooleanrequired
response_idstring | null
Show child attributes
Any of
string<uuid>
null
session_idstring<uuid>required
version_idstring | null
Show child attributes
Any of
string<uuid>
null
submitted_atstring<date-time>required
validation_errorsArray<object>
messagestring | null
Show child attributes
Any of
string
null
response_languagestring | null
Show child attributes
Any of
string
null

FormService_FormValidateRequest

object

Request to validate form data without submitting.

session_tokenstringrequired
form_dataobjectrequired
validate_allbooleanfalse
fields_to_validateArray<string> | null
Show child attributes
Any of
Array<string>
null

FormService_FormValidateResponse

object

Response with validation results.

is_validbooleanrequired
errorsArray<object>
warningsArray<object>
completion_percentageinteger0

FormService_HTTPValidationError

object
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

FormService_InterviewDto

object
idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_idstring<uuid>required
respondent_idstring | null
Show child attributes
Any of
string<uuid>
null
interviewer_idstring | null
Show child attributes
Any of
string<uuid>
null
session_idstring | null
Show child attributes
Any of
string<uuid>
null
session_tokenstringrequired
statusstringrequired
started_atstring | null
Show child attributes
Any of
string<date-time>
null
paused_atstring | null
Show child attributes
Any of
string<date-time>
null
completed_atstring | null
Show child attributes
Any of
string<date-time>
null
terminated_atstring | null
Show child attributes
Any of
string<date-time>
null
termination_reasonstring | null
Show child attributes
Any of
string
null
last_heartbeat_atstring | null
Show child attributes
Any of
string<date-time>
null
languagestring | null
Show child attributes
Any of
string
null
interview_metadataobject[object Object]
current_pageinteger0
answered_countinteger0
total_questionsinteger0
survey_namestring | null
Show child attributes
Any of
string
null
response_ridstring | null
Show child attributes
Any of
string
null
response_uidstring | null
Show child attributes
Any of
string
null
current_response_idstring | null
Show child attributes
Any of
string<uuid>
null
created_atstring<date-time>required
updated_atstring<date-time>required

FormService_InterviewEventDto

object
idstring<uuid>required
interview_idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
from_statusstring | null
Show child attributes
Any of
string
null
to_statusstringrequired
triggered_bystring | null
Show child attributes
Any of
string<uuid>
null
event_metadataobject[object Object]
created_atstring<date-time>required

FormService_InterviewListResponse

object
Show child attributes
idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
survey_idstring<uuid>required
respondent_idstring | null
Show child attributes
Any of
string<uuid>
null
interviewer_idstring | null
Show child attributes
Any of
string<uuid>
null
session_idstring | null
Show child attributes
Any of
string<uuid>
null
session_tokenstringrequired
statusstringrequired
started_atstring | null
Show child attributes
Any of
string<date-time>
null
paused_atstring | null
Show child attributes
Any of
string<date-time>
null
completed_atstring | null
Show child attributes
Any of
string<date-time>
null
terminated_atstring | null
Show child attributes
Any of
string<date-time>
null
termination_reasonstring | null
Show child attributes
Any of
string
null
last_heartbeat_atstring | null
Show child attributes
Any of
string<date-time>
null
languagestring | null
Show child attributes
Any of
string
null
interview_metadataobject[object Object]
current_pageinteger0
answered_countinteger0
total_questionsinteger0
survey_namestring | null
Show child attributes
Any of
string
null
response_ridstring | null
Show child attributes
Any of
string
null
response_uidstring | null
Show child attributes
Any of
string
null
current_response_idstring | null
Show child attributes
Any of
string<uuid>
null
created_atstring<date-time>required
updated_atstring<date-time>required
totalintegerrequired
skipinteger0
limitinteger20
has_nextbooleanfalse
has_previousbooleanfalse

FormService_NoteCreateDto

object
field_namestring | null
Show child attributes
Any of
string
null
textstringrequired
categorystringgeneral
client_created_atstring | null
Show child attributes
Any of
string<date-time>
null

FormService_NoteListResponse

object
Show child attributes
idstring<uuid>required
interview_idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
field_namestring | null
Show child attributes
Any of
string
null
textstringrequired
categorystringrequired
author_idstring | null
Show child attributes
Any of
string<uuid>
null
pinnedbooleanfalse
created_atstring<date-time>required
updated_atstring<date-time>required
client_created_atstring | null
Show child attributes
Any of
string<date-time>
null
totalintegerrequired

FormService_NoteResponseDto

object
idstring<uuid>required
interview_idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
field_namestring | null
Show child attributes
Any of
string
null
textstringrequired
categorystringrequired
author_idstring | null
Show child attributes
Any of
string<uuid>
null
pinnedbooleanfalse
created_atstring<date-time>required
updated_atstring<date-time>required
client_created_atstring | null
Show child attributes
Any of
string<date-time>
null

FormService_NoteUpdateDto

object
textstring | null
Show child attributes
Any of
string
null
categorystring | null
Show child attributes
Any of
string
null
pinnedboolean | null
Show child attributes
Any of
boolean
null
field_namestring | null
Show child attributes
Any of
string
null

FormService_PrefillResponse

object

Response containing pre-fill data from a previous response.

prefill_dataobject

Field name to value mapping for pre-fill

source_response_idstringrequired

ID of the source response

source_submitted_atstring | null

When the source response was submitted

Show child attributes
Any of
string
null
prefill_fieldsArray<string>

List of field names that were pre-filled

FormService_RidBlockAllocationRequest

object

Request payload for server-allocated device-bound RID block (R25 / AD-3).

survey_idstring<uuid>required

ID of the survey for which RID block is requested

device_idstringrequired

Unique client device ID (non-placeholder)

block_sizeinteger[1, 200]50

Number of sequential RIDs to allocate

idempotency_keystring | null

Client idempotency key for safe retries

Show child attributes
Any of
string
null

FormService_RidBlockListResponse

object

List of RID block allocations.

Show child attributes

Server-allocated device-bound RID block response (matches mobile RidBlockDto).

idstring<uuid>required
tenant_idstring<uuid>required
survey_idstring<uuid>required
user_idstring<uuid>required
user_codestringrequired
device_idstringrequired
start_seqintegerrequired
end_seqintegerrequired
current_seqintegerrequired
is_exhaustedbooleanfalse
idempotency_keystring | null
Show child attributes
Any of
string
null
created_atstringrequired
totalintegerrequired

FormService_RidBlockResponse

object

Server-allocated device-bound RID block response (matches mobile RidBlockDto).

idstring<uuid>required
tenant_idstring<uuid>required
survey_idstring<uuid>required
user_idstring<uuid>required
user_codestringrequired
device_idstringrequired
start_seqintegerrequired
end_seqintegerrequired
current_seqintegerrequired
is_exhaustedbooleanfalse
idempotency_keystring | null
Show child attributes
Any of
string
null
created_atstringrequired

FormService_SessionListResponse

object

Response containing list of sessions.

Show child attributes

Response containing session information.

idstring<uuid>required
survey_idstring<uuid>required
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
session_tokenstringrequired
statusstringrequired
current_pageintegerrequired
total_pagesinteger | null
Show child attributes
Any of
integer
null
progress_percentageintegerrequired
is_offlinebooleanrequired
started_atstring<date-time>required
last_activity_atstring<date-time>required
expires_atstring<date-time>required
completed_atstring | null
Show child attributes
Any of
string<date-time>
null
response_idstring | null
Show child attributes
Any of
string<uuid>
null
metadataobject[object Object]
totalintegerrequired
skipinteger0
limitinteger20
has_nextbooleanrequired
has_previousbooleanrequired

FormService_SessionResponse

object

Response containing session information.

idstring<uuid>required
survey_idstring<uuid>required
survey_version_idstring | null
Show child attributes
Any of
string<uuid>
null
session_tokenstringrequired
statusstringrequired
current_pageintegerrequired
total_pagesinteger | null
Show child attributes
Any of
integer
null
progress_percentageintegerrequired
is_offlinebooleanrequired
started_atstring<date-time>required
last_activity_atstring<date-time>required
expires_atstring<date-time>required
completed_atstring | null
Show child attributes
Any of
string<date-time>
null
response_idstring | null
Show child attributes
Any of
string<uuid>
null
metadataobject[object Object]

FormService_TerminationDto

object
idstring<uuid>required
interview_idstring<uuid>required
tenant_idstring | null
Show child attributes
Any of
string<uuid>
null
termination_reasonstringrequired
explanatory_textstring | null
Show child attributes
Any of
string
null
retain_partial_databooleanrequired
discard_databooleanrequired
notify_supervisorbooleanrequired
supervisor_notifiedbooleanrequired
supervisor_notified_atstring | null
Show child attributes
Any of
string<date-time>
null
data_action_takenstring | null
Show child attributes
Any of
string
null
terminated_bystring<uuid>required
created_atstring<date-time>required

FormService_TerminationPolicyDto

object
retain_partial_databooleanrequired
discard_databooleanrequired
notify_supervisorbooleanrequired
requires_explanatory_textbooleanrequired

FormService_TerminationReasonOptionDto

object
codestringrequired
display_labelstringrequired
Show child attributes
retain_partial_databooleanrequired
discard_databooleanrequired
notify_supervisorbooleanrequired
requires_explanatory_textbooleanrequired

FormService_TransitionInterviewDto

object
to_statusstringrequired
termination_reasonstring | null
Show child attributes
Any of
string
null
explanatory_textstring | null
Show child attributes
Any of
string
null
form_dataobject | null
Show child attributes
Any of
object
null
is_completeboolean | null
Show child attributes
Any of
boolean
null
current_pageinteger | null
Show child attributes
Any of
integer
null
version_idstring | null
Show child attributes
Any of
string
null
edit_response_idstring | null
Show child attributes
Any of
string
null
duration_secondsinteger | null
Show child attributes
Any of
integer
null
question_paradataobject | null

Phase-1 question paradata (T). Additive — merged into InterviewExecution.interview_metadata.question_paradata before the transition, and forwarded to data-service response_metadata at completion/retained termination. Existing metadata keys are preserved.

Show child attributes
Any of
object
null

FormService_UpdateInterviewDto

object
respondent_idstring | null
Show child attributes
Any of
string<uuid>
null
current_pageinteger | null
Show child attributes
Any of
integer
null
answered_countinteger | null
Show child attributes
Any of
integer
null
total_questionsinteger | null
Show child attributes
Any of
integer
null
interview_metadataobject | null
Show child attributes
Any of
object
null

FormService_ValidateFieldRequest

object

Request to validate a single field.

session_tokenstringrequired

Form session token

field_namestringrequired

Name of the field to validate

field_valueanyrequired

Current value of the field

form_dataobject

Complete form data

FormService_ValidateFieldResponse

object

Response for single field validation.

is_validbooleanrequired
fieldstringrequired
errorsArray<object>

FormService_ValidateFormRequest

object

Request to validate entire form.

session_tokenstringrequired

Form session token

form_dataobjectrequired

Form data to validate

fields_to_validateArray<string> | null

Optional list of fields to validate (all if not specified)

Show child attributes
Any of
Array<string>
null

FormService_ValidateFormResponse

object

Response for form validation.

is_validbooleanrequired
errorsArray<object>
total_fieldsintegerrequired
valid_fieldsintegerrequired
invalid_fieldsintegerrequired

FormService_ValidationError

object
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

MediaService_AssetUpdateRequest

object
original_filenamestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
alt_textstring | null
Show child attributes
Any of
string
null
tagsArray<string> | null
Show child attributes
Any of
Array<string>
null
is_publicboolean | null
Show child attributes
Any of
boolean
null

MediaService_Body_upload_batch_api_v1_media_upload_batch_post

object
filesArray<string>required
survey_idstring | null
Show child attributes
Any of
string
null
response_idstring | null
Show child attributes
Any of
string
null
entity_typestring | null
Show child attributes
Any of
string
null
entity_idstring | null
Show child attributes
Any of
string
null
user_namestring | null
Show child attributes
Any of
string
null
device_idstring | null

Device that recorded this media (used for post-closure grant validation)

Show child attributes
Any of
string
null

MediaService_Body_upload_chunk_api_v1_media_upload_chunk_post

object
filestringrequired
upload_idstringrequired

Client-generated stable upload ID (media local ID)

chunk_indexinteger>= 0required

Zero-based chunk index

total_chunksinteger[1, 100000]required

Total number of chunks

file_namestringrequired
mime_typestringrequired
survey_idstring | null

Survey this media belongs to (REQUIRED for production-bound uploads)

Show child attributes
Any of
string
null
response_idstring | null

Client-local response reference (metadata only — never the enforcement key)

Show child attributes
Any of
string
null
checksumstring | null

Expected SHA-256 of the FULL assembled file

Show child attributes
Any of
string
null
device_idstring | null

Device that recorded this media (used for post-closure grant validation)

Show child attributes
Any of
string
null

MediaService_Body_upload_file_api_v1_media_upload_post

object
filestringrequired
survey_idstring | null
Show child attributes
Any of
string
null
response_idstring | null
Show child attributes
Any of
string
null
entity_typestring | null
Show child attributes
Any of
string
null
entity_idstring | null
Show child attributes
Any of
string
null
is_publicbooleanfalse
descriptionstring | null
Show child attributes
Any of
string
null
survey_namestring | null
Show child attributes
Any of
string
null
question_namestring | null
Show child attributes
Any of
string
null
user_namestring | null
Show child attributes
Any of
string
null
device_idstring | null

Device that recorded this media (used for post-closure grant validation)

Show child attributes
Any of
string
null
checksumstring | null

Expected SHA-256 checksum of file

Show child attributes
Any of
string
null

MediaService_Body_upload_library_file_api_v1_media_library_upload_post

object
filestringrequired

Media file to add to the library

descriptionstring | null

Optional description

Show child attributes
Any of
string
null
survey_namestring | null

Optional survey name for renaming

Show child attributes
Any of
string
null
question_namestring | null

Optional question name for renaming

Show child attributes
Any of
string
null
response_idstring | null

Optional response ID for renaming

Show child attributes
Any of
string
null

MediaService_Body_upload_library_files_batch_api_v1_media_library_upload_batch_post

object
filesArray<string>required

Media files to add to the library

MediaService_HTTPValidationError

object
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

MediaService_ValidationError

object
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

NotificationService_AWSConfig

object
aws_regionstring | null
Show child attributes
Any of
string
null
aws_access_key_idstring | null
Show child attributes
Any of
string
null
aws_secret_access_keystring | null
Show child attributes
Any of
string
null
aws_origination_numberstring | null
Show child attributes
Any of
string
null

NotificationService_AWSConfigResponse

object
aws_regionstring | null
Show child attributes
Any of
string
null
aws_access_key_idstring | null••••••••
Show child attributes
Any of
string
null
aws_secret_access_keystring | null••••••••
Show child attributes
Any of
string
null
aws_origination_numberstring | null
Show child attributes
Any of
string
null

NotificationService_AfricasTalkingConfig

object
africas_talking_usernamestring | null
Show child attributes
Any of
string
null
africas_talking_api_keystring | null
Show child attributes
Any of
string
null
africas_talking_shortcodestring | null
Show child attributes
Any of
string
null

NotificationService_AfricasTalkingConfigResponse

object
africas_talking_usernamestring | null
Show child attributes
Any of
string
null
africas_talking_api_keystring | null••••••••
Show child attributes
Any of
string
null
africas_talking_shortcodestring | null
Show child attributes
Any of
string
null

NotificationService_CancelNotificationsRequest

object
recipientstring<email>required

NotificationService_GenericHttpConfig

object
generic_sms_endpointstring | null
Show child attributes
Any of
string
null
generic_sms_methodstringPOSTGETPOST
generic_sms_auth_header_namestring | null
Show child attributes
Any of
string
null
generic_sms_auth_header_valuestring | null
Show child attributes
Any of
string
null
generic_sms_body_templatestring | null
Show child attributes
Any of
string
null

NotificationService_GenericHttpConfigResponse

object
generic_sms_endpointstring | null
Show child attributes
Any of
string
null
generic_sms_methodstring | null
Show child attributes
Any of
string
null
generic_sms_auth_header_namestring | null
Show child attributes
Any of
string
null
generic_sms_auth_header_valuestring | null••••••••
Show child attributes
Any of
string
null
generic_sms_body_templatestring | null
Show child attributes
Any of
string
null

NotificationService_HTTPValidationError

object
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

NotificationService_KaleyraConfig

object
kaleyra_api_keystring | null
Show child attributes
Any of
string
null
kaleyra_account_sidstring | null
Show child attributes
Any of
string
null
kaleyra_sender_idstring | null
Show child attributes
Any of
string
null

NotificationService_KaleyraConfigResponse

object
kaleyra_api_keystring | null••••••••
Show child attributes
Any of
string
null
kaleyra_account_sidstring | null
Show child attributes
Any of
string
null
kaleyra_sender_idstring | null
Show child attributes
Any of
string
null

NotificationService_MSG91Config

object
msg91_api_keystring | null
Show child attributes
Any of
string
null
msg91_sender_idstring | null
Show child attributes
Any of
string
null
msg91_flow_idstring | null
Show child attributes
Any of
string
null
msg91_routestring144

NotificationService_MSG91ConfigResponse

object
msg91_api_keystring | null••••••••
Show child attributes
Any of
string
null
msg91_sender_idstring | null
Show child attributes
Any of
string
null
msg91_flow_idstring | null
Show child attributes
Any of
string
null
msg91_routestring | null
Show child attributes
Any of
string
null

NotificationService_NotificationSettingsRequest

object
smtpNotificationService_SMTPConfig | null
Show child attributes
Any of
smtp_hoststring | null
Show child attributes
Any of
string
null
smtp_portinteger | null587
Show child attributes
Any of
integer[1, 65535]
null
smtp_usernamestring | null
Show child attributes
Any of
string
null
smtp_passwordstring | null
Show child attributes
Any of
string
null
smtp_from_emailstring | null
Show child attributes
Any of
string
null
smtp_from_namestring | null
Show child attributes
Any of
string
null
smtp_use_tlsbooleantrue
null
sms_providerstringmockaws_end_user_messagingtwiliomsg91kaleyraafricas_talkinggeneric_httpmock
awsNotificationService_AWSConfig | null
Show child attributes
Any of
aws_regionstring | null
Show child attributes
Any of
string
null
aws_access_key_idstring | null
Show child attributes
Any of
string
null
aws_secret_access_keystring | null
Show child attributes
Any of
string
null
aws_origination_numberstring | null
Show child attributes
Any of
string
null
null
twilioNotificationService_TwilioConfig | null
Show child attributes
Any of
twilio_account_sidstring | null
Show child attributes
Any of
string
null
twilio_auth_tokenstring | null
Show child attributes
Any of
string
null
twilio_from_numberstring | null
Show child attributes
Any of
string
null
null
msg91NotificationService_MSG91Config | null
Show child attributes
Any of
msg91_api_keystring | null
Show child attributes
Any of
string
null
msg91_sender_idstring | null
Show child attributes
Any of
string
null
msg91_flow_idstring | null
Show child attributes
Any of
string
null
msg91_routestring144
null
kaleyraNotificationService_KaleyraConfig | null
Show child attributes
Any of
kaleyra_api_keystring | null
Show child attributes
Any of
string
null
kaleyra_account_sidstring | null
Show child attributes
Any of
string
null
kaleyra_sender_idstring | null
Show child attributes
Any of
string
null
null
africas_talkingNotificationService_AfricasTalkingConfig | null
Show child attributes
Any of
africas_talking_usernamestring | null
Show child attributes
Any of
string
null
africas_talking_api_keystring | null
Show child attributes
Any of
string
null
africas_talking_shortcodestring | null
Show child attributes
Any of
string
null
null
generic_httpNotificationService_GenericHttpConfig | null
Show child attributes
Any of
generic_sms_endpointstring | null
Show child attributes
Any of
string
null
generic_sms_methodstringPOSTGETPOST
generic_sms_auth_header_namestring | null
Show child attributes
Any of
string
null
generic_sms_auth_header_valuestring | null
Show child attributes
Any of
string
null
generic_sms_body_templatestring | null
Show child attributes
Any of
string
null
null
slackNotificationService_SlackConfig | null
Show child attributes
Any of
slack_webhook_urlstring | null
Show child attributes
Any of
string
null
null

NotificationService_NotificationSettingsResponse

object
sms_providerstringrequired
Show child attributes
smtp_hoststring | null
Show child attributes
Any of
string
null
smtp_portinteger | null
Show child attributes
Any of
integer
null
smtp_usernamestring | null
Show child attributes
Any of
string
null
smtp_passwordstring | null••••••••
Show child attributes
Any of
string
null
smtp_from_emailstring | null
Show child attributes
Any of
string
null
smtp_from_namestring | null
Show child attributes
Any of
string
null
smtp_use_tlsboolean | null
Show child attributes
Any of
boolean
null
awsNotificationService_AWSConfigResponse | null
Show child attributes
Any of
aws_regionstring | null
Show child attributes
Any of
string
null
aws_access_key_idstring | null••••••••
Show child attributes
Any of
string
null
aws_secret_access_keystring | null••••••••
Show child attributes
Any of
string
null
aws_origination_numberstring | null
Show child attributes
Any of
string
null
null
twilioNotificationService_TwilioConfigResponse | null
Show child attributes
Any of
twilio_account_sidstring | null
Show child attributes
Any of
string
null
twilio_auth_tokenstring | null••••••••
Show child attributes
Any of
string
null
twilio_from_numberstring | null
Show child attributes
Any of
string
null
null
msg91NotificationService_MSG91ConfigResponse | null
Show child attributes
Any of
msg91_api_keystring | null••••••••
Show child attributes
Any of
string
null
msg91_sender_idstring | null
Show child attributes
Any of
string
null
msg91_flow_idstring | null
Show child attributes
Any of
string
null
msg91_routestring | null
Show child attributes
Any of
string
null
null
kaleyraNotificationService_KaleyraConfigResponse | null
Show child attributes
Any of
kaleyra_api_keystring | null••••••••
Show child attributes
Any of
string
null
kaleyra_account_sidstring | null
Show child attributes
Any of
string
null
kaleyra_sender_idstring | null
Show child attributes
Any of
string
null
null
africas_talkingNotificationService_AfricasTalkingConfigResponse | null
Show child attributes
Any of
africas_talking_usernamestring | null
Show child attributes
Any of
string
null
africas_talking_api_keystring | null••••••••
Show child attributes
Any of
string
null
africas_talking_shortcodestring | null
Show child attributes
Any of
string
null
null
generic_httpNotificationService_GenericHttpConfigResponse | null
Show child attributes
Any of
generic_sms_endpointstring | null
Show child attributes
Any of
string
null
generic_sms_methodstring | null
Show child attributes
Any of
string
null
generic_sms_auth_header_namestring | null
Show child attributes
Any of
string
null
generic_sms_auth_header_valuestring | null••••••••
Show child attributes
Any of
string
null
generic_sms_body_templatestring | null
Show child attributes
Any of
string
null
null
slackNotificationService_SlackConfigResponse | null
Show child attributes
Any of
slack_webhook_urlstring | null••••••••
Show child attributes
Any of
string
null
null
is_activebooleanrequired
created_atstringrequired
updated_atstringrequired

NotificationService_NotificationType

string
NotificationService_NotificationTypeaccount_activationpassword_reset_requestpassword_changedemail_change_confirmationemail_changed_notifymagic_link_loginaudit_security_alertdns_notificationwelcome_emailtenant_activedownload_readymedia_export_ready

NotificationService_SMTPConfig

object
smtp_hoststring | null
Show child attributes
Any of
string
null
smtp_portinteger | null587
Show child attributes
Any of
integer[1, 65535]
null
smtp_usernamestring | null
Show child attributes
Any of
string
null
smtp_passwordstring | null
Show child attributes
Any of
string
null
smtp_from_emailstring | null
Show child attributes
Any of
string
null
smtp_from_namestring | null
Show child attributes
Any of
string
null
smtp_use_tlsbooleantrue

NotificationService_SMTPConfigResponse

object
smtp_hoststring | null
Show child attributes
Any of
string
null
smtp_portinteger | null
Show child attributes
Any of
integer
null
smtp_usernamestring | null
Show child attributes
Any of
string
null
smtp_passwordstring | null••••••••
Show child attributes
Any of
string
null
smtp_from_emailstring | null
Show child attributes
Any of
string
null
smtp_from_namestring | null
Show child attributes
Any of
string
null
smtp_use_tlsboolean | null
Show child attributes
Any of
boolean
null

NotificationService_SendBatchRequest

object
Show child attributes
channelstringemailsmsslackrequired
recipientstringrequired
subjectstring | null
Show child attributes
Any of
string
null
bodystringrequired
template_idstring | null
Show child attributes
Any of
string
null
template_varsobject | null
Show child attributes
Any of
object
null
user_idstring | null
Show child attributes
Any of
string
null
notification_typeNotificationService_NotificationType | string | null
Show child attributes
Any of
NotificationService_NotificationTypeaccount_activationpassword_reset_requestpassword_changedemail_change_confirmationemail_changed_notifymagic_link_loginaudit_security_alertdns_notificationwelcome_emailtenant_activedownload_readymedia_export_ready
string
null
metadataobject | null
Show child attributes
Any of
object
null

NotificationService_SendNotificationRequest

object
channelstringemailsmsslackrequired
recipientstringrequired
subjectstring | null
Show child attributes
Any of
string
null
bodystringrequired
template_idstring | null
Show child attributes
Any of
string
null
template_varsobject | null
Show child attributes
Any of
object
null
user_idstring | null
Show child attributes
Any of
string
null
notification_typeNotificationService_NotificationType | string | null
Show child attributes
Any of
NotificationService_NotificationTypeaccount_activationpassword_reset_requestpassword_changedemail_change_confirmationemail_changed_notifymagic_link_loginaudit_security_alertdns_notificationwelcome_emailtenant_activedownload_readymedia_export_ready
string
null
metadataobject | null
Show child attributes
Any of
object
null

NotificationService_SlackConfig

object
slack_webhook_urlstring | null
Show child attributes
Any of
string
null

NotificationService_SlackConfigResponse

object
slack_webhook_urlstring | null••••••••
Show child attributes
Any of
string
null

NotificationService_TemplateCreateRequest

object
namestringrequired
channelstringrequired
subject_templatestring | null
Show child attributes
Any of
string
null
body_templatestringrequired
variablesArray<string> | null
Show child attributes
Any of
Array<string>
null

NotificationService_TemplateLivePreviewRequest

object
subject_templatestring | null
Show child attributes
Any of
string
null
body_templatestringrequired
variablesobject[object Object]
Show child attributes
[key: string]string

NotificationService_TemplatePreviewRequest

object
variablesobject[object Object]
Show child attributes
[key: string]string

NotificationService_TemplateUpdateRequest

object
namestring | null
Show child attributes
Any of
string
null
subject_templatestring | null
Show child attributes
Any of
string
null
body_templatestring | null
Show child attributes
Any of
string
null
variablesArray<string> | null
Show child attributes
Any of
Array<string>
null
is_activeboolean | null
Show child attributes
Any of
boolean
null

NotificationService_TestNotificationRequest

object
channelstringemailsmsslackrequired
recipientstringrequired
subjectstring | nullTest Notification
Show child attributes
Any of
string
null
bodystringThis is a test notification from MQUAD Notification Service.

NotificationService_TwilioConfig

object
twilio_account_sidstring | null
Show child attributes
Any of
string
null
twilio_auth_tokenstring | null
Show child attributes
Any of
string
null
twilio_from_numberstring | null
Show child attributes
Any of
string
null

NotificationService_TwilioConfigResponse

object
twilio_account_sidstring | null
Show child attributes
Any of
string
null
twilio_auth_tokenstring | null••••••••
Show child attributes
Any of
string
null
twilio_from_numberstring | null
Show child attributes
Any of
string
null

NotificationService_UserPreferenceRequest

object
channelstringrequired
is_enabledbooleantrue
quiet_hours_startstring | null
Show child attributes
Any of
string
null
quiet_hours_endstring | null
Show child attributes
Any of
string
null
frequencystringimmediate

NotificationService_ValidationError

object
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

AuditService_AuditLogCreateRequest

object
event_idstring | null

Unique event ID for idempotency

Show child attributes
Any of
string
null
event_typestring | null

Type of event (e.g., user.created)

Show child attributes
Any of
string
null
log_schema_versionstring | null1.0

Schema version

Show child attributes
Any of
string
null
service_namestringrequired

Name of the service producing the event

actionstringrequired

Action performed (create, update, delete, read, login, etc.)

actor_typestring | null

Type of actor

Show child attributes
Any of
stringuseradminsysteminterviewersupervisor
null
actor_idstring | null

ID of the actor

Show child attributes
Any of
string
null
actor_emailstring | null

Email of the actor

Show child attributes
Any of
string
null
actor_namestring | null

Display name of the actor

Show child attributes
Any of
string
null
tenant_idstring | null

Tenant ID

Show child attributes
Any of
string
null
tenant_namestring | null

Display name of the tenant

Show child attributes
Any of
string
null
resource_typestring | null

Type of resource

Show child attributes
Any of
string
null
resource_idstring | null

ID of the resource

Show child attributes
Any of
string
null
resource_namestring | null

Display name of the resource

Show child attributes
Any of
string
null
statusstring | nullsuccess

Event status

Show child attributes
Any of
stringsuccessfailureerror
null
categorystring | null

Event category for filtering

Show child attributes
Any of
stringAUTHENTICATIONUSER_MANAGEMENTROLE_ACCESSSURVEY_LIFECYCLERESPONSE_DATAINTERVIEWCONSENTEXPORTINTEGRATIONSYNCMEDIACONFIGURATIONSECURITYSYSTEMREVIEWNOTIFICATIONCOMPLIANCE
null
severitystring | nullINFO

Event severity level

Show child attributes
Any of
stringINFOWARNINGCRITICAL
null
descriptionstring | null

Human-readable event description

Show child attributes
Any of
string
null
failure_reasonstring | null

Reason for failure if status is failure/error

Show child attributes
Any of
string
null
correlation_idstring | null

Cross-service correlation ID

Show child attributes
Any of
string
null
ip_addressstring | null

Client IP address

Show child attributes
Any of
string
null
user_agentstring | null

Client user agent

Show child attributes
Any of
string
null
request_idstring | null

Request ID for correlation

Show child attributes
Any of
string
null
trace_idstring | null

Trace ID for cross-service correlation

Show child attributes
Any of
string
null
parent_trace_idstring | null

Parent trace ID

Show child attributes
Any of
string
null
http_methodstring | null

HTTP method

Show child attributes
Any of
string
null
http_pathstring | null

HTTP path

Show child attributes
Any of
string
null
http_statusinteger | null

HTTP status code

Show child attributes
Any of
integer
null
duration_msinteger | null

Request duration in milliseconds

Show child attributes
Any of
integer
null
metadataobject | null

Additional event metadata

Show child attributes
Any of
object
null
event_idempotency_keystring | null

Key for deduplication

Show child attributes
Any of
string
null
data_classificationstring | nullinternal

Data classification level

Show child attributes
Any of
stringpublicinternalsensitiverestricted
null
Example
{
  "action": "create",
  "actor_email": "admin@acme.org",
  "actor_id": "550e8400-e29b-41d4-a716-446655440001",
  "actor_type": "admin",
  "data_classification": "internal",
  "duration_ms": 45,
  "event_id": "550e8400-e29b-41d4-a716-446655440000",
  "event_type": "user.created",
  "http_method": "POST",
  "http_path": "/api/v1/users",
  "http_status": 201,
  "ip_address": "192.168.1.1",
  "log_schema_version": "1.0",
  "metadata": {
    "role": "viewer"
  },
  "request_id": "req-12345678",
  "resource_id": "550e8400-e29b-41d4-a716-446655440003",
  "resource_type": "User",
  "service_name": "backend",
  "status": "success",
  "tenant_id": "550e8400-e29b-41d4-a716-446655440002",
  "trace_id": "trace-12345678"
}

AuditService_AuditLogListResponse

object
Show child attributes
idstringrequired
event_idstring | null
Show child attributes
Any of
string
null
event_typestring | null
Show child attributes
Any of
string
null
log_schema_versionstring | null
Show child attributes
Any of
string
null
service_namestringrequired
actionstringrequired
actor_typestring | null
Show child attributes
Any of
string
null
actor_idstring | null
Show child attributes
Any of
string
null
actor_emailstring | null
Show child attributes
Any of
string
null
actor_namestring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
tenant_namestring | null
Show child attributes
Any of
string
null
resource_typestring | null
Show child attributes
Any of
string
null
resource_idstring | null
Show child attributes
Any of
string
null
resource_namestring | null
Show child attributes
Any of
string
null
statusstring | null
Show child attributes
Any of
string
null
categorystring | null
Show child attributes
Any of
string
null
severitystring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
failure_reasonstring | null
Show child attributes
Any of
string
null
correlation_idstring | null
Show child attributes
Any of
string
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
request_idstring | null
Show child attributes
Any of
string
null
trace_idstring | null
Show child attributes
Any of
string
null
parent_trace_idstring | null
Show child attributes
Any of
string
null
http_methodstring | null
Show child attributes
Any of
string
null
http_pathstring | null
Show child attributes
Any of
string
null
http_statusinteger | null
Show child attributes
Any of
integer
null
duration_msinteger | null
Show child attributes
Any of
integer
null
metadataobject | null
Show child attributes
Any of
object
null
data_classificationstring | null
Show child attributes
Any of
string
null
checksumstringrequired
created_atstringrequired
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

AuditService_AuditLogResponse

object
idstringrequired
event_idstring | null
Show child attributes
Any of
string
null
event_typestring | null
Show child attributes
Any of
string
null
log_schema_versionstring | null
Show child attributes
Any of
string
null
service_namestringrequired
actionstringrequired
actor_typestring | null
Show child attributes
Any of
string
null
actor_idstring | null
Show child attributes
Any of
string
null
actor_emailstring | null
Show child attributes
Any of
string
null
actor_namestring | null
Show child attributes
Any of
string
null
tenant_idstring | null
Show child attributes
Any of
string
null
tenant_namestring | null
Show child attributes
Any of
string
null
resource_typestring | null
Show child attributes
Any of
string
null
resource_idstring | null
Show child attributes
Any of
string
null
resource_namestring | null
Show child attributes
Any of
string
null
statusstring | null
Show child attributes
Any of
string
null
categorystring | null
Show child attributes
Any of
string
null
severitystring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
failure_reasonstring | null
Show child attributes
Any of
string
null
correlation_idstring | null
Show child attributes
Any of
string
null
ip_addressstring | null
Show child attributes
Any of
string
null
user_agentstring | null
Show child attributes
Any of
string
null
request_idstring | null
Show child attributes
Any of
string
null
trace_idstring | null
Show child attributes
Any of
string
null
parent_trace_idstring | null
Show child attributes
Any of
string
null
http_methodstring | null
Show child attributes
Any of
string
null
http_pathstring | null
Show child attributes
Any of
string
null
http_statusinteger | null
Show child attributes
Any of
integer
null
duration_msinteger | null
Show child attributes
Any of
integer
null
metadataobject | null
Show child attributes
Any of
object
null
data_classificationstring | null
Show child attributes
Any of
string
null
checksumstringrequired
created_atstringrequired

AuditService_ConsentRecordRequest

object
user_idstringrequired
consent_typestringrequired
is_grantedbooleanrequired
ip_addressstring | null
Show child attributes
Any of
string
null
metadataobject | null
Show child attributes
Any of
object
null

AuditService_ConsentRecordResponse

object
idstringrequired
user_idstringrequired
consent_typestringrequired
is_grantedbooleanrequired
granted_atstring | null
Show child attributes
Any of
string
null
revoked_atstring | null
Show child attributes
Any of
string
null
created_atstringrequired

AuditService_HTTPValidationError

object
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

AuditService_ValidationError

object
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

FeatureFlagsService_BatchEvaluateRequest

object
Show child attributes
flag_keystringrequired
contextobject | null
Show child attributes
Any of
object
null

FeatureFlagsService_BatchEvaluateResponse

object
Show child attributes
flag_keystringrequired
valueanyrequired
is_enabledbooleanrequired
matched_rulestring | null
Show child attributes
Any of
string
null

FeatureFlagsService_EntitlementCatalogueItem

object
keystringrequired
source_keystringrequired
namestringrequired
typestringrequired
unitstring | null
Show child attributes
Any of
string
null
categorystringrequired
scopestringtenant
reset_periodstring | null
Show child attributes
Any of
string
null
counting_rulestringrequired
ui_labelstringrequired
upgrade_messagestringrequired
error_codestringrequired
override_allowedbooleantrue
stale_acceptablebooleanfalse
requires_role_permissionbooleantrue
downgrade_policystringrequired
applicable_servicesArray<string>required

FeatureFlagsService_EntitlementCatalogueResponse

object
Show child attributes
keystringrequired
source_keystringrequired
namestringrequired
typestringrequired
unitstring | null
Show child attributes
Any of
string
null
categorystringrequired
scopestringtenant
reset_periodstring | null
Show child attributes
Any of
string
null
counting_rulestringrequired
ui_labelstringrequired
upgrade_messagestringrequired
error_codestringrequired
override_allowedbooleantrue
stale_acceptablebooleanfalse
requires_role_permissionbooleantrue
downgrade_policystringrequired
applicable_servicesArray<string>required

FeatureFlagsService_EvaluateRequest

object
flag_keystringrequired
contextobject | null
Show child attributes
Any of
object
null

FeatureFlagsService_EvaluateResponse

object
flag_keystringrequired
valueanyrequired
is_enabledbooleanrequired
matched_rulestring | null
Show child attributes
Any of
string
null

FeatureFlagsService_FlagCreateRequest

object
keystringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
flag_typestringboolean
default_valueanyfalse
is_enabledbooleantrue
tagsArray<string> | null
Show child attributes
Any of
Array<string>
null
environmentstring | null
Show child attributes
Any of
string
null
plan_tierstring | null
Show child attributes
Any of
string
null
feature_categorystring | null
Show child attributes
Any of
string
null

FeatureFlagsService_FlagListResponse

object
Show child attributes
idstringrequired
keystringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
flag_typestringrequired
default_valueanyrequired
is_enabledbooleanrequired
is_archivedbooleanrequired
tagsArray<string>required
evaluation_countintegerrequired
last_evaluated_atstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
plan_tierstring | null
Show child attributes
Any of
string
null
feature_categorystring | null
Show child attributes
Any of
string
null
totalintegerrequired
skipintegerrequired
limitintegerrequired
has_nextbooleanrequired
has_previousbooleanrequired

FeatureFlagsService_FlagResponse

object
idstringrequired
keystringrequired
namestringrequired
descriptionstring | null
Show child attributes
Any of
string
null
flag_typestringrequired
default_valueanyrequired
is_enabledbooleanrequired
is_archivedbooleanrequired
tagsArray<string>required
evaluation_countintegerrequired
last_evaluated_atstring | null
Show child attributes
Any of
string
null
created_atstringrequired
updated_atstringrequired
plan_tierstring | null
Show child attributes
Any of
string
null
feature_categorystring | null
Show child attributes
Any of
string
null

FeatureFlagsService_FlagUpdateRequest

object
namestring | null
Show child attributes
Any of
string
null
descriptionstring | null
Show child attributes
Any of
string
null
default_valueany | null
Show child attributes
Any of
any
null
is_enabledboolean | null
Show child attributes
Any of
boolean
null
tagsArray<string> | null
Show child attributes
Any of
Array<string>
null
plan_tierstring | null
Show child attributes
Any of
string
null
feature_categorystring | null
Show child attributes
Any of
string
null

FeatureFlagsService_HTTPValidationError

object
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

FeatureFlagsService_HealthResponseDTO

object

Health check response model.

statusstringrequired
servicestringrequired
versionstringrequired
timestampstring<date-time>required

FeatureFlagsService_InvalidateResponse

object
tenant_idstringrequired
invalidatedbooleanrequired
messagestringrequired

FeatureFlagsService_LimitItem

object
keystringrequired
canonical_keystring | null
Show child attributes
Any of
string
null
namestringrequired
valueintegerrequired
categorystringresource
scopestringtenant
reset_periodstring | null
Show child attributes
Any of
string
null
unlimitedbooleanfalse
custom_overridebooleanfalse

FeatureFlagsService_PlanDto

object
idstringrequired
namestringrequired
descriptionstringrequired
price_idstringrequired
amountnumberrequired
currencystringrequired
intervalstringrequired
Show child attributes
keystringrequired
canonical_keystring | null
Show child attributes
Any of
string
null
namestringrequired
descriptionstringrequired
flag_typestringrequired
valueboolean | integer | stringrequired
Show child attributes
Any of
boolean
integer
string
categorystringrequired
unitstring | null
Show child attributes
Any of
string
null
ui_labelstring | null
Show child attributes
Any of
string
null
upgrade_messagestring | null
Show child attributes
Any of
string
null
error_codestring | null
Show child attributes
Any of
string
null
override_allowedbooleantrue
Show child attributes
keystringrequired
canonical_keystring | null
Show child attributes
Any of
string
null
namestringrequired
valueintegerrequired
categorystringrequired
scopestringrequired
reset_periodstring | null
Show child attributes
Any of
string
null
unlimitedbooleanfalse
custom_overridebooleanfalse
unitstring | null
Show child attributes
Any of
string
null
ui_labelstring | null
Show child attributes
Any of
string
null
counting_rulestring | null
Show child attributes
Any of
string
null
upgrade_messagestring | null
Show child attributes
Any of
string
null
error_codestring | null
Show child attributes
Any of
string
null
override_allowedbooleantrue

FeatureFlagsService_PlanFeatureDto

object
keystringrequired
canonical_keystring | null
Show child attributes
Any of
string
null
namestringrequired
descriptionstringrequired
flag_typestringrequired
valueboolean | integer | stringrequired
Show child attributes
Any of
boolean
integer
string
categorystringrequired
unitstring | null
Show child attributes
Any of
string
null
ui_labelstring | null
Show child attributes
Any of
string
null
upgrade_messagestring | null
Show child attributes
Any of
string
null
error_codestring | null
Show child attributes
Any of
string
null
override_allowedbooleantrue

FeatureFlagsService_PlanLimitDto

object
keystringrequired
canonical_keystring | null
Show child attributes
Any of
string
null
namestringrequired
valueintegerrequired
categorystringrequired
scopestringrequired
reset_periodstring | null
Show child attributes
Any of
string
null
unlimitedbooleanfalse
custom_overridebooleanfalse
unitstring | null
Show child attributes
Any of
string
null
ui_labelstring | null
Show child attributes
Any of
string
null
counting_rulestring | null
Show child attributes
Any of
string
null
upgrade_messagestring | null
Show child attributes
Any of
string
null
error_codestring | null
Show child attributes
Any of
string
null
override_allowedbooleantrue

FeatureFlagsService_PlanListResponse

object
Show child attributes
idstringrequired
namestringrequired
descriptionstringrequired
price_idstringrequired
amountnumberrequired
currencystringrequired
intervalstringrequired
Show child attributes
keystringrequired
canonical_keystring | null
Show child attributes
Any of
string
null
namestringrequired
descriptionstringrequired
flag_typestringrequired
valueboolean | integer | stringrequired
Show child attributes
Any of
boolean
integer
string
categorystringrequired
unitstring | null
Show child attributes
Any of
string
null
ui_labelstring | null
Show child attributes
Any of
string
null
upgrade_messagestring | null
Show child attributes
Any of
string
null
error_codestring | null
Show child attributes
Any of
string
null
override_allowedbooleantrue
Show child attributes
keystringrequired
canonical_keystring | null
Show child attributes
Any of
string
null
namestringrequired
valueintegerrequired
categorystringrequired
scopestringrequired
reset_periodstring | null
Show child attributes
Any of
string
null
unlimitedbooleanfalse
custom_overridebooleanfalse
unitstring | null
Show child attributes
Any of
string
null
ui_labelstring | null
Show child attributes
Any of
string
null
counting_rulestring | null
Show child attributes
Any of
string
null
upgrade_messagestring | null
Show child attributes
Any of
string
null
error_codestring | null
Show child attributes
Any of
string
null
override_allowedbooleantrue

FeatureFlagsService_TenantEntitlementsResponse

object
tenant_idstringrequired
tierstringrequired
subscription_statusstringrequired
activebooleanrequired
trialbooleanrequired
trial_end_atstring | null
Show child attributes
Any of
string
null
dormantbooleanrequired
Show child attributes
keystringrequired
canonical_keystring | null
Show child attributes
Any of
string
null
namestringrequired
valueintegerrequired
categorystringresource
scopestringtenant
reset_periodstring | null
Show child attributes
Any of
string
null
unlimitedbooleanfalse
custom_overridebooleanfalse
featuresArray<object>required

FeatureFlagsService_TenantFeaturesResponse

object
itemsArray<object>required
tierstringrequired

FeatureFlagsService_TenantLimitsResponse

object
itemsArray<object>required
tierstringrequired
tenant_idstringrequired

FeatureFlagsService_ValidationError

object
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

QuotaService_CheckLimitRequest

object

Request to check quota availability.

limit_typestringrequired

Type of limit (e.g., 'surveys')

amountinteger>= 11

Amount to check

QuotaService_ConsumeQuotaRequest

object

Request to consume quota.

limit_typestringrequired

Type of limit

amountinteger>= 11

Amount to consume

idempotency_keystring | null

Tenant-scoped usage idempotency key

Show child attributes
Any of
string
null

QuotaService_HTTPValidationError

object
Show child attributes
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject

QuotaService_QuotaResponse

object

Response from quota operations.

successbooleanrequired
allowedbooleanrequired
currentintegerrequired
limitintegerrequired
remainingintegerrequired
reset_atstring | null
Show child attributes
Any of
string<date-time>
null
unlimitedbooleanfalse

QuotaService_RollbackRequest

object

Request to rollback quota.

limit_typestringrequired

Type of limit

amountinteger>= 11

Amount to rollback

QuotaService_ValidationError

object
locArray<string | integer>required
Show child attributes
Any of
string
integer
msgstringrequired
typestringrequired
inputany
ctxobject