{"openapi":"3.1.0","x-api-lifecycle":{"majorVersion":1,"versioning":"implicit","currentPathPrefix":"/api","nextBreakingPathPrefix":"/api/v2","versionSelectionHeader":null,"deprecated":false,"minimumSunsetNoticeDays":90,"deprecationHeaders":["Deprecation","Link","Sunset"],"policyUrl":"https://usertold.ai/docs/api#versioning-and-deprecation"},"info":{"title":"UserTold.ai API","version":"1.0.0","description":"The /api/... routes are stable major version 1 without a version-selection header. Backward-compatible additions remain in v1; breaking changes require /api/v2. Before removal, migration guidance and Deprecation plus Link rel=deprecation are published; scheduled removal includes Sunset at least 90 days ahead. No REST route is currently deprecated."},"externalDocs":{"description":"REST versioning, deprecation, and rate-limit policy","url":"https://usertold.ai/docs/api#versioning-and-deprecation"},"components":{"schemas":{"ApiErrorResponse":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"},"retryable":{"type":"boolean"},"action":{"type":"string"},"requestId":{"type":"string"}},"required":["error"]},"ApiPublicListing":{"type":["object","null"],"properties":{"hostname":{"type":"string"},"destination_url":{"type":"string","format":"uri"},"title":{"type":"string"},"description":{"type":"string"},"status":{"type":"string","enum":["published","unpublished","suspended"]},"interview_count":{"type":"integer","minimum":0},"evidence_count":{"type":"integer","minimum":0},"icon_url":{"type":["string","null"],"default":null},"published_at":{"type":["string","null"]},"updated_at":{"type":"string"}},"required":["hostname","destination_url","title","description","status","interview_count","evidence_count","published_at","updated_at"]},"ApiPublicProjectResponse":{"type":"object","properties":{"project":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":["string","null"]},"org_handle":{"type":"string"},"project_handle":{"type":"string"}},"required":["name","description","org_handle","project_handle"]},"totals":{"type":"object","properties":{"studies":{"type":"integer","minimum":0},"interviews":{"type":"integer","minimum":0},"evidence":{"type":"integer","minimum":0},"findings":{"type":"integer","minimum":0}},"required":["studies","interviews","evidence","findings"]},"studies":{"type":"array","items":{"type":"object","properties":{"study_ref":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"status":{"type":"string"},"goal_count":{"type":"integer","minimum":0}},"required":["study_ref","title","description","status","goal_count"]}},"interviews":{"type":"array","items":{"type":"object","properties":{"source_label":{"type":"string"},"study_ref":{"type":["string","null"]},"completed_at":{"type":["string","null"]},"duration_seconds":{"type":["number","null"]},"analysis_summary":{"type":["string","null"]},"evidence_count":{"type":"integer","minimum":0}},"required":["source_label","study_ref","completed_at","duration_seconds","analysis_summary","evidence_count"]}},"evidence":{"type":"array","items":{"type":"object","properties":{"source_label":{"type":"string"},"signal_type":{"type":"string"},"quote":{"type":"string"},"headline":{"type":["string","null"]},"claim":{"type":["string","null"]},"observed_facts":{"type":"array","items":{"type":"string"}},"confidence":{"type":"number"},"page_title":{"type":["string","null"]}},"required":["source_label","signal_type","quote","headline","claim","observed_facts","confidence","page_title"]}},"findings":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]},"status":{"type":"string"},"priority_label":{"type":"string"},"priority_score":{"type":"number"},"evidence_count":{"type":"integer","minimum":0},"interview_count":{"type":"integer","minimum":0}},"required":["title","description","status","priority_label","priority_score","evidence_count","interview_count"]}}},"required":["project","totals","studies","interviews","evidence","findings"]},"ApiProjectPublicationResponse":{"type":"object","properties":{"enabled":{"type":"boolean"},"public_url":{"type":"string"}},"required":["enabled","public_url"]},"ApiOAuthDynamicClientRegistrationResponse":{"type":"object","properties":{"client_id":{"type":"string"},"client_name":{"type":"string"},"redirect_uris":{"type":"array","items":{"type":"string"}},"grant_types":{"type":"array","items":{"type":"string"}},"response_types":{"type":"array","items":{"type":"string"}},"scope":{"type":"string"},"token_endpoint_auth_method":{"type":"string","enum":["none","client_secret_post","client_secret_basic"]},"client_id_issued_at":{"type":"number"},"registration_access_token":{"type":"string"},"registration_client_uri":{"type":"string"},"client_secret":{"type":"string"},"client_secret_expires_at":{"type":"number"}},"required":["client_id","client_name","redirect_uris","grant_types","response_types","scope","token_endpoint_auth_method","client_id_issued_at","registration_access_token","registration_client_uri","client_secret_expires_at"]},"ApiOAuthDynamicClientRegistrationRequest":{"type":"object","properties":{"client_name":{"type":"string"},"redirect_uris":{"type":"array","items":{"type":"string"},"minItems":1},"grant_types":{"type":"array","items":{"type":"string"}},"response_types":{"type":"array","items":{"type":"string"}},"scope":{"type":"string"},"token_endpoint_auth_method":{"type":"string","enum":["none","client_secret_post","client_secret_basic"]}},"required":["redirect_uris"]},"ApiDataExportCreateResponse":{"type":"object","properties":{"job":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["queued","running","completed","failed"]},"requested_at":{"type":"string"},"started_at":{"type":["string","null"]},"completed_at":{"type":["string","null"]},"expires_at":{"type":"string"},"download_url":{"type":["string","null"]},"error_message":{"type":["string","null"]}},"required":["id","status","requested_at","started_at","completed_at","expires_at","download_url","error_message"]},"media_url_ttl_seconds":{"type":"number"}},"required":["job","media_url_ttl_seconds"]},"ApiProjectMutationResponse":{"type":"object","properties":{"project":{"type":"object","properties":{"ref":{"type":"string"},"handle":{"type":"string"},"name":{"type":"string"},"description":{"type":["string","null"]},"org_handle":{"type":["string","null"]},"project_handle":{"type":"string"},"project_ref":{"type":["string","null"]},"canonical_path":{"type":["string","null"]},"can_manage_credits":{"type":"boolean"},"github_repo_url":{"type":["string","null"]},"github_default_branch":{"type":"string"},"github_installation_id":{"type":["string","null"]},"linear_team_id":{"type":["string","null"]},"public_key":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["ref","handle","name","description","org_handle","project_handle","project_ref","canonical_path","can_manage_credits","github_repo_url","github_default_branch","github_installation_id","linear_team_id","public_key","created_at","updated_at"]}},"required":["project"]},"ApiProjectStarterStudyProvisionResponse":{"type":"object","properties":{"outcome":{"type":"string","enum":["provisioned","already_present"]},"study_ref":{"type":"string"}},"required":["outcome","study_ref"]},"ApiSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]},"ApiPurgeResponse":{"type":"object","properties":{"success":{"type":"boolean"},"d1RowsDeleted":{"type":"number"},"r2ObjectsDeleted":{"type":"number"}},"required":["success","d1RowsDeleted","r2ObjectsDeleted"]},"ApiSignalResponse":{"type":"object","properties":{"signal":{"type":"object","properties":{"id":{"type":"string"},"project_ref":{"type":"string"},"session_id":{"type":"string"},"signal_type":{"type":"string"},"target_surface":{"type":"string","enum":["product_under_test","usertold_widget_interview","interviewer_conductor_behavior","ambiguous_needs_review"]},"confidence":{"type":"number"},"intensity":{"type":["number","null"]},"quote":{"type":"string"},"timestamp_ms":{"type":["number","null"]},"segment_id":{"type":["string","null"]},"page_url":{"type":["string","null"]},"page_title":{"type":["string","null"]},"preceding_actions":{"type":["string","null"]},"user_goal":{"type":["string","null"]},"outcome":{"type":["string","null"]},"headline":{"type":["string","null"]},"claim":{"type":["string","null"]},"reconstruction":{"type":["string","null"]},"observed_facts_json":{"type":["string","null"]},"evidence_grade":{"type":["string","null"]},"window_start_ms":{"type":["number","null"]},"window_end_ms":{"type":["number","null"]},"transcript_uncertain":{"type":"boolean"},"transcript_uncertainty_note":{"type":["string","null"]},"review_status":{"type":["string","null"]},"review_note":{"type":["string","null"]},"annotation_text":{"type":["string","null"]},"annotation_by":{"type":["string","null"]},"annotation_at":{"type":["string","null"]},"dismissed_at":{"type":["string","null"]},"dismissed_reason":{"type":["string","null"]},"dismissed_by":{"type":["string","null"]},"source":{"type":["string","null"]},"created_at":{"type":"string"},"linked_task":{"type":["object","null"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["backlog","ready","in_progress","done","wont_fix"]},"linear_issue_id":{"type":["string","null"]},"linear_issue_url":{"type":["string","null"]},"linear_issue_status":{"type":["string","null"]}},"required":["id","title","status"]},"evidence_resolution":{"type":["object","null"],"properties":{"link_id":{"type":"string"},"task_id":{"type":"string"},"linked_at":{"type":["string","null"]},"resolved_at":{"type":["string","null"]},"resolved_by_provider":{"type":["string","null"]},"resolved_by_provider_issue_id":{"type":["string","null"]},"resolution_reason":{"type":["string","null"]}},"required":["link_id","linked_at","resolved_at","resolved_by_provider","resolved_by_provider_issue_id","resolution_reason"]},"recurrence_candidates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"related_task_id":{"type":"string"},"related_resolved_signal_id":{"type":["string","null"]},"confidence":{"type":"number"},"reason":{"type":["string","null"]},"status":{"type":"string","enum":["candidate","confirmed","dismissed"]},"created_at":{"type":"string"},"reviewed_at":{"type":["string","null"]},"related_task":{"type":["object","null"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["backlog","ready","in_progress","done","wont_fix"]}},"required":["id","title","status"]}},"required":["id","related_task_id","related_resolved_signal_id","confidence","reason","status","created_at","reviewed_at"]}},"provenance":{"type":["object","null"],"properties":{"study":{"type":["object","null"],"properties":{"ref":{"type":"string"},"handle":{"type":"string"},"title":{"type":"string"}},"required":["ref","handle","title"]},"interview":{"type":["object","null"],"properties":{"id":{"type":"string"},"participant_name":{"type":["string","null"]},"started_at":{"type":["string","null"]},"interview_mode":{"type":["string","null"]},"duration_seconds":{"type":["number","null"]}},"required":["id","participant_name","started_at","interview_mode","duration_seconds"]},"page":{"type":["object","null"],"properties":{"url":{"type":["string","null"]},"title":{"type":["string","null"]}},"required":["url","title"]},"timestamp_ms":{"type":["number","null"]},"source":{"type":["string","null"]}},"required":["study","interview","page","timestamp_ms","source"]},"case_file":{"type":["object","null"],"properties":{"case_file_version":{"type":"string","enum":["evidence_case_file.v1"]},"evidence_card":{"type":"object","properties":{"contract_version":{"type":"string","enum":["pipeline.v1"]},"artifact_kind":{"type":"string","enum":["evidence_card"]},"artifact_id":{"type":"string"},"session_id":{"type":"string"},"created_at":{"type":"string"},"evidence":{"type":"object","properties":{"signal_type":{"type":"string","enum":["struggling_moment","desired_outcome","workaround","hiring_criteria","firing_moment","emotional_response","no_issue_found","smooth_completion","critical_error","recovery_success","decision_point"]},"target_surface":{"type":"string","enum":["product_under_test","usertold_widget_interview","interviewer_conductor_behavior","ambiguous_needs_review"]},"headline":{"type":"string","minLength":1},"quote":{"type":"string"},"observed_facts":{"type":"array","items":{"type":"string","minLength":1}},"claim":{"type":"string","minLength":1},"reconstruction":{"type":"string","minLength":1},"evidence_grade":{"type":"string","enum":["direct","strong_circumstantial","weak"]},"confidence":{"type":"number","minimum":0,"maximum":1},"intensity":{"type":["number","null"]},"timestamp_ms":{"type":"number"},"window_start_ms":{"type":"number"},"window_end_ms":{"type":"number"},"segment_id":{"type":"string"},"page_url":{"type":["string","null"]},"page_title":{"type":["string","null"]},"preceding_actions":{"type":["array","null"],"items":{"type":"string"}},"user_goal":{"type":["string","null"]},"outcome":{"type":["string","null"]},"transcript_uncertain":{"type":"boolean"},"transcript_uncertainty_note":{"type":["string","null"]}},"required":["signal_type","target_surface","quote","evidence_grade","confidence","transcript_uncertain"],"additionalProperties":false},"project_ref":{"type":"string"}},"required":["contract_version","artifact_kind","evidence"],"additionalProperties":false},"provenance":{"type":["object","null"],"properties":{"study":{"type":["object","null"],"properties":{"handle":{"type":"string"},"title":{"type":"string"}},"required":["handle","title"]},"interview":{"type":["object","null"],"properties":{"id":{"type":"string"},"participant_name":{"type":["string","null"]},"started_at":{"type":["string","null"]},"interview_mode":{"type":["string","null"]},"duration_seconds":{"type":["number","null"]}},"required":["id","participant_name","started_at","interview_mode","duration_seconds"]},"page":{"type":["object","null"],"properties":{"url":{"type":["string","null"]},"title":{"type":["string","null"]}},"required":["url","title"]},"timestamp_ms":{"type":["number","null"]},"source":{"type":["string","null"]}},"required":["study","interview","page","timestamp_ms","source"]},"review":{"type":"object","properties":{"review_status":{"type":["string","null"]},"review_note":{"type":["string","null"]},"annotation_text":{"type":["string","null"]},"annotation_by":{"type":["string","null"]},"annotation_at":{"type":["string","null"]},"dismissed_at":{"type":["string","null"]},"dismissed_reason":{"type":["string","null"]},"dismissed_by":{"type":["string","null"]}},"required":["review_status","review_note","annotation_text","annotation_by","annotation_at","dismissed_at","dismissed_reason","dismissed_by"]},"links":{"type":"object","properties":{"linked_task":{"type":["object","null"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"linear_issue_id":{"type":["string","null"]},"linear_issue_url":{"type":["string","null"]},"linear_issue_status":{"type":["string","null"]}},"required":["id","title","status"]},"evidence_resolution":{"type":["object","null"],"properties":{"link_id":{"type":"string"},"task_id":{"type":"string"},"linked_at":{"type":["string","null"]},"resolved_at":{"type":["string","null"]},"resolved_by_provider":{"type":["string","null"]},"resolved_by_provider_issue_id":{"type":["string","null"]},"resolution_reason":{"type":["string","null"]}},"required":["link_id","linked_at","resolved_at","resolved_by_provider","resolved_by_provider_issue_id","resolution_reason"]},"recurrence_candidates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"related_task_id":{"type":"string"},"related_resolved_signal_id":{"type":["string","null"]},"confidence":{"type":"number"},"reason":{"type":["string","null"]},"status":{"type":"string"},"created_at":{"type":"string"},"reviewed_at":{"type":["string","null"]},"related_task":{"type":["object","null"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"}},"required":["id","title","status"]}},"required":["id","related_task_id","related_resolved_signal_id","confidence","reason","status","created_at","reviewed_at"]}}},"required":["recurrence_candidates"]}},"required":["case_file_version","evidence_card","provenance","review","links"]}},"required":["id","project_ref","session_id","signal_type","target_surface","confidence","intensity","quote","timestamp_ms","segment_id","page_url","page_title","preceding_actions","user_goal","outcome","transcript_uncertain","transcript_uncertainty_note","annotation_text","annotation_by","annotation_at","dismissed_at","dismissed_reason","dismissed_by","source","created_at"]}},"required":["signal"]},"ApiFindingResponse":{"type":"object","properties":{"finding":{"type":"object","properties":{"finding_ref":{"type":"string"},"project_ref":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"target_surface":{"type":"string","enum":["product_under_test","usertold_widget_interview","interviewer_conductor_behavior","ambiguous_needs_review"]},"research_state":{"type":"string","enum":["draft","reviewed","closed"]},"delivery_state":{"type":["string","null"],"enum":["not_sent","awaiting_product_triage","accepted","in_progress","completed","declined","duplicate",null]},"provider_placement":{"type":["string","null"],"enum":["triage","backlog_fallback",null]},"priority_score":{"type":"number"},"priority_label":{"type":"string"},"effort_estimate":{"type":["string","null"]},"evidence_count":{"type":"number"},"interview_count":{"type":"number"},"implementation_branch":{"type":["string","null"]},"implementation_pr_url":{"type":["string","null"]},"implementation_pr_number":{"type":["number","null"]},"deployed_at":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["finding_ref","project_ref","title","description","target_surface","research_state","delivery_state","provider_placement","priority_score","priority_label","effort_estimate","evidence_count","interview_count","implementation_branch","implementation_pr_url","implementation_pr_number","deployed_at","created_at","updated_at"]}},"required":["finding"]},"ApiIntakesListResponse":{"type":"object","properties":{"intakes":{"type":"array","items":{"type":"object","properties":{"ref":{"type":"string"},"project_ref":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"handle":{"type":"string"},"status":{"type":"string"},"auto_managed":{"type":"number"},"max_participants":{"type":["number","null"]},"logo_r2_key":{"type":["string","null"]},"brand_color":{"type":"string"},"welcome_message":{"type":["string","null"]},"thank_you_message":{"type":"string"},"disqualified_message":{"type":"string"},"consent_text":{"type":"string"},"complete_count":{"type":"number"},"qualified_count":{"type":"number"},"disqualified_count":{"type":"number"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["ref","project_ref","title","description","handle","status","auto_managed","max_participants","logo_r2_key","brand_color","welcome_message","thank_you_message","disqualified_message","consent_text","complete_count","qualified_count","disqualified_count","created_at","updated_at"]}}},"required":["intakes"]},"ApiIntakeCreateResponse":{"type":"object","properties":{"intake":{"type":"object","properties":{"ref":{"type":"string"},"project_ref":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"handle":{"type":"string"},"status":{"type":"string"},"auto_managed":{"type":"number"},"max_participants":{"type":["number","null"]},"logo_r2_key":{"type":["string","null"]},"brand_color":{"type":"string"},"welcome_message":{"type":["string","null"]},"thank_you_message":{"type":"string"},"disqualified_message":{"type":"string"},"consent_text":{"type":"string"},"complete_count":{"type":"number"},"qualified_count":{"type":"number"},"disqualified_count":{"type":"number"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["ref","project_ref","title","description","handle","status","auto_managed","max_participants","logo_r2_key","brand_color","welcome_message","thank_you_message","disqualified_message","consent_text","complete_count","qualified_count","disqualified_count","created_at","updated_at"]},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"question_text":{"type":"string"},"question_type":{"type":"string"},"required":{"type":"number"},"sort_order":{"type":"number"},"options_json":{"type":["string","null"]},"min_value":{"type":["number","null"]},"max_value":{"type":["number","null"]},"qualification_rules_json":{"type":["string","null"]},"created_at":{"type":"string"}},"required":["id","question_text","question_type","required","sort_order","options_json","min_value","max_value","qualification_rules_json","created_at"]}}},"required":["intake","questions"]},"ApiIntakeDetailResponse":{"type":"object","properties":{"intake":{"type":"object","properties":{"ref":{"type":"string"},"project_ref":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"handle":{"type":"string"},"status":{"type":"string"},"auto_managed":{"type":"number"},"max_participants":{"type":["number","null"]},"logo_r2_key":{"type":["string","null"]},"brand_color":{"type":"string"},"welcome_message":{"type":["string","null"]},"thank_you_message":{"type":"string"},"disqualified_message":{"type":"string"},"consent_text":{"type":"string"},"complete_count":{"type":"number"},"qualified_count":{"type":"number"},"disqualified_count":{"type":"number"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["ref","project_ref","title","description","handle","status","auto_managed","max_participants","logo_r2_key","brand_color","welcome_message","thank_you_message","disqualified_message","consent_text","complete_count","qualified_count","disqualified_count","created_at","updated_at"]},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"question_text":{"type":"string"},"question_type":{"type":"string"},"required":{"type":"number"},"sort_order":{"type":"number"},"options_json":{"type":["string","null"]},"min_value":{"type":["number","null"]},"max_value":{"type":["number","null"]},"qualification_rules_json":{"type":["string","null"]},"created_at":{"type":"string"}},"required":["id","question_text","question_type","required","sort_order","options_json","min_value","max_value","qualification_rules_json","created_at"]}},"responses":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"participant_name":{"type":["string","null"]},"participant_email":{"type":["string","null"]},"qualified":{"type":["number","null"]},"qualification_reason":{"type":["string","null"]},"answers_json":{"type":"string"},"session_id":{"type":["string","null"]},"utm_source":{"type":["string","null"]},"utm_medium":{"type":["string","null"]},"utm_campaign":{"type":["string","null"]},"consent_given":{"type":"number"},"created_at":{"type":"string"}},"required":["id","participant_name","participant_email","qualified","qualification_reason","answers_json","session_id","utm_source","utm_medium","utm_campaign","consent_given","created_at"]}}},"required":["intake","questions","responses"]},"ApiIntakeQuestionResponse":{"type":"object","properties":{"question":{"type":"object","properties":{"id":{"type":"string"},"question_text":{"type":"string"},"question_type":{"type":"string"},"required":{"type":"number"},"sort_order":{"type":"number"},"options_json":{"type":["string","null"]},"min_value":{"type":["number","null"]},"max_value":{"type":["number","null"]},"qualification_rules_json":{"type":["string","null"]},"created_at":{"type":"string"}},"required":["id","question_text","question_type","required","sort_order","options_json","min_value","max_value","qualification_rules_json","created_at"]}},"required":["question"]},"ApiIntakeQuestionsReorderResponse":{"type":"object","properties":{"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"question_text":{"type":"string"},"question_type":{"type":"string"},"required":{"type":"number"},"sort_order":{"type":"number"},"options_json":{"type":["string","null"]},"min_value":{"type":["number","null"]},"max_value":{"type":["number","null"]},"qualification_rules_json":{"type":["string","null"]},"created_at":{"type":"string"}},"required":["id","question_text","question_type","required","sort_order","options_json","min_value","max_value","qualification_rules_json","created_at"]}}},"required":["questions"]},"ApiIntakeResponseWrapper":{"type":"object","properties":{"intake":{"type":"object","properties":{"ref":{"type":"string"},"project_ref":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"handle":{"type":"string"},"status":{"type":"string"},"auto_managed":{"type":"number"},"max_participants":{"type":["number","null"]},"logo_r2_key":{"type":["string","null"]},"brand_color":{"type":"string"},"welcome_message":{"type":["string","null"]},"thank_you_message":{"type":"string"},"disqualified_message":{"type":"string"},"consent_text":{"type":"string"},"complete_count":{"type":"number"},"qualified_count":{"type":"number"},"disqualified_count":{"type":"number"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["ref","project_ref","title","description","handle","status","auto_managed","max_participants","logo_r2_key","brand_color","welcome_message","thank_you_message","disqualified_message","consent_text","complete_count","qualified_count","disqualified_count","created_at","updated_at"]}},"required":["intake"]},"ApiStudyPlacementPreviewResponse":{"oneOf":[{"type":"object","properties":{"outcome":{"type":"string","enum":["match"]},"study_ref":{"type":"string"},"study_title":{"type":"string"},"invitation":{"type":["object","null"],"properties":{"launcher":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"icon":{"type":"string","enum":["feedback","mic","diagram","bug","research"]},"style":{"type":"string","enum":["calm","lattice","beam","ticket"]},"shape":{"type":"string","enum":["capsule","rounded","square"]}},"required":["label","icon"],"additionalProperties":false},"panel":{"type":"object","properties":{"eyebrow":{"type":"string","minLength":1,"maxLength":80},"headline":{"type":"string","minLength":1,"maxLength":120},"body":{"type":"string","minLength":1,"maxLength":600},"duration_minutes":{"type":"integer","minimum":1,"maximum":240},"reward":{"type":"object","properties":{"kind":{"type":"string","enum":["gift","product","community","access"]},"label":{"type":"string","minLength":1,"maxLength":160},"eligibility":{"type":"string","minLength":1,"maxLength":240},"delivery":{"type":"string","minLength":1,"maxLength":240}},"required":["kind","label"],"additionalProperties":false},"cta":{"type":"string","minLength":1,"maxLength":80},"image":{"type":"object","properties":{"asset_id":{"type":"string","minLength":1,"maxLength":160},"url":{"type":"string","maxLength":2000,"format":"uri"},"alt":{"type":"string","maxLength":160}},"required":["asset_id","url","alt"],"additionalProperties":false}},"required":["headline","cta"],"additionalProperties":false},"presentation_mode":{"type":"string","enum":["passive","contextual","direct_link"]},"brand_color":{"type":"object","properties":{"light":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"dark":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"required":["light"],"additionalProperties":false},"foreground_color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"placement":{"type":"object","properties":{"desktop":{"type":"string","enum":["bottom-left","bottom-right"]},"mobile":{"type":"string","enum":["bottom-left","bottom-right"]}},"required":["desktop","mobile"],"additionalProperties":false}},"required":["launcher","presentation_mode","brand_color","placement"],"additionalProperties":false}},"required":["outcome","study_ref","study_title","invitation"],"additionalProperties":false},{"type":"object","properties":{"outcome":{"type":"string","enum":["no_match"]}},"required":["outcome"],"additionalProperties":false},{"type":"object","properties":{"outcome":{"type":"string","enum":["ambiguous"]},"reason":{"type":"string","enum":["configuration_ambiguous"]},"ambiguous_study_refs":{"type":"array","items":{"type":"string"},"minItems":2,"maxItems":100}},"required":["outcome","reason","ambiguous_study_refs"],"additionalProperties":false},{"type":"object","properties":{"outcome":{"type":"string","enum":["unavailable"]},"study_ref":{"type":"string"},"reason":{"type":"string","enum":["inactive","capacity_reached","configuration_invalid","runtime_unavailable"]}},"required":["outcome","study_ref","reason"],"additionalProperties":false}]},"ApiStudyResponse":{"type":"object","properties":{"study":{"type":"object","properties":{"ref":{"type":"string"},"handle":{"type":"string"},"project_ref":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"status":{"type":"string"},"goals_json":{"type":["string","null"]},"script_json":{"type":["string","null"]},"settings_json":{"type":["string","null"]},"invitation":{"type":["object","null"],"properties":{"launcher":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"icon":{"type":"string","enum":["feedback","mic","diagram","bug","research"]},"style":{"type":"string","enum":["calm","lattice","beam","ticket"]},"shape":{"type":"string","enum":["capsule","rounded","square"]}},"required":["label","icon"],"additionalProperties":false},"panel":{"type":"object","properties":{"eyebrow":{"type":"string","minLength":1,"maxLength":80},"headline":{"type":"string","minLength":1,"maxLength":120},"body":{"type":"string","minLength":1,"maxLength":600},"duration_minutes":{"type":"integer","minimum":1,"maximum":240},"reward":{"type":"object","properties":{"kind":{"type":"string","enum":["gift","product","community","access"]},"label":{"type":"string","minLength":1,"maxLength":160},"eligibility":{"type":"string","minLength":1,"maxLength":240},"delivery":{"type":"string","minLength":1,"maxLength":240}},"required":["kind","label"],"additionalProperties":false},"cta":{"type":"string","minLength":1,"maxLength":80},"image":{"type":"object","properties":{"asset_id":{"type":"string","minLength":1,"maxLength":160},"url":{"type":"string","maxLength":2000,"format":"uri"},"alt":{"type":"string","maxLength":160}},"required":["asset_id","url","alt"],"additionalProperties":false}},"required":["headline","cta"],"additionalProperties":false},"presentation_mode":{"type":"string","enum":["passive","contextual","direct_link"]},"brand_color":{"type":"object","properties":{"light":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"dark":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"required":["light"],"additionalProperties":false},"foreground_color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"placement":{"type":"object","properties":{"desktop":{"type":"string","enum":["bottom-left","bottom-right"]},"mobile":{"type":"string","enum":["bottom-left","bottom-right"]}},"required":["desktop","mobile"],"additionalProperties":false}},"required":["launcher","presentation_mode","brand_color","placement"],"additionalProperties":false},"invitation_state":{"type":"string","enum":["absent","valid","invalid"]},"visibility":{"type":["object","null"],"properties":{"version":{"type":"number","enum":[1]},"enabled":{"type":"boolean"},"rules":{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["include","exclude"]},"match":{"type":"string","enum":["exact","subtree"]},"pathname":{"type":"string","minLength":1,"maxLength":2000,"pattern":"^\\/(?!\\/)(?!.*\\/\\/)(?!.*[?#\\\\])(?=[\\x21-\\x7E]*$)(?!.*[\"<>^`{}])(?!(?:.*\\/)?(?:\\.|%2[eE]){1,2}(?:\\/|$))(?:$|.*[^/])$"}},"required":["effect","match","pathname"],"additionalProperties":false},"maxItems":100,"default":[]},"languages":{"type":"array","items":{"type":"string"},"maxItems":20},"priority":{"type":"integer","minimum":-1000000,"maximum":1000000,"default":0},"order":{"type":"integer","minimum":0,"maximum":1000000,"default":0}},"required":["version","enabled"],"additionalProperties":false},"visibility_state":{"type":"string","enum":["absent","valid","invalid"]},"recruitment_url":{"type":["string","null"],"format":"uri","description":"Shareable customer-page URL for a configured direct-link Invitation; null until an allowed origin is available."},"allowed_selectors":{"type":["string","null"]},"allowed_origins":{"type":["string","null"]},"intake_ref":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["ref","handle","project_ref","title","description","status","goals_json","script_json","settings_json","invitation","invitation_state","visibility","visibility_state","recruitment_url","allowed_selectors","allowed_origins","intake_ref","created_at","updated_at"]},"origin_guard_failure":{"type":["object","null"],"properties":{"session_id":{"type":"string"},"code":{"type":"string","enum":["origin_required","origin_invalid","origin_not_allowed"]},"reason":{"type":"string"},"request_origin":{"type":["string","null"]},"normalized_origin":{"type":["string","null"]},"allowed_origins":{"type":"array","items":{"type":"string"}},"policy_source":{"type":["string","null"]},"occurred_at":{"type":"string"}},"required":["session_id","code","reason","request_origin","normalized_origin","allowed_origins","policy_source","occurred_at"]},"intake_auto_created":{"type":"boolean"},"intake_ref":{"type":"string"}},"required":["study"]},"ApiStudyValidationErrorResponse":{"anyOf":[{"$ref":"#/components/schemas/ApiStudyHandleReservedResponse"},{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}]},"ApiStudyHandleReservedResponse":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["STUDY_HANDLE_RESERVED"]},"suggestion":{"type":"string"}},"required":["error","code","suggestion"],"additionalProperties":false},"ApiStudyCreateConflictResponse":{"anyOf":[{"type":"object","properties":{"error":{"type":"string"},"suggestion":{"type":"string"}},"required":["error","suggestion"],"additionalProperties":false},{"$ref":"#/components/schemas/ApiStudyUpdateChangedResponse"}]},"ApiStudyUpdateChangedResponse":{"type":"object","properties":{"error":{"type":"string"},"action":{"type":"string"},"code":{"type":"string","enum":["study_update_changed"]},"retryable":{"type":"boolean","enum":[true]}},"required":["error","action","code","retryable"]},"ApiStudyPatchConflictResponse":{"anyOf":[{"type":"object","properties":{"error":{"type":"string"},"action":{"type":"string"},"code":{"type":"string","enum":["study_placement_conflict"]},"conflicting_study_refs":{"type":"array","items":{"type":"string"}},"representative_context":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["pathname"]},"pathname":{"type":"string"},"language":{"type":"string"}},"required":["kind","pathname","language"]},{"type":"object","properties":{"kind":{"type":"string","enum":["subtree_remainder"]},"pathname":{"type":"string"},"language":{"type":"string"}},"required":["kind","pathname","language"]}]}},"required":["error","action","code","conflicting_study_refs","representative_context"]},{"type":"object","properties":{"error":{"type":"string"},"action":{"type":"string"},"code":{"type":"string","enum":["study_placement_configuration_invalid"]},"study_ref":{"type":"string"},"configuration":{"type":"string","enum":["invitation","visibility"]}},"required":["error","action","code","study_ref","configuration"]},{"type":"object","properties":{"error":{"type":"string"},"action":{"type":"string"},"code":{"type":"string","enum":["study_placement_changed"]},"retryable":{"type":"boolean","enum":[true]}},"required":["error","action","code","retryable"]},{"$ref":"#/components/schemas/ApiStudyUpdateChangedResponse"},{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}]},"ApiStudyDeleteConflictResponse":{"anyOf":[{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["active_study_delete_forbidden"]},"action":{"type":"string"}},"required":["error","code","action"]},{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["study_delete_changed"]},"action":{"type":"string"},"retryable":{"type":"boolean","enum":[true]}},"required":["error","code","action","retryable"]}]},"ApiProjectSettingsResponse":{"type":"object","properties":{"settings":{"type":"object","additionalProperties":{"type":"string"}},"warnings":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["api_keys"]},"code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"action":{"type":"string"}},"required":["section","code","message","retryable"]}}},"required":["settings"]},"ApiConductorOriginGuardErrorResponse":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["origin_required","origin_invalid","origin_not_allowed"]},"retryable":{"type":"boolean","enum":[false]},"action":{"type":"string"}},"required":["error","code","retryable","action"]}},"parameters":{}},"paths":{"/api/public/leaderboard":{"get":{"operationId":"publicLeaderboard","summary":"Public Leaderboard","description":"Execute the UserTold public leaderboard operation.","tags":["Public leaderboard"],"parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"required":false,"name":"limit","in":"query"},{"schema":{"type":["integer","null"],"minimum":0,"default":0},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"listings":{"type":"array","items":{"type":"object","properties":{"hostname":{"type":"string"},"destination_url":{"type":"string","format":"uri"},"title":{"type":"string"},"description":{"type":"string"},"interview_count":{"type":"integer","minimum":0},"evidence_count":{"type":"integer","minimum":0},"icon_url":{"type":["string","null"],"default":null},"published_at":{"type":["string","null"]},"updated_at":{"type":"string"},"rank":{"type":"integer","exclusiveMinimum":0}},"required":["hostname","destination_url","title","description","interview_count","evidence_count","published_at","updated_at","rank"]}},"total":{"type":"integer","minimum":0},"totals":{"type":"object","properties":{"projects":{"type":"integer","minimum":0},"interviews":{"type":"integer","minimum":0},"evidence":{"type":"integer","minimum":0}},"required":["projects","interviews","evidence"]}},"required":["listings","total","totals"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/public/leaderboard/icons/{hostname}/{file}":{"get":{"operationId":"publicListingIcon","summary":"Public Listing Icon","description":"Execute the UserTold public listing icon operation.","tags":["Public leaderboard"],"parameters":[{"schema":{"type":"string","description":"hostname path parameter"},"required":true,"description":"hostname path parameter","name":"hostname","in":"path"},{"schema":{"type":"string","description":"file path parameter"},"required":true,"description":"file path parameter","name":"file","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/public-listings":{"get":{"operationId":"projectPublicListings","summary":"Project Public Listings","description":"Execute the UserTold project public listings operation.","tags":["Public leaderboard"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"can_manage":{"type":"boolean"},"has_real_payment":{"type":"boolean"},"domains":{"type":"array","items":{"type":"object","properties":{"hostname":{"type":"string"},"suggested_url":{"type":"string","format":"uri"},"interview_count":{"type":"integer","minimum":0},"evidence_count":{"type":"integer","minimum":0},"listing":{"$ref":"#/components/schemas/ApiPublicListing"},"available":{"type":"boolean"}},"required":["hostname","suggested_url","interview_count","evidence_count","listing","available"]}}},"required":["can_manage","has_real_payment","domains"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/public-listings/preview":{"post":{"operationId":"projectPublicListingPreview","summary":"Project Public Listing Preview","description":"Execute the UserTold project public listing preview operation.","tags":["Public leaderboard"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"}},"required":["url"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"hostname":{"type":"string"},"destination_url":{"type":"string","format":"uri"},"title":{"type":"string"},"description":{"type":"string"}},"required":["hostname","destination_url","title","description"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/public-listings/{hostname}":{"put":{"operationId":"projectPublicListingPublish","summary":"Project Public Listing Publish","description":"Execute the UserTold project public listing publish operation.","tags":["Public leaderboard"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"hostname path parameter"},"required":true,"description":"hostname path parameter","name":"hostname","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"destination_url":{"type":"string","format":"uri"},"title":{"type":"string","minLength":1,"maxLength":100},"description":{"type":"string","minLength":1,"maxLength":280}},"required":["destination_url","title","description"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"listing":{"$ref":"#/components/schemas/ApiPublicListing"}},"required":["listing"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/public-listings/{hostname}/unpublish":{"post":{"operationId":"projectPublicListingUnpublish","summary":"Project Public Listing Unpublish","description":"Execute the UserTold project public listing unpublish operation.","tags":["Public leaderboard"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"hostname path parameter"},"required":true,"description":"hostname path parameter","name":"hostname","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"listing":{"$ref":"#/components/schemas/ApiPublicListing"}},"required":["listing"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/public/orgs/{orgHandle}/projects/{projectHandle}":{"get":{"operationId":"publicProjectGet","summary":"Public Project Get","description":"Execute the UserTold public project get operation.","tags":["Public projects"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiPublicProjectResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/publication":{"get":{"operationId":"projectPublicationGet","summary":"Project Publication Get","description":"Execute the UserTold project publication get operation.","tags":["Projects"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProjectPublicationResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"patch":{"operationId":"projectPublicationPatch","summary":"Project Publication Patch","description":"Execute the UserTold project publication patch operation.","tags":["Projects"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProjectPublicationResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/health":{"get":{"operationId":"healthCheck","summary":"Health Check","description":"Execute the UserTold health check operation.","tags":["Health"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"environment":{"type":"string"},"checks":{"type":"object","properties":{"encryption_key":{"type":"boolean"}},"required":["encryption_key"]}},"required":["status","checks"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/recording-invitations":{"get":{"operationId":"recorderInvitationsList","summary":"Recorder Invitations List","description":"Execute the UserTold recorder invitations list operation.","tags":["Recording invitations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"invitations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"projectRef":{"type":"string"},"externalRef":{"type":["string","null"]},"plan":{"type":"object","properties":{"version":{"type":"number","enum":[1]},"title":{"type":"string","minLength":1,"maxLength":160},"targetUrl":{"type":"string","maxLength":4000,"format":"uri"},"steps":{"type":"array","items":{"type":"object","properties":{"instruction":{"type":"string","minLength":1,"maxLength":2000},"url":{"type":"string","maxLength":4000,"format":"uri"}},"required":["instruction"]},"minItems":1,"maxItems":30}},"required":["version","title","targetUrl","steps"]},"launchUrl":{"type":"string"},"instructions":{"type":"string"},"expiresAt":{"type":"string"},"revoked":{"type":"boolean"},"status":{"type":"string","enum":["invited","started","uploading","completed","expired","revoked","deleted"]},"interviewRef":{"type":["string","null"]},"interviewUrl":{"type":["string","null"]},"viewUrl":{"type":["string","null"]}},"required":["id","projectRef","externalRef","plan","launchUrl","instructions","expiresAt","revoked","status","interviewRef","interviewUrl","viewUrl"]}}},"required":["invitations"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"post":{"operationId":"recorderInvitationCreate","summary":"Recorder Invitation Create","description":"Execute the UserTold recorder invitation create operation.","tags":["Recording invitations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"plan":{"type":"object","properties":{"version":{"type":"number","enum":[1]},"title":{"type":"string","minLength":1,"maxLength":160},"targetUrl":{"type":"string","maxLength":4000,"format":"uri"},"steps":{"type":"array","items":{"type":"object","properties":{"instruction":{"type":"string","minLength":1,"maxLength":2000},"url":{"type":"string","maxLength":4000,"format":"uri"}},"required":["instruction"]},"minItems":1,"maxItems":30}},"required":["version","title","targetUrl","steps"]},"studyRef":{"type":"string","minLength":1,"maxLength":100},"externalRef":{"type":"string","minLength":1,"maxLength":200},"expiresInDays":{"type":"integer","minimum":1,"maximum":30,"default":7}},"required":["plan"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"projectRef":{"type":"string"},"externalRef":{"type":["string","null"]},"plan":{"type":"object","properties":{"version":{"type":"number","enum":[1]},"title":{"type":"string","minLength":1,"maxLength":160},"targetUrl":{"type":"string","maxLength":4000,"format":"uri"},"steps":{"type":"array","items":{"type":"object","properties":{"instruction":{"type":"string","minLength":1,"maxLength":2000},"url":{"type":"string","maxLength":4000,"format":"uri"}},"required":["instruction"]},"minItems":1,"maxItems":30}},"required":["version","title","targetUrl","steps"]},"launchUrl":{"type":"string"},"instructions":{"type":"string"},"expiresAt":{"type":"string"},"revoked":{"type":"boolean"},"status":{"type":"string","enum":["invited","started","uploading","completed","expired","revoked","deleted"]},"interviewRef":{"type":["string","null"]},"interviewUrl":{"type":["string","null"]},"viewUrl":{"type":["string","null"]}},"required":["id","projectRef","externalRef","plan","launchUrl","instructions","expiresAt","revoked","status","interviewRef","interviewUrl","viewUrl"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/recording-invitations/{invitationId}":{"get":{"operationId":"recorderInvitationGet","summary":"Recorder Invitation Get","description":"Execute the UserTold recorder invitation get operation.","tags":["Recording invitations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"invitationId path parameter"},"required":true,"description":"invitationId path parameter","name":"invitationId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"projectRef":{"type":"string"},"externalRef":{"type":["string","null"]},"plan":{"type":"object","properties":{"version":{"type":"number","enum":[1]},"title":{"type":"string","minLength":1,"maxLength":160},"targetUrl":{"type":"string","maxLength":4000,"format":"uri"},"steps":{"type":"array","items":{"type":"object","properties":{"instruction":{"type":"string","minLength":1,"maxLength":2000},"url":{"type":"string","maxLength":4000,"format":"uri"}},"required":["instruction"]},"minItems":1,"maxItems":30}},"required":["version","title","targetUrl","steps"]},"launchUrl":{"type":"string"},"instructions":{"type":"string"},"expiresAt":{"type":"string"},"revoked":{"type":"boolean"},"status":{"type":"string","enum":["invited","started","uploading","completed","expired","revoked","deleted"]},"interviewRef":{"type":["string","null"]},"interviewUrl":{"type":["string","null"]},"viewUrl":{"type":["string","null"]}},"required":["id","projectRef","externalRef","plan","launchUrl","instructions","expiresAt","revoked","status","interviewRef","interviewUrl","viewUrl"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"delete":{"operationId":"recorderInvitationRevoke","summary":"Recorder Invitation Revoke","description":"Execute the UserTold recorder invitation revoke operation.","tags":["Recording invitations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"invitationId path parameter"},"required":true,"description":"invitationId path parameter","name":"invitationId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"revoked":{"type":"boolean","enum":[true]}},"required":["revoked"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/recording-invitations/{invitationId}/share":{"post":{"operationId":"recorderInvitationShare","summary":"Recorder Invitation Share","description":"Execute the UserTold recorder invitation share operation.","tags":["Recording invitations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"invitationId path parameter"},"required":true,"description":"invitationId path parameter","name":"invitationId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"projectRef":{"type":"string"},"externalRef":{"type":["string","null"]},"plan":{"type":"object","properties":{"version":{"type":"number","enum":[1]},"title":{"type":"string","minLength":1,"maxLength":160},"targetUrl":{"type":"string","maxLength":4000,"format":"uri"},"steps":{"type":"array","items":{"type":"object","properties":{"instruction":{"type":"string","minLength":1,"maxLength":2000},"url":{"type":"string","maxLength":4000,"format":"uri"}},"required":["instruction"]},"minItems":1,"maxItems":30}},"required":["version","title","targetUrl","steps"]},"launchUrl":{"type":"string"},"instructions":{"type":"string"},"expiresAt":{"type":"string"},"revoked":{"type":"boolean"},"status":{"type":"string","enum":["invited","started","uploading","completed","expired","revoked","deleted"]},"interviewRef":{"type":["string","null"]},"interviewUrl":{"type":["string","null"]},"viewUrl":{"type":["string","null"]}},"required":["id","projectRef","externalRef","plan","launchUrl","instructions","expiresAt","revoked","status","interviewRef","interviewUrl","viewUrl"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/recording-invitations/{invitationId}":{"get":{"operationId":"recorderInvitationInspect","summary":"Recorder Invitation Inspect","description":"Execute the UserTold recorder invitation inspect operation.","tags":["Recording participants"],"parameters":[{"schema":{"type":"string","description":"invitationId path parameter"},"required":true,"description":"invitationId path parameter","name":"invitationId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"plan":{"type":"object","properties":{"version":{"type":"number","enum":[1]},"title":{"type":"string","minLength":1,"maxLength":160},"targetUrl":{"type":"string","maxLength":4000,"format":"uri"},"steps":{"type":"array","items":{"type":"object","properties":{"instruction":{"type":"string","minLength":1,"maxLength":2000},"url":{"type":"string","maxLength":4000,"format":"uri"}},"required":["instruction"]},"minItems":1,"maxItems":30}},"required":["version","title","targetUrl","steps"]},"projectName":{"type":"string"},"organizerName":{"type":"string"},"expiresAt":{"type":"string"},"available":{"type":"boolean"}},"required":["id","plan","projectName","organizerName","expiresAt","available"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/recording-invitations/{invitationId}/claim":{"post":{"operationId":"recorderInvitationClaim","summary":"Recorder Invitation Claim","description":"Execute the UserTold recorder invitation claim operation.","tags":["Recording participants"],"parameters":[{"schema":{"type":"string","description":"invitationId path parameter"},"required":true,"description":"invitationId path parameter","name":"invitationId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"participantToken":{"type":"string","pattern":"^[a-f0-9]{64}$"},"consent":{"type":"boolean","enum":[true]},"participantName":{"type":"string","maxLength":160}},"required":["participantToken","consent"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"invitationId":{"type":"string"},"interviewRef":{"type":"string"},"uploadExpiresAt":{"type":"string"}},"required":["invitationId","interviewRef","uploadExpiresAt"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/recording-invitations/{invitationId}/upload":{"post":{"operationId":"recorderUploadStart","summary":"Recorder Upload Start","description":"Execute the UserTold recorder upload start operation.","tags":["Recording participants"],"parameters":[{"schema":{"type":"string","description":"invitationId path parameter"},"required":true,"description":"invitationId path parameter","name":"invitationId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"sizeBytes":{"type":"integer","minimum":1,"maximum":2147483648},"capture":{"type":"object","properties":{"durationMs":{"type":"integer","minimum":1,"maximum":86400000},"pageUrl":{"type":"string","maxLength":4000,"format":"uri"},"events":{"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":0,"maximum":29},"atMs":{"type":"integer","minimum":0}},"required":["step","atMs"]},"maxItems":1000},"interrupted":{"type":"boolean","default":false}},"required":["durationMs","pageUrl","events"]}},"required":["sizeBytes","capture"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"interviewRef":{"type":"string"},"upload":{"type":"object","properties":{"uploadId":{"type":"string"},"partSizeBytes":{"type":"number"},"partCount":{"type":"number"}},"required":["uploadId","partSizeBytes","partCount"]}},"required":["interviewRef","upload"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/recording-invitations/{invitationId}/upload/part-url":{"post":{"operationId":"recorderUploadPart","summary":"Recorder Upload Part","description":"Execute the UserTold recorder upload part operation.","tags":["Recording participants"],"parameters":[{"schema":{"type":"string","description":"invitationId path parameter"},"required":true,"description":"invitationId path parameter","name":"invitationId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"uploadId":{"type":"string","minLength":1},"partNumber":{"type":"integer","minimum":1,"maximum":10000}},"required":["uploadId","partNumber"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"expiresInSeconds":{"type":"number"}},"required":["url","expiresInSeconds"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/recording-invitations/{invitationId}/upload/complete":{"post":{"operationId":"recorderUploadComplete","summary":"Recorder Upload Complete","description":"Execute the UserTold recorder upload complete operation.","tags":["Recording participants"],"parameters":[{"schema":{"type":"string","description":"invitationId path parameter"},"required":true,"description":"invitationId path parameter","name":"invitationId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"uploadId":{"type":"string","minLength":1},"parts":{"type":"array","items":{"type":"object","properties":{"partNumber":{"type":"integer","minimum":1,"maximum":10000},"etag":{"type":"string","minLength":1}},"required":["partNumber","etag"]},"minItems":1,"maxItems":10000}},"required":["uploadId","parts"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"interviewRef":{"type":"string"},"status":{"type":"string","enum":["completed"]}},"required":["interviewRef","status"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/recording-invitations/{invitationId}/status":{"get":{"operationId":"recorderUploadStatus","summary":"Recorder Upload Status","description":"Execute the UserTold recorder upload status operation.","tags":["Recording participants"],"parameters":[{"schema":{"type":"string","description":"invitationId path parameter"},"required":true,"description":"invitationId path parameter","name":"invitationId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["pending","completed"]}},"required":["status"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/recording-shares/{invitationId}":{"get":{"operationId":"recorderPlayback","summary":"Recorder Playback","description":"Execute the UserTold recorder playback operation.","tags":["Recording participants"],"parameters":[{"schema":{"type":"string","description":"invitationId path parameter"},"required":true,"description":"invitationId path parameter","name":"invitationId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"videoUrl":{"type":["string","null"]},"expiresAt":{"type":["string","null"]}},"required":["title","videoUrl","expiresAt"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/organizations/{orgHandle}/recording-invitations":{"post":{"operationId":"recorderWebsiteInvitationCreate","summary":"Recorder Website Invitation Create","description":"Execute the UserTold recorder website invitation create operation.","tags":["Recording invitations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"targetUrl":{"type":"string","maxLength":4000,"format":"uri"},"externalRef":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":160,"default":"Website feedback"},"instructions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"minItems":1,"maxItems":30},"expiresInDays":{"type":"integer","minimum":1,"maximum":30,"default":7}},"required":["targetUrl","externalRef"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"projectRef":{"type":"string"},"externalRef":{"type":["string","null"]},"plan":{"type":"object","properties":{"version":{"type":"number","enum":[1]},"title":{"type":"string","minLength":1,"maxLength":160},"targetUrl":{"type":"string","maxLength":4000,"format":"uri"},"steps":{"type":"array","items":{"type":"object","properties":{"instruction":{"type":"string","minLength":1,"maxLength":2000},"url":{"type":"string","maxLength":4000,"format":"uri"}},"required":["instruction"]},"minItems":1,"maxItems":30}},"required":["version","title","targetUrl","steps"]},"launchUrl":{"type":"string"},"instructions":{"type":"string"},"expiresAt":{"type":"string"},"revoked":{"type":"boolean"},"status":{"type":"string","enum":["invited","started","uploading","completed","expired","revoked","deleted"]},"interviewRef":{"type":["string","null"]},"interviewUrl":{"type":["string","null"]},"viewUrl":{"type":["string","null"]}},"required":["id","projectRef","externalRef","plan","launchUrl","instructions","expiresAt","revoked","status","interviewRef","interviewUrl","viewUrl"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/.well-known/openid-configuration":{"get":{"operationId":"oauthDiscovery","summary":"Oauth Discovery","description":"Execute the UserTold oauth discovery operation.","tags":["OAuth"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"issuer":{"type":"string"},"resource":{"type":"string"},"authorization_servers":{"type":"array","items":{"type":"string"}},"bearer_methods_supported":{"type":"array","items":{"type":"string"}},"authorization_endpoint":{"type":"string"},"token_endpoint":{"type":"string"},"registration_endpoint":{"type":"string"},"jwks_uri":{"type":"string"},"response_types_supported":{"type":"array","items":{"type":"string"}},"grant_types_supported":{"type":"array","items":{"type":"string"}},"code_challenge_methods_supported":{"type":"array","items":{"type":"string"}},"token_endpoint_auth_methods_supported":{"type":"array","items":{"type":"string"}},"client_id_metadata_document_supported":{"type":"boolean"},"scopes_supported":{"type":"array","items":{"type":"string"}},"agent_auth":{"type":"object","additionalProperties":{}}},"required":["issuer","authorization_endpoint","token_endpoint","jwks_uri","response_types_supported","grant_types_supported","code_challenge_methods_supported","token_endpoint_auth_methods_supported","scopes_supported"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/.well-known/jwks.json":{"get":{"operationId":"oauthJwks","summary":"Oauth Jwks","description":"Execute the UserTold oauth jwks operation.","tags":["OAuth"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"keys":{"type":"array","items":{"type":"object","additionalProperties":{}}}},"required":["keys"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/oauth/authorize":{"get":{"operationId":"oauthAuthorize","summary":"Oauth Authorize","description":"Execute the UserTold oauth authorize operation.","tags":["OAuth"],"parameters":[{"schema":{"type":"string"},"required":false,"name":"client_id","in":"query"},{"schema":{"type":"string"},"required":false,"name":"redirect_uri","in":"query"},{"schema":{"type":"string"},"required":false,"name":"response_type","in":"query"},{"schema":{"type":"string"},"required":false,"name":"code_challenge","in":"query"},{"schema":{"type":"string"},"required":false,"name":"code_challenge_method","in":"query"},{"schema":{"type":"string"},"required":false,"name":"scope","in":"query"},{"schema":{"type":"string"},"required":false,"name":"state","in":"query"},{"schema":{"type":"string"},"required":false,"name":"resource","in":"query"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{}}}},"400":{"description":"Bad request","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"429":{"description":"Rate limit exceeded. Honor Retry-After before retrying.","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"Retry-After":{"description":"Wait at least this many seconds before retrying a throttled request.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"required":["error"]}}}},"500":{"description":"Internal server error","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/oauth/token":{"post":{"operationId":"oauthToken","summary":"Oauth Token","description":"Execute the UserTold oauth token operation.","tags":["OAuth"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"grant_type":{"type":"string"},"code":{"type":"string"},"code_verifier":{"type":"string"},"redirect_uri":{"type":"string"},"client_id":{"type":"string"},"client_secret":{"type":"string"},"refresh_token":{"type":"string"},"resource":{"type":"string"}}}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{}}}},"401":{"description":"Not authenticated","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"429":{"description":"Rate limit exceeded. Honor Retry-After before retrying.","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"Retry-After":{"description":"Wait at least this many seconds before retrying a throttled request.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"required":["error"]}}}},"500":{"description":"Internal server error","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/oauth/register":{"post":{"operationId":"oauthRegister","summary":"Oauth Register","description":"Execute the UserTold oauth register operation.","tags":["OAuth"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiOAuthDynamicClientRegistrationRequest"}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiOAuthDynamicClientRegistrationResponse"}}}},"401":{"description":"Not authenticated","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"429":{"description":"Rate limit exceeded. Honor Retry-After before retrying.","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"Retry-After":{"description":"Wait at least this many seconds before retrying a throttled request.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"required":["error"]}}}},"500":{"description":"Internal server error","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/oauth/register/{clientId}":{"get":{"operationId":"oauthRegisterGet","summary":"Oauth Register Get","description":"Execute the UserTold oauth register get operation.","tags":["OAuth"],"parameters":[{"schema":{"type":"string","description":"clientId path parameter"},"required":true,"description":"clientId path parameter","name":"clientId","in":"path"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiOAuthDynamicClientRegistrationResponse"}}}},"401":{"description":"Not authenticated","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"429":{"description":"Rate limit exceeded. Honor Retry-After before retrying.","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"Retry-After":{"description":"Wait at least this many seconds before retrying a throttled request.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"required":["error"]}}}},"500":{"description":"Internal server error","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"put":{"operationId":"oauthRegisterUpdate","summary":"Oauth Register Update","description":"Execute the UserTold oauth register update operation.","tags":["OAuth"],"parameters":[{"schema":{"type":"string","description":"clientId path parameter"},"required":true,"description":"clientId path parameter","name":"clientId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiOAuthDynamicClientRegistrationRequest"}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiOAuthDynamicClientRegistrationResponse"}}}},"400":{"description":"Bad request","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"429":{"description":"Rate limit exceeded. Honor Retry-After before retrying.","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"Retry-After":{"description":"Wait at least this many seconds before retrying a throttled request.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"required":["error"]}}}},"500":{"description":"Internal server error","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"delete":{"operationId":"oauthRegisterDelete","summary":"Oauth Register Delete","description":"Execute the UserTold oauth register delete operation.","tags":["OAuth"],"parameters":[{"schema":{"type":"string","description":"clientId path parameter"},"required":true,"description":"clientId path parameter","name":"clientId","in":"path"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{}}}},"401":{"description":"Not authenticated","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"429":{"description":"Rate limit exceeded. Honor Retry-After before retrying.","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"Retry-After":{"description":"Wait at least this many seconds before retrying a throttled request.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"required":["error"]}}}},"500":{"description":"Internal server error","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/oauth/authorize/request":{"get":{"operationId":"oauthApprovalRequest","summary":"Oauth Approval Request","description":"Execute the UserTold oauth approval request operation.","tags":["OAuth"],"parameters":[{"schema":{"type":"string"},"required":true,"name":"request","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"clientId":{"type":"string"},"clientName":{"type":"string"},"clientHost":{"type":["string","null"]},"loopbackOnly":{"type":"boolean"},"scopes":{"type":"array","items":{"type":"string"}},"user":{"type":"object","properties":{"id":{"type":"number"},"email":{"type":"string"}},"required":["id","email"]}},"required":["clientId","clientName","scopes","user"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/oauth/authorize/decision":{"post":{"operationId":"oauthApprovalDecision","summary":"Oauth Approval Decision","description":"Execute the UserTold oauth approval decision operation.","tags":["OAuth"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string"},"approved":{"type":"boolean"}},"required":["requestId","approved"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"redirectUrl":{"type":"string"}},"required":["redirectUrl"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/session":{"get":{"operationId":"authSession","summary":"Auth Session","description":"Execute the UserTold auth session operation.","tags":["Auth"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"user":{"type":["object","null"],"properties":{"id":{"type":"number"},"email":{"type":"string"},"name":{"type":"string"},"google_id":{"type":["string","null"]},"github_id":{"type":["string","null"]},"connected_auth_providers":{"type":"array","items":{"type":"string","enum":["google","github","linear"]}},"personal_org_handle":{"type":["string","null"]},"last_visited_org_handle":{"type":["string","null"]},"personal_org_name":{"type":["string","null"]},"terms_accepted_version":{"type":["string","null"]},"terms_accepted_at":{"type":["string","null"]},"personal_org_reviewed_at":{"type":["string","null"]},"needs_onboarding":{"type":"boolean"},"needs_terms_acceptance":{"type":"boolean"},"terms_update_available":{"type":"boolean"},"legal_notices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"publishedAt":{"type":"string"},"effectiveAt":{"type":"string"},"summary":{"type":"string"},"documents":{"type":"array","items":{"type":"object","properties":{"document":{"type":"string","enum":["terms","privacy","dpa"]},"version":{"type":"string"},"url":{"type":"string","format":"uri"}},"required":["document","version","url"]}},"requiresAffirmativeConsent":{"type":"boolean"}},"required":["id","publishedAt","effectiveAt","summary","documents","requiresAffirmativeConsent"]}},"needs_org_handle_review":{"type":"boolean"},"gpc_opt_out_at":{"type":["string","null"]},"is_admin":{"type":"boolean"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"account_state":{"type":"string","enum":["provisional","active","reclaimed"]},"email_verified_at":{"type":["string","null"]},"capabilities":{"type":"object","properties":{"profile_workspace_edit":{"type":"boolean"},"draft_research":{"type":"boolean"},"paid_inference":{"type":"boolean"},"promotional_credit":{"type":"boolean"},"study_launch":{"type":"boolean"},"billing_changes":{"type":"boolean"},"exports":{"type":"boolean"},"invitations":{"type":"boolean"},"integrations":{"type":"boolean"},"cli_mcp_grants":{"type":"boolean"}},"required":["profile_workspace_edit","draft_research","paid_inference","promotional_credit","study_launch","billing_changes","exports","invitations","integrations","cli_mcp_grants"]}},"required":["id","email","name","google_id","github_id","connected_auth_providers","personal_org_handle","last_visited_org_handle","personal_org_name","terms_accepted_version","terms_accepted_at","personal_org_reviewed_at","needs_onboarding","needs_terms_acceptance","terms_update_available","needs_org_handle_review","gpc_opt_out_at","is_admin","created_at","updated_at","account_state","email_verified_at","capabilities"]},"config":{"type":"object","properties":{"googleClientId":{"type":"string"},"githubClientId":{"type":"string"},"linearClientId":{"type":"string"},"environment":{"type":"string"},"passwordAuthEnabled":{"type":"boolean"},"passwordRegistrationEnabled":{"type":"boolean"},"turnstileSiteKey":{"type":"string"}},"required":["googleClientId","githubClientId","environment","passwordAuthEnabled","passwordRegistrationEnabled","turnstileSiteKey"]}},"required":["user","config"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/session-state":{"post":{"operationId":"authSessionState","summary":"Auth Session State","description":"Execute the UserTold auth session state operation.","tags":["Auth"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string"},"cookieName":{"type":"string"},"expiresIn":{"type":"number"},"tokenType":{"type":"string","enum":["Bearer"]}},"required":["token","cookieName","expiresIn","tokenType"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Agent-issued tokens cannot mint browser sessions.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/google/login":{"get":{"operationId":"authGoogleLogin","summary":"Auth Google Login","description":"Execute the UserTold auth google login operation.","tags":["Auth"],"parameters":[{"schema":{"type":"string"},"required":false,"name":"return_to","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/google/callback":{"get":{"operationId":"authGoogleCallback","summary":"Auth Google Callback","description":"Execute the UserTold auth google callback operation.","tags":["Auth"],"parameters":[{"schema":{"type":"string"},"required":false,"name":"code","in":"query"},{"schema":{"type":"string"},"required":false,"name":"state","in":"query"},{"schema":{"type":"string"},"required":false,"name":"error","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/github/login":{"get":{"operationId":"authGithubLogin","summary":"Auth Github Login","description":"Execute the UserTold auth github login operation.","tags":["Auth"],"parameters":[{"schema":{"type":"string"},"required":false,"name":"return_to","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/github/callback":{"get":{"operationId":"authGithubCallback","summary":"Auth Github Callback","description":"Execute the UserTold auth github callback operation.","tags":["Auth"],"parameters":[{"schema":{"type":"string"},"required":false,"name":"code","in":"query"},{"schema":{"type":"string"},"required":false,"name":"state","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/linear/login":{"get":{"operationId":"authLinearLogin","summary":"Auth Linear Login","description":"Execute the UserTold auth linear login operation.","tags":["Auth"],"parameters":[{"schema":{"type":"string"},"required":false,"name":"return_to","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/linear/callback":{"get":{"operationId":"authLinearCallback","summary":"Auth Linear Callback","description":"Execute the UserTold auth linear callback operation.","tags":["Auth"],"parameters":[{"schema":{"type":"string"},"required":false,"name":"code","in":"query"},{"schema":{"type":"string"},"required":false,"name":"state","in":"query"},{"schema":{"type":"string"},"required":false,"name":"error","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/logout":{"post":{"operationId":"authLogout","summary":"Auth Logout","description":"Execute the UserTold auth logout operation.","tags":["Auth"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/onboarding":{"post":{"operationId":"authOnboarding","summary":"Auth Onboarding","description":"Execute the UserTold auth onboarding operation.","tags":["Auth"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"acceptTerms":{"type":"boolean"},"personalOrgHandle":{"type":"string","maxLength":64},"personalOrgName":{"type":"string","maxLength":80}},"required":["acceptTerms"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"user":{"type":["object","null"],"properties":{"id":{"type":"number"},"email":{"type":"string"},"name":{"type":"string"},"google_id":{"type":["string","null"]},"github_id":{"type":["string","null"]},"connected_auth_providers":{"type":"array","items":{"type":"string","enum":["google","github","linear"]}},"personal_org_handle":{"type":["string","null"]},"last_visited_org_handle":{"type":["string","null"]},"personal_org_name":{"type":["string","null"]},"terms_accepted_version":{"type":["string","null"]},"terms_accepted_at":{"type":["string","null"]},"personal_org_reviewed_at":{"type":["string","null"]},"needs_onboarding":{"type":"boolean"},"needs_terms_acceptance":{"type":"boolean"},"terms_update_available":{"type":"boolean"},"legal_notices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"publishedAt":{"type":"string"},"effectiveAt":{"type":"string"},"summary":{"type":"string"},"documents":{"type":"array","items":{"type":"object","properties":{"document":{"type":"string","enum":["terms","privacy","dpa"]},"version":{"type":"string"},"url":{"type":"string","format":"uri"}},"required":["document","version","url"]}},"requiresAffirmativeConsent":{"type":"boolean"}},"required":["id","publishedAt","effectiveAt","summary","documents","requiresAffirmativeConsent"]}},"needs_org_handle_review":{"type":"boolean"},"gpc_opt_out_at":{"type":["string","null"]},"is_admin":{"type":"boolean"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"account_state":{"type":"string","enum":["provisional","active","reclaimed"]},"email_verified_at":{"type":["string","null"]},"capabilities":{"type":"object","properties":{"profile_workspace_edit":{"type":"boolean"},"draft_research":{"type":"boolean"},"paid_inference":{"type":"boolean"},"promotional_credit":{"type":"boolean"},"study_launch":{"type":"boolean"},"billing_changes":{"type":"boolean"},"exports":{"type":"boolean"},"invitations":{"type":"boolean"},"integrations":{"type":"boolean"},"cli_mcp_grants":{"type":"boolean"}},"required":["profile_workspace_edit","draft_research","paid_inference","promotional_credit","study_launch","billing_changes","exports","invitations","integrations","cli_mcp_grants"]}},"required":["id","email","name","google_id","github_id","connected_auth_providers","personal_org_handle","last_visited_org_handle","personal_org_name","terms_accepted_version","terms_accepted_at","personal_org_reviewed_at","needs_onboarding","needs_terms_acceptance","terms_update_available","needs_org_handle_review","gpc_opt_out_at","is_admin","created_at","updated_at","account_state","email_verified_at","capabilities"]}},"required":["success","user"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/sessions/revoke-older":{"post":{"operationId":"authRevokeOlderSessions","summary":"Auth Revoke Older Sessions","description":"Execute the UserTold auth revoke older sessions operation.","tags":["Auth"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"session_tokens_valid_after":{"type":"number"}},"required":["success","session_tokens_valid_after"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/oauth-grants":{"get":{"operationId":"authOAuthGrantsList","summary":"Auth OAuth Grants List","description":"Execute the UserTold auth oauth grants list operation.","tags":["Auth"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"grants":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"number"},"workspaceId":{"type":["string","null"]},"clientId":{"type":"string"},"clientName":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string"},"lastUsedAt":{"type":"string"},"revokedAt":{"type":["string","null"]},"revocationReason":{"type":["string","null"]}},"required":["id","accountId","workspaceId","clientId","clientName","scopes","createdAt","lastUsedAt","revokedAt","revocationReason"]}}},"required":["grants"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"delete":{"operationId":"authOAuthGrantsRevokeAll","summary":"Auth OAuth Grants Revoke All","description":"Execute the UserTold auth oauth grants revoke all operation.","tags":["Auth"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"revoked":{"type":"number"}},"required":["success","revoked"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/oauth-grants/{grantId}":{"delete":{"operationId":"authOAuthGrantRevoke","summary":"Auth OAuth Grant Revoke","description":"Execute the UserTold auth oauth grant revoke operation.","tags":["Auth"],"parameters":[{"schema":{"type":"string","description":"grantId path parameter"},"required":true,"description":"grantId path parameter","name":"grantId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]}},"required":["success"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/password/login":{"post":{"operationId":"authPasswordLogin","summary":"Auth Password Login","description":"Execute the UserTold auth password login operation.","tags":["Auth"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"password":{"type":"string","maxLength":4096}},"required":["email","password"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"user":{"type":"object","properties":{"id":{"type":"number"},"email":{"type":"string"},"name":{"type":"string"},"google_id":{"type":["string","null"]},"github_id":{"type":["string","null"]},"connected_auth_providers":{"type":"array","items":{"type":"string","enum":["google","github","linear"]}},"personal_org_handle":{"type":["string","null"]},"last_visited_org_handle":{"type":["string","null"]},"personal_org_name":{"type":["string","null"]},"terms_accepted_version":{"type":["string","null"]},"terms_accepted_at":{"type":["string","null"]},"personal_org_reviewed_at":{"type":["string","null"]},"needs_onboarding":{"type":"boolean"},"needs_terms_acceptance":{"type":"boolean"},"terms_update_available":{"type":"boolean"},"legal_notices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"publishedAt":{"type":"string"},"effectiveAt":{"type":"string"},"summary":{"type":"string"},"documents":{"type":"array","items":{"type":"object","properties":{"document":{"type":"string","enum":["terms","privacy","dpa"]},"version":{"type":"string"},"url":{"type":"string","format":"uri"}},"required":["document","version","url"]}},"requiresAffirmativeConsent":{"type":"boolean"}},"required":["id","publishedAt","effectiveAt","summary","documents","requiresAffirmativeConsent"]}},"needs_org_handle_review":{"type":"boolean"},"gpc_opt_out_at":{"type":["string","null"]},"is_admin":{"type":"boolean"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"account_state":{"type":"string","enum":["provisional","active","reclaimed"]},"email_verified_at":{"type":["string","null"]},"capabilities":{"type":"object","properties":{"profile_workspace_edit":{"type":"boolean"},"draft_research":{"type":"boolean"},"paid_inference":{"type":"boolean"},"promotional_credit":{"type":"boolean"},"study_launch":{"type":"boolean"},"billing_changes":{"type":"boolean"},"exports":{"type":"boolean"},"invitations":{"type":"boolean"},"integrations":{"type":"boolean"},"cli_mcp_grants":{"type":"boolean"}},"required":["profile_workspace_edit","draft_research","paid_inference","promotional_credit","study_launch","billing_changes","exports","invitations","integrations","cli_mcp_grants"]}},"required":["id","email","name","google_id","github_id","connected_auth_providers","personal_org_handle","last_visited_org_handle","personal_org_name","terms_accepted_version","terms_accepted_at","personal_org_reviewed_at","needs_onboarding","needs_terms_acceptance","terms_update_available","needs_org_handle_review","gpc_opt_out_at","is_admin","created_at","updated_at","account_state","email_verified_at","capabilities"]},"landing_path":{"type":"string"}},"required":["user"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/password/register":{"post":{"operationId":"authPasswordRegister","summary":"Auth Password Register","description":"Execute the UserTold auth password register operation.","tags":["Auth"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"displayName":{"type":"string","maxLength":80},"email":{"type":"string"},"password":{"type":"string","maxLength":4096},"passwordConfirmation":{"type":"string","maxLength":4096},"acceptTerms":{"type":"boolean","enum":[true]},"turnstileToken":{"type":"string","minLength":1,"maxLength":2048},"invitationToken":{"type":"string","minLength":32,"maxLength":512},"returnTo":{"type":"string","maxLength":2048}},"required":["email","password","passwordConfirmation","acceptTerms","turnstileToken"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"accepted":{"type":"boolean","enum":[true]},"user":{"type":"object","properties":{"id":{"type":"number"},"email":{"type":"string"},"name":{"type":"string"},"google_id":{"type":["string","null"]},"github_id":{"type":["string","null"]},"connected_auth_providers":{"type":"array","items":{"type":"string","enum":["google","github","linear"]}},"personal_org_handle":{"type":["string","null"]},"last_visited_org_handle":{"type":["string","null"]},"personal_org_name":{"type":["string","null"]},"terms_accepted_version":{"type":["string","null"]},"terms_accepted_at":{"type":["string","null"]},"personal_org_reviewed_at":{"type":["string","null"]},"needs_onboarding":{"type":"boolean"},"needs_terms_acceptance":{"type":"boolean"},"terms_update_available":{"type":"boolean"},"legal_notices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"publishedAt":{"type":"string"},"effectiveAt":{"type":"string"},"summary":{"type":"string"},"documents":{"type":"array","items":{"type":"object","properties":{"document":{"type":"string","enum":["terms","privacy","dpa"]},"version":{"type":"string"},"url":{"type":"string","format":"uri"}},"required":["document","version","url"]}},"requiresAffirmativeConsent":{"type":"boolean"}},"required":["id","publishedAt","effectiveAt","summary","documents","requiresAffirmativeConsent"]}},"needs_org_handle_review":{"type":"boolean"},"gpc_opt_out_at":{"type":["string","null"]},"is_admin":{"type":"boolean"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"account_state":{"type":"string","enum":["provisional","active","reclaimed"]},"email_verified_at":{"type":["string","null"]},"capabilities":{"type":"object","properties":{"profile_workspace_edit":{"type":"boolean"},"draft_research":{"type":"boolean"},"paid_inference":{"type":"boolean"},"promotional_credit":{"type":"boolean"},"study_launch":{"type":"boolean"},"billing_changes":{"type":"boolean"},"exports":{"type":"boolean"},"invitations":{"type":"boolean"},"integrations":{"type":"boolean"},"cli_mcp_grants":{"type":"boolean"}},"required":["profile_workspace_edit","draft_research","paid_inference","promotional_credit","study_launch","billing_changes","exports","invitations","integrations","cli_mcp_grants"]}},"required":["id","email","name","google_id","github_id","connected_auth_providers","personal_org_handle","last_visited_org_handle","personal_org_name","terms_accepted_version","terms_accepted_at","personal_org_reviewed_at","needs_onboarding","needs_terms_acceptance","terms_update_available","needs_org_handle_review","gpc_opt_out_at","is_admin","created_at","updated_at","account_state","email_verified_at","capabilities"]},"landing_path":{"type":"string"}},"required":["accepted"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/password/verification/resend":{"post":{"operationId":"authPasswordVerificationResend","summary":"Auth Password Verification Resend","description":"Execute the UserTold auth password verification resend operation.","tags":["Auth"],"parameters":[{"schema":{"type":"string","maxLength":2048},"required":false,"name":"returnTo","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"accepted":{"type":"boolean","enum":[true]}},"required":["accepted"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/password/verification/complete":{"post":{"operationId":"authPasswordVerificationComplete","summary":"Auth Password Verification Complete","description":"Execute the UserTold auth password verification complete operation.","tags":["Auth"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":32,"maxLength":256}},"required":["token"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"state":{"type":"string","enum":["verified","already_verified"]},"user":{"type":"object","properties":{"id":{"type":"number"},"email":{"type":"string"},"name":{"type":"string"},"google_id":{"type":["string","null"]},"github_id":{"type":["string","null"]},"connected_auth_providers":{"type":"array","items":{"type":"string","enum":["google","github","linear"]}},"personal_org_handle":{"type":["string","null"]},"last_visited_org_handle":{"type":["string","null"]},"personal_org_name":{"type":["string","null"]},"terms_accepted_version":{"type":["string","null"]},"terms_accepted_at":{"type":["string","null"]},"personal_org_reviewed_at":{"type":["string","null"]},"needs_onboarding":{"type":"boolean"},"needs_terms_acceptance":{"type":"boolean"},"terms_update_available":{"type":"boolean"},"legal_notices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"publishedAt":{"type":"string"},"effectiveAt":{"type":"string"},"summary":{"type":"string"},"documents":{"type":"array","items":{"type":"object","properties":{"document":{"type":"string","enum":["terms","privacy","dpa"]},"version":{"type":"string"},"url":{"type":"string","format":"uri"}},"required":["document","version","url"]}},"requiresAffirmativeConsent":{"type":"boolean"}},"required":["id","publishedAt","effectiveAt","summary","documents","requiresAffirmativeConsent"]}},"needs_org_handle_review":{"type":"boolean"},"gpc_opt_out_at":{"type":["string","null"]},"is_admin":{"type":"boolean"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"account_state":{"type":"string","enum":["provisional","active","reclaimed"]},"email_verified_at":{"type":["string","null"]},"capabilities":{"type":"object","properties":{"profile_workspace_edit":{"type":"boolean"},"draft_research":{"type":"boolean"},"paid_inference":{"type":"boolean"},"promotional_credit":{"type":"boolean"},"study_launch":{"type":"boolean"},"billing_changes":{"type":"boolean"},"exports":{"type":"boolean"},"invitations":{"type":"boolean"},"integrations":{"type":"boolean"},"cli_mcp_grants":{"type":"boolean"}},"required":["profile_workspace_edit","draft_research","paid_inference","promotional_credit","study_launch","billing_changes","exports","invitations","integrations","cli_mcp_grants"]}},"required":["id","email","name","google_id","github_id","connected_auth_providers","personal_org_handle","last_visited_org_handle","personal_org_name","terms_accepted_version","terms_accepted_at","personal_org_reviewed_at","needs_onboarding","needs_terms_acceptance","terms_update_available","needs_org_handle_review","gpc_opt_out_at","is_admin","created_at","updated_at","account_state","email_verified_at","capabilities"]}},"required":["state","user"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/password/verification/email":{"post":{"operationId":"authPasswordVerificationEmailChange","summary":"Auth Password Verification Email Change","description":"Execute the UserTold auth password verification email change operation.","tags":["Auth"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"returnTo":{"type":"string","maxLength":2048}},"required":["email"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"accepted":{"type":"boolean","enum":[true]},"user":{"type":"object","properties":{"id":{"type":"number"},"email":{"type":"string"},"name":{"type":"string"},"google_id":{"type":["string","null"]},"github_id":{"type":["string","null"]},"connected_auth_providers":{"type":"array","items":{"type":"string","enum":["google","github","linear"]}},"personal_org_handle":{"type":["string","null"]},"last_visited_org_handle":{"type":["string","null"]},"personal_org_name":{"type":["string","null"]},"terms_accepted_version":{"type":["string","null"]},"terms_accepted_at":{"type":["string","null"]},"personal_org_reviewed_at":{"type":["string","null"]},"needs_onboarding":{"type":"boolean"},"needs_terms_acceptance":{"type":"boolean"},"terms_update_available":{"type":"boolean"},"legal_notices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"publishedAt":{"type":"string"},"effectiveAt":{"type":"string"},"summary":{"type":"string"},"documents":{"type":"array","items":{"type":"object","properties":{"document":{"type":"string","enum":["terms","privacy","dpa"]},"version":{"type":"string"},"url":{"type":"string","format":"uri"}},"required":["document","version","url"]}},"requiresAffirmativeConsent":{"type":"boolean"}},"required":["id","publishedAt","effectiveAt","summary","documents","requiresAffirmativeConsent"]}},"needs_org_handle_review":{"type":"boolean"},"gpc_opt_out_at":{"type":["string","null"]},"is_admin":{"type":"boolean"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"account_state":{"type":"string","enum":["provisional","active","reclaimed"]},"email_verified_at":{"type":["string","null"]},"capabilities":{"type":"object","properties":{"profile_workspace_edit":{"type":"boolean"},"draft_research":{"type":"boolean"},"paid_inference":{"type":"boolean"},"promotional_credit":{"type":"boolean"},"study_launch":{"type":"boolean"},"billing_changes":{"type":"boolean"},"exports":{"type":"boolean"},"invitations":{"type":"boolean"},"integrations":{"type":"boolean"},"cli_mcp_grants":{"type":"boolean"}},"required":["profile_workspace_edit","draft_research","paid_inference","promotional_credit","study_launch","billing_changes","exports","invitations","integrations","cli_mcp_grants"]}},"required":["id","email","name","google_id","github_id","connected_auth_providers","personal_org_handle","last_visited_org_handle","personal_org_name","terms_accepted_version","terms_accepted_at","personal_org_reviewed_at","needs_onboarding","needs_terms_acceptance","terms_update_available","needs_org_handle_review","gpc_opt_out_at","is_admin","created_at","updated_at","account_state","email_verified_at","capabilities"]},"landing_path":{"type":"string"}},"required":["accepted"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/password/setup/request":{"post":{"operationId":"authPasswordSetupRequest","summary":"Auth Password Setup Request","description":"Execute the UserTold auth password setup request operation.","tags":["Auth"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"returnTo":{"type":"string","maxLength":2048}},"required":["email"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"accepted":{"type":"boolean","enum":[true]}},"required":["accepted"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/password/setup/context":{"get":{"operationId":"authPasswordSetupContext","summary":"Auth Password Setup Context","description":"Execute the UserTold auth password setup context operation.","tags":["Auth"],"parameters":[{"schema":{"type":"string","minLength":32,"maxLength":256},"required":true,"name":"token","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"isNewAccount":{"type":"boolean"}},"required":["email","isNewAccount"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/password/setup/complete":{"post":{"operationId":"authPasswordSetupComplete","summary":"Auth Password Setup Complete","description":"Execute the UserTold auth password setup complete operation.","tags":["Auth"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":32,"maxLength":256},"newPassword":{"type":"string","maxLength":4096},"displayName":{"type":"string","maxLength":80}},"required":["token","newPassword"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"user":{"type":"object","properties":{"id":{"type":"number"},"email":{"type":"string"},"name":{"type":"string"},"google_id":{"type":["string","null"]},"github_id":{"type":["string","null"]},"connected_auth_providers":{"type":"array","items":{"type":"string","enum":["google","github","linear"]}},"personal_org_handle":{"type":["string","null"]},"last_visited_org_handle":{"type":["string","null"]},"personal_org_name":{"type":["string","null"]},"terms_accepted_version":{"type":["string","null"]},"terms_accepted_at":{"type":["string","null"]},"personal_org_reviewed_at":{"type":["string","null"]},"needs_onboarding":{"type":"boolean"},"needs_terms_acceptance":{"type":"boolean"},"terms_update_available":{"type":"boolean"},"legal_notices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"publishedAt":{"type":"string"},"effectiveAt":{"type":"string"},"summary":{"type":"string"},"documents":{"type":"array","items":{"type":"object","properties":{"document":{"type":"string","enum":["terms","privacy","dpa"]},"version":{"type":"string"},"url":{"type":"string","format":"uri"}},"required":["document","version","url"]}},"requiresAffirmativeConsent":{"type":"boolean"}},"required":["id","publishedAt","effectiveAt","summary","documents","requiresAffirmativeConsent"]}},"needs_org_handle_review":{"type":"boolean"},"gpc_opt_out_at":{"type":["string","null"]},"is_admin":{"type":"boolean"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"account_state":{"type":"string","enum":["provisional","active","reclaimed"]},"email_verified_at":{"type":["string","null"]},"capabilities":{"type":"object","properties":{"profile_workspace_edit":{"type":"boolean"},"draft_research":{"type":"boolean"},"paid_inference":{"type":"boolean"},"promotional_credit":{"type":"boolean"},"study_launch":{"type":"boolean"},"billing_changes":{"type":"boolean"},"exports":{"type":"boolean"},"invitations":{"type":"boolean"},"integrations":{"type":"boolean"},"cli_mcp_grants":{"type":"boolean"}},"required":["profile_workspace_edit","draft_research","paid_inference","promotional_credit","study_launch","billing_changes","exports","invitations","integrations","cli_mcp_grants"]}},"required":["id","email","name","google_id","github_id","connected_auth_providers","personal_org_handle","last_visited_org_handle","personal_org_name","terms_accepted_version","terms_accepted_at","personal_org_reviewed_at","needs_onboarding","needs_terms_acceptance","terms_update_available","needs_org_handle_review","gpc_opt_out_at","is_admin","created_at","updated_at","account_state","email_verified_at","capabilities"]},"landing_path":{"type":"string"}},"required":["user"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/password/status":{"get":{"operationId":"authPasswordStatus","summary":"Auth Password Status","description":"Execute the UserTold auth password status operation.","tags":["Auth"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"configured":{"type":"boolean"}},"required":["configured"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/auth/password/change":{"post":{"operationId":"authPasswordChange","summary":"Auth Password Change","description":"Execute the UserTold auth password change operation.","tags":["Auth"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"currentPassword":{"type":"string","maxLength":4096},"newPassword":{"type":"string","maxLength":4096}},"required":["currentPassword","newPassword"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/user/profile":{"get":{"operationId":"userProfileGet","summary":"User Profile Get","description":"Execute the UserTold user profile get operation.","tags":["User"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number"},"email":{"type":"string"},"name":{"type":"string"},"personal_org_handle":{"type":["string","null"]}},"required":["id","email","name","personal_org_handle"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"patch":{"operationId":"userProfileUpdate","summary":"User Profile Update","description":"Execute the UserTold user profile update operation.","tags":["User"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","maxLength":80}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"user":{"type":"object","properties":{"id":{"type":"number"},"email":{"type":"string"},"name":{"type":"string"},"personal_org_handle":{"type":["string","null"]}},"required":["id","email","name","personal_org_handle"]}},"required":["success","user"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/user/email-notifications":{"get":{"operationId":"userEmailNotificationPreferencesGet","summary":"User Email Notification Preferences Get","description":"Execute the UserTold user email notification preferences get operation.","tags":["User"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"research":{"type":"boolean"},"credits":{"type":"boolean"},"integrations":{"type":"boolean"},"required":{"type":"array","items":{"type":"string","enum":["account_security","billing_receipts","legal_notices"]}}},"required":["research","credits","integrations","required"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"patch":{"operationId":"userEmailNotificationPreferencesUpdate","summary":"User Email Notification Preferences Update","description":"Execute the UserTold user email notification preferences update operation.","tags":["User"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"research":{"type":"boolean"},"credits":{"type":"boolean"},"integrations":{"type":"boolean"}},"required":["research","credits","integrations"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"research":{"type":"boolean"},"credits":{"type":"boolean"},"integrations":{"type":"boolean"},"required":{"type":"array","items":{"type":"string","enum":["account_security","billing_receipts","legal_notices"]}}},"required":["research","credits","integrations","required"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/user/legal-notices/{updateId}/action":{"post":{"operationId":"userLegalNoticeAction","summary":"User Legal Notice Action","description":"Execute the UserTold user legal notice action operation.","tags":["User"],"parameters":[{"schema":{"type":"string","description":"updateId path parameter"},"required":true,"description":"updateId path parameter","name":"updateId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string","enum":["acknowledge","dismiss"]}},"required":["action"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/users/me/last-visited-org":{"post":{"operationId":"userLastVisitedOrg","summary":"User Last Visited Org","description":"Execute the UserTold user last visited org operation.","tags":["User"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"handle":{"type":"string","maxLength":64}},"required":["handle"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]}},"required":["success"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/user/account":{"delete":{"operationId":"userAccountDelete","summary":"User Account Delete","description":"Execute the UserTold user account delete operation.","tags":["User"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]}},"required":["success"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/user/data-exports":{"post":{"operationId":"dataExportCreate","summary":"Data Export Create","description":"Execute the UserTold data export create operation.","tags":["Data exports"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiDataExportCreateResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"get":{"operationId":"dataExportList","summary":"Data Export List","description":"Execute the UserTold data export list operation.","tags":["Data exports"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"jobs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["queued","running","completed","failed"]},"requested_at":{"type":"string"},"started_at":{"type":["string","null"]},"completed_at":{"type":["string","null"]},"expires_at":{"type":"string"},"download_url":{"type":["string","null"]},"error_message":{"type":["string","null"]}},"required":["id","status","requested_at","started_at","completed_at","expires_at","download_url","error_message"]}},"media_url_ttl_seconds":{"type":"number"}},"required":["jobs","media_url_ttl_seconds"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/user/data-exports/{jobId}":{"get":{"operationId":"dataExportGet","summary":"Data Export Get","description":"Execute the UserTold data export get operation.","tags":["Data exports"],"parameters":[{"schema":{"type":"string","description":"jobId path parameter"},"required":true,"description":"jobId path parameter","name":"jobId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiDataExportCreateResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/user/data-exports/{jobId}/download":{"get":{"operationId":"dataExportDownload","summary":"Data Export Download","description":"Execute the UserTold data export download operation.","tags":["Data exports"],"parameters":[{"schema":{"type":"string","description":"jobId path parameter"},"required":true,"description":"jobId path parameter","name":"jobId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/setup-advice":{"post":{"operationId":"setupAdviceRecommend","summary":"Setup Advice Recommend","description":"Execute the UserTold setup advice recommend operation.","tags":["Setup"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"request":{"type":"string","minLength":10,"maxLength":4000}},"required":["request"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"answer":{"type":"string","minLength":1,"maxLength":8000},"sources":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":200},"url":{"type":"string","format":"uri"}},"required":["title","url"]},"minItems":1,"maxItems":8}},"required":["answer","sources"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/documentation/knowledge":{"post":{"operationId":"documentationKnowledgeQuery","summary":"Query UserTold documentation knowledge","description":"Returns a short answer and canonical sources from UserTold documentation for use by a configured HTTPS Knowledge Action.","tags":["Documentation"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":500}},"required":["query"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"answer":{"type":"string","minLength":1,"maxLength":2000},"sources":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":200},"url":{"type":"string","format":"uri"}},"required":["title","url"]},"minItems":1,"maxItems":8}},"required":["answer","sources"]}}}},"400":{"description":"Bad request","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"429":{"description":"Rate limit exceeded. Honor Retry-After before retrying.","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"Retry-After":{"description":"Wait at least this many seconds before retrying a throttled request.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"required":["error"]}}}},"500":{"description":"Internal server error","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/organizations/me":{"get":{"operationId":"organizationsListForUser","summary":"Organizations List For User","description":"Execute the UserTold organizations list for user operation.","tags":["Organizations"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"organizations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"handle":{"type":"string"},"name":{"type":"string"},"role":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","handle","name","role","createdAt"]}}},"required":["organizations"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/organizations":{"post":{"operationId":"organizationCreate","summary":"Organization Create","description":"Execute the UserTold organization create operation.","tags":["Organizations"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"orgHandle":{"type":"string","maxLength":64},"orgName":{"type":"string","maxLength":80}},"required":["orgHandle","orgName"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"object","properties":{"id":{"type":"string"},"handle":{"type":"string"},"name":{"type":"string"},"role":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","handle","name","role","createdAt"]}},"required":["organization"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/organizations/{orgHandle}":{"get":{"operationId":"organizationGet","summary":"Organization Get","description":"Execute the UserTold organization get operation.","tags":["Organizations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"object","properties":{"id":{"type":"string"},"handle":{"type":"string"},"name":{"type":"string"},"role":{"type":"string"},"createdAt":{"type":"string"},"identityVersion":{"type":"integer","exclusiveMinimum":0}},"required":["id","handle","name","role","createdAt","identityVersion"]}},"required":["organization"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"patch":{"operationId":"organizationIdentityUpdate","summary":"Organization Identity Update","description":"Execute the UserTold organization identity update operation.","tags":["Organizations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"orgHandle":{"type":"string","maxLength":64},"orgName":{"type":"string","maxLength":80},"expectedIdentityVersion":{"type":"integer","exclusiveMinimum":0}},"required":["orgHandle","orgName","expectedIdentityVersion"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"object","properties":{"id":{"type":"string"},"handle":{"type":"string"},"name":{"type":"string"},"role":{"type":"string"},"createdAt":{"type":"string"},"identityVersion":{"type":"integer","exclusiveMinimum":0}},"required":["id","handle","name","role","createdAt","identityVersion"]}},"required":["organization"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/organizations/{orgHandle}/participants":{"get":{"operationId":"organizationParticipantsList","summary":"Organization Participants List","description":"Execute the UserTold organization participants list operation.","tags":["Organizations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"participants":{"type":"array","items":{"type":"object","properties":{"userId":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"},"role":{"type":"string","enum":["owner","admin","member"]},"projectAccess":{"type":"object","properties":{"scope":{"type":"string","enum":["all","selected"]},"projects":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"handle":{"type":"string"},"name":{"type":"string"}},"required":["id","handle","name"]}}},"required":["scope","projects"]}},"required":["userId","name","email","role","projectAccess"]}},"projects":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"handle":{"type":"string"},"name":{"type":"string"}},"required":["id","handle","name"]}}},"required":["participants","projects"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/organizations/{orgHandle}/participants/{targetUserId}":{"patch":{"operationId":"organizationParticipantUpdate","summary":"Organization Participant Update","description":"Execute the UserTold organization participant update operation.","tags":["Organizations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"targetUserId path parameter"},"required":true,"description":"targetUserId path parameter","name":"targetUserId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"role":{"type":"string","enum":["owner","admin","member"]},"projectAccess":{"oneOf":[{"type":"object","properties":{"scope":{"type":"string","enum":["all"]}},"required":["scope"],"additionalProperties":false},{"type":"object","properties":{"scope":{"type":"string","enum":["selected"]},"projectIds":{"type":"array","items":{"type":"string"},"maxItems":500}},"required":["scope","projectIds"],"additionalProperties":false}]}},"required":["role","projectAccess"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"participant":{"type":"object","properties":{"userId":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"},"role":{"type":"string","enum":["owner","admin","member"]},"projectAccess":{"type":"object","properties":{"scope":{"type":"string","enum":["all","selected"]},"projects":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"handle":{"type":"string"},"name":{"type":"string"}},"required":["id","handle","name"]}}},"required":["scope","projects"]}},"required":["userId","name","email","role","projectAccess"]}},"required":["participant"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"delete":{"operationId":"organizationParticipantRemove","summary":"Organization Participant Remove","description":"Execute the UserTold organization participant remove operation.","tags":["Organizations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"targetUserId path parameter"},"required":true,"description":"targetUserId path parameter","name":"targetUserId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"removed":{"type":"boolean","enum":[true]}},"required":["removed"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/organizations/{orgHandle}/invitations":{"get":{"operationId":"organizationInvitationsList","summary":"Organization Invitations List","description":"Execute the UserTold organization invitations list operation.","tags":["Organizations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"invitations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string"},"role":{"type":"string","enum":["owner","admin","member"]},"projectAccess":{"type":"object","properties":{"scope":{"type":"string","enum":["all","selected"]},"projectIds":{"type":"array","items":{"type":"string"}}},"required":["scope","projectIds"]},"expiresAt":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","email","role","projectAccess","expiresAt","createdAt"]}}},"required":["invitations"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"post":{"operationId":"organizationInvitationCreate","summary":"Organization Invitation Create","description":"Execute the UserTold organization invitation create operation.","tags":["Organizations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","maxLength":254,"format":"email"},"role":{"type":"string","enum":["owner","admin","member"]},"projectAccess":{"oneOf":[{"type":"object","properties":{"scope":{"type":"string","enum":["all"]}},"required":["scope"],"additionalProperties":false},{"type":"object","properties":{"scope":{"type":"string","enum":["selected"]},"projectIds":{"type":"array","items":{"type":"string"},"maxItems":500}},"required":["scope","projectIds"],"additionalProperties":false}]}},"required":["email","role","projectAccess"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"invitation":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string"},"role":{"type":"string","enum":["owner","admin","member"]},"projectAccess":{"type":"object","properties":{"scope":{"type":"string","enum":["all","selected"]},"projectIds":{"type":"array","items":{"type":"string"}}},"required":["scope","projectIds"]},"expiresAt":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","email","role","projectAccess","expiresAt","createdAt"]},"participant":{"type":"object","properties":{"userId":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"},"role":{"type":"string","enum":["owner","admin","member"]},"projectAccess":{"type":"object","properties":{"scope":{"type":"string","enum":["all","selected"]},"projects":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"handle":{"type":"string"},"name":{"type":"string"}},"required":["id","handle","name"]}}},"required":["scope","projects"]}},"required":["userId","name","email","role","projectAccess"]},"emailed":{"type":"boolean"}},"required":["emailed"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/organizations/{orgHandle}/projects/{projectHandle}/share":{"post":{"operationId":"organizationProjectShare","summary":"Organization Project Share","description":"Execute the UserTold organization project share operation.","tags":["Organizations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","maxLength":254,"format":"email"}},"required":["email"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"invitation":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string"},"role":{"type":"string","enum":["owner","admin","member"]},"projectAccess":{"type":"object","properties":{"scope":{"type":"string","enum":["all","selected"]},"projectIds":{"type":"array","items":{"type":"string"}}},"required":["scope","projectIds"]},"expiresAt":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","email","role","projectAccess","expiresAt","createdAt"]},"participant":{"type":"object","properties":{"userId":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"},"role":{"type":"string","enum":["owner","admin","member"]},"projectAccess":{"type":"object","properties":{"scope":{"type":"string","enum":["all","selected"]},"projects":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"handle":{"type":"string"},"name":{"type":"string"}},"required":["id","handle","name"]}}},"required":["scope","projects"]}},"required":["userId","name","email","role","projectAccess"]},"emailed":{"type":"boolean"}},"required":["emailed"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/organizations/{orgHandle}/invitations/{invitationId}/resend":{"post":{"operationId":"organizationInvitationResend","summary":"Organization Invitation Resend","description":"Execute the UserTold organization invitation resend operation.","tags":["Organizations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"invitationId path parameter"},"required":true,"description":"invitationId path parameter","name":"invitationId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"accepted":{"type":"boolean","enum":[true]}},"required":["accepted"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/organizations/{orgHandle}/invitations/{invitationId}":{"delete":{"operationId":"organizationInvitationRevoke","summary":"Organization Invitation Revoke","description":"Execute the UserTold organization invitation revoke operation.","tags":["Organizations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"invitationId path parameter"},"required":true,"description":"invitationId path parameter","name":"invitationId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"revoked":{"type":"boolean","enum":[true]}},"required":["revoked"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/organization-invitations/inspect":{"post":{"operationId":"organizationInvitationInspect","summary":"Organization Invitation Inspect","description":"Execute the UserTold organization invitation inspect operation.","tags":["Organizations"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":32,"maxLength":512}},"required":["token"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"invitation":{"type":["object","null"],"properties":{"id":{"type":"string"},"email":{"type":"string"},"role":{"type":"string","enum":["owner","admin","member"]},"projectAccess":{"type":"object","properties":{"scope":{"type":"string","enum":["all","selected"]},"projectIds":{"type":"array","items":{"type":"string"}}},"required":["scope","projectIds"]},"expiresAt":{"type":"string"},"createdAt":{"type":"string"},"organization":{"type":"object","properties":{"handle":{"type":"string"},"name":{"type":"string"}},"required":["handle","name"]}},"required":["id","email","role","projectAccess","expiresAt","createdAt","organization"]}},"required":["invitation"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/organization-invitations/accept":{"post":{"operationId":"organizationInvitationAccept","summary":"Organization Invitation Accept","description":"Execute the UserTold organization invitation accept operation.","tags":["Organizations"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":32,"maxLength":512},"organizationHandle":{"type":"string","minLength":1}},"required":["token","organizationHandle"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"accepted":{"type":"boolean","enum":[true]}},"required":["accepted"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/organizations/{orgHandle}/overview":{"get":{"operationId":"orgOverview","summary":"Org Overview","description":"Execute the UserTold org overview operation.","tags":["Organizations"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"org":{"type":"object","properties":{"id":{"type":"string"},"handle":{"type":"string"},"name":{"type":"string"},"role":{"type":"string"},"memberCount":{"type":"number"},"createdAt":{"type":"string"}},"required":["id","handle","name","role","memberCount","createdAt"]},"totals":{"type":"object","properties":{"projects":{"type":"number"},"sessions":{"type":"number"},"signals":{"type":"number"},"tasks":{"type":"number"},"sessionsLifetime":{"type":"number"},"tasksLifetime":{"type":"number"}},"required":["projects","sessions","signals","tasks","sessionsLifetime","tasksLifetime"]},"projects":{"type":"array","items":{"type":"object","properties":{"projectRef":{"type":"string"},"projectHandle":{"type":"string"},"projectName":{"type":"string"},"description":{"type":["string","null"]},"canonicalPath":{"type":"string"},"sessionsLast30d":{"type":"number"},"signalsLast30d":{"type":"number"},"openTaskCount":{"type":"number"},"lastActivityAt":{"type":["string","null"]},"activityLast7d":{"type":"boolean"},"attentionCount":{"type":"number"},"sessionsLifetime":{"type":"number"}},"required":["projectRef","projectHandle","projectName","description","canonicalPath","sessionsLast30d","signalsLast30d","openTaskCount","lastActivityAt","activityLast7d","attentionCount","sessionsLifetime"]}},"recentActivity":{"type":"array","items":{"type":"object","properties":{"eventId":{"type":"string"},"eventType":{"type":"string","enum":["session_captured","signal_extracted","task_created","task_shipped"]},"projectRef":{"type":"string"},"projectHandle":{"type":"string"},"projectName":{"type":"string"},"occurredAt":{"type":"string"},"title":{"type":"string"},"detail":{"type":["string","null"]},"count":{"type":"number"},"href":{"type":"string"}},"required":["eventId","eventType","projectRef","projectHandle","projectName","occurredAt","title","detail","count","href"]}}},"required":["org","totals","projects","recentActivity"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects":{"get":{"operationId":"projectList","summary":"Project List","description":"Execute the UserTold project list operation.","tags":["Projects"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"projects":{"type":"array","items":{"type":"object","properties":{"ref":{"type":"string"},"handle":{"type":"string"},"name":{"type":"string"},"description":{"type":["string","null"]},"org_handle":{"type":["string","null"]},"project_handle":{"type":"string"},"project_ref":{"type":["string","null"]},"canonical_path":{"type":["string","null"]},"can_manage_credits":{"type":"boolean"},"github_repo_url":{"type":["string","null"]},"github_default_branch":{"type":"string"},"github_installation_id":{"type":["string","null"]},"linear_team_id":{"type":["string","null"]},"public_key":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["ref","handle","name","description","org_handle","project_handle","project_ref","canonical_path","can_manage_credits","github_repo_url","github_default_branch","github_installation_id","linear_team_id","public_key","created_at","updated_at"]}}},"required":["projects"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"post":{"operationId":"projectCreate","summary":"Project Create","description":"Execute the UserTold project create operation.","tags":["Projects"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"handle":{"type":"string"},"description":{"type":["string","null"]}},"required":["name"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProjectMutationResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}":{"get":{"operationId":"projectGet","summary":"Project Get","description":"Execute the UserTold project get operation.","tags":["Projects"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"project":{"type":"object","properties":{"ref":{"type":"string"},"handle":{"type":"string"},"name":{"type":"string"},"description":{"type":["string","null"]},"org_handle":{"type":["string","null"]},"project_handle":{"type":"string"},"project_ref":{"type":["string","null"]},"canonical_path":{"type":["string","null"]},"can_manage_credits":{"type":"boolean"},"github_repo_url":{"type":["string","null"]},"github_default_branch":{"type":"string"},"github_installation_id":{"type":["string","null"]},"linear_team_id":{"type":["string","null"]},"public_key":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["ref","handle","name","description","org_handle","project_handle","project_ref","canonical_path","can_manage_credits","github_repo_url","github_default_branch","github_installation_id","linear_team_id","public_key","created_at","updated_at"]},"current_user_org_role":{"type":["string","null"]}},"required":["project","current_user_org_role"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"patch":{"operationId":"projectPatch","summary":"Project Patch","description":"Execute the UserTold project patch operation.","tags":["Projects"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"handle":{"type":"string"},"description":{"type":["string","null"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProjectMutationResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"delete":{"operationId":"projectDelete","summary":"Project Delete","description":"Execute the UserTold project delete operation.","tags":["Projects"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccessResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/starter-study":{"post":{"operationId":"projectStarterStudyProvision","summary":"Project Starter Study Provision","description":"Execute the UserTold project starter study provision operation.","tags":["Projects"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProjectStarterStudyProvisionResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/signal-health":{"get":{"operationId":"projectSignalHealth","summary":"Project Signal Health","description":"Execute the UserTold project signal health operation.","tags":["Projects"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"session_count":{"type":"number"},"signal_counts":{"type":"object","additionalProperties":{"type":"number"}},"signal_total":{"type":"number"},"signal_distribution":{"type":"object","additionalProperties":{"type":"number"}},"task_counts":{"type":"object","additionalProperties":{"type":"number"}},"task_total":{"type":"number"},"study_count":{"type":"number"},"coverage_gaps":{"type":"array","items":{"type":"string"}}},"required":["session_count","signal_counts","signal_total","signal_distribution","task_counts","task_total","study_count","coverage_gaps"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/coverage-gaps":{"get":{"operationId":"projectCoverageGaps","summary":"Project Coverage Gaps","description":"Execute the UserTold project coverage gaps operation.","tags":["Projects"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"gaps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["published_unlinked_evidence","repeated_needs_review_evidence","high_confidence_unlinked_evidence","work_with_weak_or_no_published_evidence"]},"target_surface":{"type":"string","enum":["product_under_test","usertold_widget_interview","interviewer_conductor_behavior","ambiguous_needs_review"]},"signal_type":{"type":["string","null"]},"summary":{"type":"string"},"count":{"type":"number"},"evidence_ids":{"type":"array","items":{"type":"string"}},"work_ids":{"type":"array","items":{"type":"string"}},"suggested_action":{"type":"string"}},"required":["id","type","target_surface","signal_type","summary","count","evidence_ids","work_ids","suggested_action"]}},"totals":{"type":"object","properties":{"published_unlinked_evidence":{"type":"number"},"repeated_needs_review_evidence":{"type":"number"},"high_confidence_unlinked_evidence":{"type":"number"},"work_with_weak_or_no_published_evidence":{"type":"number"}},"required":["published_unlinked_evidence","repeated_needs_review_evidence","high_confidence_unlinked_evidence","work_with_weak_or_no_published_evidence"]}},"required":["gaps","totals"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/widget-installation/verify":{"post":{"operationId":"projectWidgetInstallationVerify","summary":"Project Widget Installation Verify","description":"Execute the UserTold project widget installation verify operation.","tags":["Projects"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"}},"required":["url"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"project_ref":{"type":"string"},"requested_url":{"type":"string"},"final_url":{"type":["string","null"]},"verified_at":{"type":"string"},"overall_status":{"type":"string","enum":["pass","warning","fail"]},"summary":{"type":"object","properties":{"passed":{"type":"integer","minimum":0},"warnings":{"type":"integer","minimum":0},"failed":{"type":"integer","minimum":0}},"required":["passed","warnings","failed"]},"fetch":{"type":"object","properties":{"http_status":{"type":["integer","null"]},"redirects":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"},"status":{"type":"integer"}},"required":["from","to","status"]}}},"required":["http_status","redirects"]},"checks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"category":{"type":"string","enum":["page","widget","csp","permissions_policy"]},"status":{"type":"string","enum":["pass","warning","fail"]},"title":{"type":"string"},"message":{"type":"string"},"observed":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"expected":{"type":"string"},"recommendation":{"type":"string"},"remediation_snippet":{"type":"string"}},"required":["id","category","status","title","message"]}}},"required":["project_ref","requested_url","final_url","verified_at","overall_status","summary","fetch","checks"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/purge":{"post":{"operationId":"projectPurge","summary":"Project Purge","description":"Execute the UserTold project purge operation.","tags":["Retention"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiPurgeResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/sessions/{sessionId}/purge":{"post":{"operationId":"sessionPurge","summary":"Session Purge","description":"Execute the UserTold session purge operation.","tags":["Retention"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"sessionId path parameter"},"required":true,"description":"sessionId path parameter","name":"sessionId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiPurgeResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/signals/{signalId}/purge":{"post":{"operationId":"signalPurge","summary":"Signal Purge","description":"Execute the UserTold signal purge operation.","tags":["Retention"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"signalId path parameter"},"required":true,"description":"signalId path parameter","name":"signalId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiPurgeResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/findings/{findingRef}/purge":{"post":{"operationId":"findingPurge","summary":"Finding Purge","description":"Execute the UserTold finding purge operation.","tags":["Retention"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"findingRef path parameter"},"required":true,"description":"findingRef path parameter","name":"findingRef","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiPurgeResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/intakes/{intakeRef}/purge":{"post":{"operationId":"intakePurge","summary":"Intake Purge","description":"Execute the UserTold intake purge operation.","tags":["Retention"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"intakeRef path parameter"},"required":true,"description":"intakeRef path parameter","name":"intakeRef","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiPurgeResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/studies/{studyHandle}/purge":{"post":{"operationId":"studyPurge","summary":"Study Purge","description":"Execute the UserTold study purge operation.","tags":["Retention"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"studyHandle path parameter"},"required":true,"description":"studyHandle path parameter","name":"studyHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiPurgeResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/sessions/{sessionId}/signals":{"post":{"operationId":"sessionSignalCreate","summary":"Session Signal Create","description":"Execute the UserTold session signal create operation.","tags":["Signals"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"sessionId path parameter"},"required":true,"description":"sessionId path parameter","name":"sessionId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"signal_type":{"type":"string"},"target_surface":{"type":"string","enum":["product_under_test","usertold_widget_interview","interviewer_conductor_behavior","ambiguous_needs_review"]},"quote":{"type":"string"},"observed_facts":{"type":"array","items":{"type":"string"}},"headline":{"type":"string"},"claim":{"type":"string"},"reconstruction":{"type":"string"},"timestamp_ms":{"type":"number"},"page_url":{"type":"string"},"page_title":{"type":"string"},"preceding_actions":{"type":"array","items":{"type":"string"}},"user_goal":{"type":"string"},"outcome":{"type":"string"}},"required":["signal_type","quote"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSignalResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/signals":{"get":{"operationId":"signalsList","summary":"Signals List","description":"Execute the UserTold signals list operation.","tags":["Signals"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string"},"required":false,"name":"type","in":"query"},{"schema":{"type":"string","enum":["product_under_test","usertold_widget_interview","interviewer_conductor_behavior","ambiguous_needs_review","all"]},"required":false,"name":"target_surface","in":"query"},{"schema":{"type":"string"},"required":false,"name":"session_id","in":"query"},{"schema":{"type":"string"},"required":false,"name":"task_id","in":"query"},{"schema":{"type":"string"},"required":false,"name":"search","in":"query"},{"schema":{"type":"string"},"required":false,"name":"min_confidence","in":"query"},{"schema":{"type":"string"},"required":false,"name":"dismissed","in":"query"},{"schema":{"type":"string"},"required":false,"name":"include_closed","in":"query"},{"schema":{"type":"string"},"required":false,"name":"review_status","in":"query"},{"schema":{"type":"string","enum":["active","needs_review","active_linked","active_unlinked","possible_recurrence","resolved"]},"required":false,"name":"review_state","in":"query"},{"schema":{"type":"string"},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string"},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"signals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"project_ref":{"type":"string"},"session_id":{"type":"string"},"signal_type":{"type":"string"},"target_surface":{"type":"string","enum":["product_under_test","usertold_widget_interview","interviewer_conductor_behavior","ambiguous_needs_review"]},"confidence":{"type":"number"},"intensity":{"type":["number","null"]},"quote":{"type":"string"},"timestamp_ms":{"type":["number","null"]},"segment_id":{"type":["string","null"]},"page_url":{"type":["string","null"]},"page_title":{"type":["string","null"]},"preceding_actions":{"type":["string","null"]},"user_goal":{"type":["string","null"]},"outcome":{"type":["string","null"]},"headline":{"type":["string","null"]},"claim":{"type":["string","null"]},"reconstruction":{"type":["string","null"]},"observed_facts_json":{"type":["string","null"]},"evidence_grade":{"type":["string","null"]},"window_start_ms":{"type":["number","null"]},"window_end_ms":{"type":["number","null"]},"transcript_uncertain":{"type":"boolean"},"transcript_uncertainty_note":{"type":["string","null"]},"review_status":{"type":["string","null"]},"review_note":{"type":["string","null"]},"annotation_text":{"type":["string","null"]},"annotation_by":{"type":["string","null"]},"annotation_at":{"type":["string","null"]},"dismissed_at":{"type":["string","null"]},"dismissed_reason":{"type":["string","null"]},"dismissed_by":{"type":["string","null"]},"source":{"type":["string","null"]},"created_at":{"type":"string"},"linked_task":{"type":["object","null"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["backlog","ready","in_progress","done","wont_fix"]},"linear_issue_id":{"type":["string","null"]},"linear_issue_url":{"type":["string","null"]},"linear_issue_status":{"type":["string","null"]}},"required":["id","title","status"]},"evidence_resolution":{"type":["object","null"],"properties":{"link_id":{"type":"string"},"task_id":{"type":"string"},"linked_at":{"type":["string","null"]},"resolved_at":{"type":["string","null"]},"resolved_by_provider":{"type":["string","null"]},"resolved_by_provider_issue_id":{"type":["string","null"]},"resolution_reason":{"type":["string","null"]}},"required":["link_id","linked_at","resolved_at","resolved_by_provider","resolved_by_provider_issue_id","resolution_reason"]},"recurrence_candidates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"related_task_id":{"type":"string"},"related_resolved_signal_id":{"type":["string","null"]},"confidence":{"type":"number"},"reason":{"type":["string","null"]},"status":{"type":"string","enum":["candidate","confirmed","dismissed"]},"created_at":{"type":"string"},"reviewed_at":{"type":["string","null"]},"related_task":{"type":["object","null"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["backlog","ready","in_progress","done","wont_fix"]}},"required":["id","title","status"]}},"required":["id","related_task_id","related_resolved_signal_id","confidence","reason","status","created_at","reviewed_at"]}},"provenance":{"type":["object","null"],"properties":{"study":{"type":["object","null"],"properties":{"ref":{"type":"string"},"handle":{"type":"string"},"title":{"type":"string"}},"required":["ref","handle","title"]},"interview":{"type":["object","null"],"properties":{"id":{"type":"string"},"participant_name":{"type":["string","null"]},"started_at":{"type":["string","null"]},"interview_mode":{"type":["string","null"]},"duration_seconds":{"type":["number","null"]}},"required":["id","participant_name","started_at","interview_mode","duration_seconds"]},"page":{"type":["object","null"],"properties":{"url":{"type":["string","null"]},"title":{"type":["string","null"]}},"required":["url","title"]},"timestamp_ms":{"type":["number","null"]},"source":{"type":["string","null"]}},"required":["study","interview","page","timestamp_ms","source"]},"case_file":{"type":["object","null"],"properties":{"case_file_version":{"type":"string","enum":["evidence_case_file.v1"]},"evidence_card":{"type":"object","properties":{"contract_version":{"type":"string","enum":["pipeline.v1"]},"artifact_kind":{"type":"string","enum":["evidence_card"]},"artifact_id":{"type":"string"},"session_id":{"type":"string"},"created_at":{"type":"string"},"evidence":{"type":"object","properties":{"signal_type":{"type":"string","enum":["struggling_moment","desired_outcome","workaround","hiring_criteria","firing_moment","emotional_response","no_issue_found","smooth_completion","critical_error","recovery_success","decision_point"]},"target_surface":{"type":"string","enum":["product_under_test","usertold_widget_interview","interviewer_conductor_behavior","ambiguous_needs_review"]},"headline":{"type":"string","minLength":1},"quote":{"type":"string"},"observed_facts":{"type":"array","items":{"type":"string","minLength":1}},"claim":{"type":"string","minLength":1},"reconstruction":{"type":"string","minLength":1},"evidence_grade":{"type":"string","enum":["direct","strong_circumstantial","weak"]},"confidence":{"type":"number","minimum":0,"maximum":1},"intensity":{"type":["number","null"]},"timestamp_ms":{"type":"number"},"window_start_ms":{"type":"number"},"window_end_ms":{"type":"number"},"segment_id":{"type":"string"},"page_url":{"type":["string","null"]},"page_title":{"type":["string","null"]},"preceding_actions":{"type":["array","null"],"items":{"type":"string"}},"user_goal":{"type":["string","null"]},"outcome":{"type":["string","null"]},"transcript_uncertain":{"type":"boolean"},"transcript_uncertainty_note":{"type":["string","null"]}},"required":["signal_type","target_surface","quote","evidence_grade","confidence","transcript_uncertain"],"additionalProperties":false},"project_ref":{"type":"string"}},"required":["contract_version","artifact_kind","evidence"],"additionalProperties":false},"provenance":{"type":["object","null"],"properties":{"study":{"type":["object","null"],"properties":{"handle":{"type":"string"},"title":{"type":"string"}},"required":["handle","title"]},"interview":{"type":["object","null"],"properties":{"id":{"type":"string"},"participant_name":{"type":["string","null"]},"started_at":{"type":["string","null"]},"interview_mode":{"type":["string","null"]},"duration_seconds":{"type":["number","null"]}},"required":["id","participant_name","started_at","interview_mode","duration_seconds"]},"page":{"type":["object","null"],"properties":{"url":{"type":["string","null"]},"title":{"type":["string","null"]}},"required":["url","title"]},"timestamp_ms":{"type":["number","null"]},"source":{"type":["string","null"]}},"required":["study","interview","page","timestamp_ms","source"]},"review":{"type":"object","properties":{"review_status":{"type":["string","null"]},"review_note":{"type":["string","null"]},"annotation_text":{"type":["string","null"]},"annotation_by":{"type":["string","null"]},"annotation_at":{"type":["string","null"]},"dismissed_at":{"type":["string","null"]},"dismissed_reason":{"type":["string","null"]},"dismissed_by":{"type":["string","null"]}},"required":["review_status","review_note","annotation_text","annotation_by","annotation_at","dismissed_at","dismissed_reason","dismissed_by"]},"links":{"type":"object","properties":{"linked_task":{"type":["object","null"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"linear_issue_id":{"type":["string","null"]},"linear_issue_url":{"type":["string","null"]},"linear_issue_status":{"type":["string","null"]}},"required":["id","title","status"]},"evidence_resolution":{"type":["object","null"],"properties":{"link_id":{"type":"string"},"task_id":{"type":"string"},"linked_at":{"type":["string","null"]},"resolved_at":{"type":["string","null"]},"resolved_by_provider":{"type":["string","null"]},"resolved_by_provider_issue_id":{"type":["string","null"]},"resolution_reason":{"type":["string","null"]}},"required":["link_id","linked_at","resolved_at","resolved_by_provider","resolved_by_provider_issue_id","resolution_reason"]},"recurrence_candidates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"related_task_id":{"type":"string"},"related_resolved_signal_id":{"type":["string","null"]},"confidence":{"type":"number"},"reason":{"type":["string","null"]},"status":{"type":"string"},"created_at":{"type":"string"},"reviewed_at":{"type":["string","null"]},"related_task":{"type":["object","null"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"}},"required":["id","title","status"]}},"required":["id","related_task_id","related_resolved_signal_id","confidence","reason","status","created_at","reviewed_at"]}}},"required":["recurrence_candidates"]}},"required":["case_file_version","evidence_card","provenance","review","links"]}},"required":["id","project_ref","session_id","signal_type","target_surface","confidence","intensity","quote","timestamp_ms","segment_id","page_url","page_title","preceding_actions","user_goal","outcome","transcript_uncertain","transcript_uncertainty_note","annotation_text","annotation_by","annotation_at","dismissed_at","dismissed_reason","dismissed_by","source","created_at"]}},"total":{"type":"number"},"project_total":{"type":"number"},"inbox_counts":{"type":"object","properties":{"active":{"type":"number"},"needs_review":{"type":"number"},"active_linked":{"type":"number"},"active_unlinked":{"type":"number"},"possible_recurrence":{"type":"number"},"resolved":{"type":"number"}},"required":["active","needs_review","active_linked","active_unlinked","possible_recurrence","resolved"]}},"required":["signals","total","project_total"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/signals/{signalId}":{"get":{"operationId":"signalGet","summary":"Signal Get","description":"Execute the UserTold signal get operation.","tags":["Signals"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"signalId path parameter"},"required":true,"description":"signalId path parameter","name":"signalId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSignalResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"patch":{"operationId":"signalPatch","summary":"Signal Patch","description":"Execute the UserTold signal patch operation.","tags":["Signals"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"signalId path parameter"},"required":true,"description":"signalId path parameter","name":"signalId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"signal_type":{"type":"string"},"target_surface":{"type":["string","null"],"enum":["product_under_test","usertold_widget_interview","interviewer_conductor_behavior","ambiguous_needs_review",null]},"confidence":{"type":"number"},"intensity":{"type":["number","null"]},"quote":{"type":"string"},"timestamp_ms":{"type":["number","null"]},"page_url":{"type":["string","null"]},"page_title":{"type":["string","null"]},"preceding_actions":{"type":["array","null"],"items":{"type":"string"}},"user_goal":{"type":["string","null"]},"outcome":{"type":["string","null"]},"headline":{"type":["string","null"]},"claim":{"type":["string","null"]},"reconstruction":{"type":["string","null"]},"observed_facts":{"type":["array","null"],"items":{"type":"string"}}},"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSignalResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"delete":{"operationId":"signalDelete","summary":"Signal Delete","description":"Execute the UserTold signal delete operation.","tags":["Signals"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"signalId path parameter"},"required":true,"description":"signalId path parameter","name":"signalId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccessResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/signals/{signalId}/annotate":{"post":{"operationId":"signalAnnotate","summary":"Signal Annotate","description":"Execute the UserTold signal annotate operation.","tags":["Signals"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"signalId path parameter"},"required":true,"description":"signalId path parameter","name":"signalId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSignalResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/signals/{signalId}/dismiss":{"post":{"operationId":"signalDismiss","summary":"Signal Dismiss","description":"Execute the UserTold signal dismiss operation.","tags":["Signals"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"signalId path parameter"},"required":true,"description":"signalId path parameter","name":"signalId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSignalResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/signals/{signalId}/undismiss":{"post":{"operationId":"signalUndismiss","summary":"Signal Undismiss","description":"Execute the UserTold signal undismiss operation.","tags":["Signals"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"signalId path parameter"},"required":true,"description":"signalId path parameter","name":"signalId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSignalResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/signals/{signalId}/review":{"post":{"operationId":"signalReview","summary":"Signal Review","description":"Execute the UserTold signal review operation.","tags":["Signals"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"signalId path parameter"},"required":true,"description":"signalId path parameter","name":"signalId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["needs_review","published","dismissed"]},"note":{"type":"string"}},"required":["status"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSignalResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/signals/{signalId}/link":{"post":{"operationId":"signalLink","summary":"Signal Link","description":"Execute the UserTold signal link operation.","tags":["Signals"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"signalId path parameter"},"required":true,"description":"signalId path parameter","name":"signalId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"task_id":{"type":"string"}},"required":["task_id"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccessResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/signals/{signalId}/unlink":{"post":{"operationId":"signalUnlink","summary":"Signal Unlink","description":"Execute the UserTold signal unlink operation.","tags":["Signals"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"signalId path parameter"},"required":true,"description":"signalId path parameter","name":"signalId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccessResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/signals/bulk-link":{"post":{"operationId":"signalsBulkLink","summary":"Signals Bulk Link","description":"Execute the UserTold signals bulk link operation.","tags":["Signals"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"signal_ids":{"type":"array","items":{"type":"string"},"minItems":1},"task_id":{"type":"string"}},"required":["signal_ids","task_id"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"processed":{"type":"number"},"succeeded":{"type":"number"},"failed":{"type":"number"},"task_id":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{"signal_id":{"type":"string"},"error":{"type":"string"}},"required":["signal_id","error"]}}},"required":["processed","succeeded","failed","errors"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/findings":{"get":{"operationId":"findingsList","summary":"Findings List","description":"Execute the UserTold findings list operation.","tags":["Findings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","enum":["draft","reviewed","closed"]},"required":false,"name":"research_state","in":"query"},{"schema":{"type":"string","enum":["not_sent","awaiting_product_triage","accepted","in_progress","completed","declined","duplicate"]},"required":false,"name":"delivery_state","in":"query"},{"schema":{"type":"string","enum":["needs_review","ready","in_delivery","done"]},"required":false,"name":"stage","in":"query"},{"schema":{"type":"string"},"required":false,"name":"include_closed","in":"query"},{"schema":{"type":"string","enum":["product_under_test","usertold_widget_interview","interviewer_conductor_behavior","ambiguous_needs_review","all"]},"required":false,"name":"target_surface","in":"query"},{"schema":{"type":"string"},"required":false,"name":"evidence_interview_ref","in":"query"},{"schema":{"type":"string"},"required":false,"name":"min_priority","in":"query"},{"schema":{"type":"string"},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string"},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"findings":{"type":"array","items":{"type":"object","properties":{"finding_ref":{"type":"string"},"project_ref":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"target_surface":{"type":"string","enum":["product_under_test","usertold_widget_interview","interviewer_conductor_behavior","ambiguous_needs_review"]},"research_state":{"type":"string","enum":["draft","reviewed","closed"]},"delivery_state":{"type":["string","null"],"enum":["not_sent","awaiting_product_triage","accepted","in_progress","completed","declined","duplicate",null]},"provider_placement":{"type":["string","null"],"enum":["triage","backlog_fallback",null]},"priority_score":{"type":"number"},"priority_label":{"type":"string"},"effort_estimate":{"type":["string","null"]},"evidence_count":{"type":"number"},"interview_count":{"type":"number"},"implementation_branch":{"type":["string","null"]},"implementation_pr_url":{"type":["string","null"]},"implementation_pr_number":{"type":["number","null"]},"deployed_at":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"relation_count":{"type":"number"},"provider_states":{"type":"array","items":{"type":"object","properties":{"provider_state_ref":{"type":"string"},"finding_ref":{"type":"string"},"project_ref":{"type":"string"},"provider":{"type":"string","enum":["linear","github","usertold_linear"]},"external_id":{"type":["string","null"]},"external_url":{"type":["string","null"]},"external_status":{"type":["string","null"]},"metadata_json":{"type":["string","null"]},"synced_at":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"research_state":{"type":"string","enum":["draft","reviewed","closed"]},"delivery_state":{"type":["string","null"],"enum":["not_sent","awaiting_product_triage","accepted","in_progress","completed","declined","duplicate",null]},"provider_placement":{"type":["string","null"],"enum":["triage","backlog_fallback",null]},"ambiguity":{"type":["string","null"]}},"required":["provider_state_ref","finding_ref","project_ref","provider","external_id","external_url","external_status","metadata_json","synced_at","created_at","updated_at","research_state","delivery_state","provider_placement","ambiguity"]}},"recurrence_candidates":{"type":"array","items":{"type":"object","properties":{"candidate_ref":{"type":"string"},"project_ref":{"type":"string"},"new_evidence_ref":{"type":"string"},"related_finding_ref":{"type":"string"},"related_resolved_evidence_ref":{"type":["string","null"]},"confidence":{"type":"number"},"reason":{"type":["string","null"]},"status":{"type":"string","enum":["candidate","confirmed","dismissed"]},"created_at":{"type":"string"},"reviewed_at":{"type":["string","null"]}},"required":["candidate_ref","project_ref","new_evidence_ref","related_finding_ref","related_resolved_evidence_ref","confidence","reason","status","created_at","reviewed_at"]}}},"required":["finding_ref","project_ref","title","description","target_surface","research_state","delivery_state","provider_placement","priority_score","priority_label","effort_estimate","evidence_count","interview_count","implementation_branch","implementation_pr_url","implementation_pr_number","deployed_at","created_at","updated_at"]}},"total":{"type":"number"},"project_total":{"type":"number"},"counts":{"type":"object","properties":{"by_research_state":{"type":"object","additionalProperties":{"type":"number"}},"by_delivery_state":{"type":"object","additionalProperties":{"type":"number"}},"by_stage":{"type":"object","additionalProperties":{"type":"number"}},"unlinked":{"type":"number"}},"required":["by_research_state","by_delivery_state","unlinked"]}},"required":["findings","total","project_total"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"post":{"operationId":"findingCreate","summary":"Finding Create","description":"Execute the UserTold finding create operation.","tags":["Findings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]},"priority_score":{"type":"number"},"effort_estimate":{"type":["string","null"],"enum":["xs","s","m","l","xl",null]}},"required":["title"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiFindingResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/findings/from-evidence":{"post":{"operationId":"findingCreateFromEvidence","summary":"Finding Create From Evidence","description":"Execute the UserTold finding create from evidence operation.","tags":["Findings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]},"evidence_refs":{"type":"array","items":{"type":"string"},"minItems":1}},"required":["title","evidence_refs"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"finding":{"type":"object","properties":{"finding_ref":{"type":"string"},"project_ref":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"target_surface":{"type":"string","enum":["product_under_test","usertold_widget_interview","interviewer_conductor_behavior","ambiguous_needs_review"]},"research_state":{"type":"string","enum":["draft","reviewed","closed"]},"delivery_state":{"type":["string","null"],"enum":["not_sent","awaiting_product_triage","accepted","in_progress","completed","declined","duplicate",null]},"provider_placement":{"type":["string","null"],"enum":["triage","backlog_fallback",null]},"priority_score":{"type":"number"},"priority_label":{"type":"string"},"effort_estimate":{"type":["string","null"]},"evidence_count":{"type":"number"},"interview_count":{"type":"number"},"implementation_branch":{"type":["string","null"]},"implementation_pr_url":{"type":["string","null"]},"implementation_pr_number":{"type":["number","null"]},"deployed_at":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["finding_ref","project_ref","title","description","target_surface","research_state","delivery_state","provider_placement","priority_score","priority_label","effort_estimate","evidence_count","interview_count","implementation_branch","implementation_pr_url","implementation_pr_number","deployed_at","created_at","updated_at"]},"linked_evidence_refs":{"type":"array","items":{"type":"string"}},"priority":{"type":"object","properties":{"score":{"type":"number"},"label":{"type":"string"}},"required":["score","label"]}},"required":["finding","linked_evidence_refs","priority"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/findings/{findingRef}":{"get":{"operationId":"findingGet","summary":"Finding Get","description":"Execute the UserTold finding get operation.","tags":["Findings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"findingRef path parameter"},"required":true,"description":"findingRef path parameter","name":"findingRef","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"finding":{"type":"object","properties":{"finding_ref":{"type":"string"},"project_ref":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"target_surface":{"type":"string","enum":["product_under_test","usertold_widget_interview","interviewer_conductor_behavior","ambiguous_needs_review"]},"research_state":{"type":"string","enum":["draft","reviewed","closed"]},"delivery_state":{"type":["string","null"],"enum":["not_sent","awaiting_product_triage","accepted","in_progress","completed","declined","duplicate",null]},"provider_placement":{"type":["string","null"],"enum":["triage","backlog_fallback",null]},"priority_score":{"type":"number"},"priority_label":{"type":"string"},"effort_estimate":{"type":["string","null"]},"evidence_count":{"type":"number"},"interview_count":{"type":"number"},"implementation_branch":{"type":["string","null"]},"implementation_pr_url":{"type":["string","null"]},"implementation_pr_number":{"type":["number","null"]},"deployed_at":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["finding_ref","project_ref","title","description","target_surface","research_state","delivery_state","provider_placement","priority_score","priority_label","effort_estimate","evidence_count","interview_count","implementation_branch","implementation_pr_url","implementation_pr_number","deployed_at","created_at","updated_at"]},"evidence":{"type":"array","items":{"type":"object","properties":{"project_ref":{"type":"string"},"target_surface":{"type":"string","enum":["product_under_test","usertold_widget_interview","interviewer_conductor_behavior","ambiguous_needs_review"]},"confidence":{"type":"number"},"intensity":{"type":["number","null"]},"quote":{"type":"string"},"timestamp_ms":{"type":["number","null"]},"segment_id":{"type":["string","null"]},"page_url":{"type":["string","null"]},"page_title":{"type":["string","null"]},"preceding_actions":{"type":["string","null"]},"user_goal":{"type":["string","null"]},"outcome":{"type":["string","null"]},"headline":{"type":["string","null"]},"claim":{"type":["string","null"]},"reconstruction":{"type":["string","null"]},"observed_facts_json":{"type":["string","null"]},"evidence_grade":{"type":["string","null"]},"window_start_ms":{"type":["number","null"]},"window_end_ms":{"type":["number","null"]},"transcript_uncertain":{"type":"boolean"},"transcript_uncertainty_note":{"type":["string","null"]},"review_status":{"type":["string","null"]},"review_note":{"type":["string","null"]},"annotation_text":{"type":["string","null"]},"annotation_by":{"type":["string","null"]},"annotation_at":{"type":["string","null"]},"dismissed_at":{"type":["string","null"]},"dismissed_reason":{"type":["string","null"]},"dismissed_by":{"type":["string","null"]},"source":{"type":["string","null"]},"created_at":{"type":"string"},"provenance":{"type":["object","null"],"properties":{"study":{"type":["object","null"],"properties":{"ref":{"type":"string"},"handle":{"type":"string"},"title":{"type":"string"}},"required":["ref","handle","title"]},"interview":{"type":["object","null"],"properties":{"id":{"type":"string"},"participant_name":{"type":["string","null"]},"started_at":{"type":["string","null"]},"interview_mode":{"type":["string","null"]},"duration_seconds":{"type":["number","null"]}},"required":["id","participant_name","started_at","interview_mode","duration_seconds"]},"page":{"type":["object","null"],"properties":{"url":{"type":["string","null"]},"title":{"type":["string","null"]}},"required":["url","title"]},"timestamp_ms":{"type":["number","null"]},"source":{"type":["string","null"]}},"required":["study","interview","page","timestamp_ms","source"]},"evidence_ref":{"type":"string"},"interview_ref":{"type":"string"},"evidence_type":{"type":"string"},"evidence_resolution":{"type":["object","null"],"properties":{"link_ref":{"type":"string"},"linked_at":{"type":["string","null"]},"resolved_at":{"type":["string","null"]},"resolved_by_provider":{"type":["string","null"]},"resolved_by_provider_issue_id":{"type":["string","null"]},"resolution_reason":{"type":["string","null"]}},"required":["link_ref","linked_at","resolved_at","resolved_by_provider","resolved_by_provider_issue_id","resolution_reason"]}},"required":["project_ref","target_surface","confidence","intensity","quote","timestamp_ms","segment_id","page_url","page_title","preceding_actions","user_goal","outcome","transcript_uncertain","transcript_uncertainty_note","annotation_text","annotation_by","annotation_at","dismissed_at","dismissed_reason","dismissed_by","source","created_at","evidence_ref","interview_ref","evidence_type"]}},"lifecycle_history":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"finding_ref":{"type":"string"},"project_ref":{"type":"string"},"from_research_state":{"type":["string","null"],"enum":["draft","reviewed","closed",null]},"to_research_state":{"type":"string","enum":["draft","reviewed","closed"]},"from_delivery_state":{"type":["string","null"],"enum":["not_sent","awaiting_product_triage","accepted","in_progress","completed","declined","duplicate",null]},"to_delivery_state":{"type":"string","enum":["not_sent","awaiting_product_triage","accepted","in_progress","completed","declined","duplicate"]},"source":{"type":"string","enum":["user","mcp","linear_webhook","github_webhook","impact_measurement","consolidation_reopen","system"]},"reason":{"type":["string","null"]},"actor_id":{"type":["string","null"]},"created_at":{"type":"string"}},"required":["id","finding_ref","project_ref","from_research_state","to_research_state","from_delivery_state","to_delivery_state","source","reason","actor_id","created_at"]}},"relations":{"type":"array","items":{"type":"object","properties":{"relation_ref":{"type":"string"},"relation_type":{"type":"string"},"reason":{"type":["string","null"]},"score":{"type":["number","null"]},"source":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"finding":{"type":"object","properties":{"finding_ref":{"type":"string"},"project_ref":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"target_surface":{"type":"string","enum":["product_under_test","usertold_widget_interview","interviewer_conductor_behavior","ambiguous_needs_review"]},"research_state":{"type":"string","enum":["draft","reviewed","closed"]},"delivery_state":{"type":["string","null"],"enum":["not_sent","awaiting_product_triage","accepted","in_progress","completed","declined","duplicate",null]},"provider_placement":{"type":["string","null"],"enum":["triage","backlog_fallback",null]},"priority_score":{"type":"number"},"priority_label":{"type":"string"},"effort_estimate":{"type":["string","null"]},"evidence_count":{"type":"number"},"interview_count":{"type":"number"},"implementation_branch":{"type":["string","null"]},"implementation_pr_url":{"type":["string","null"]},"implementation_pr_number":{"type":["number","null"]},"deployed_at":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["finding_ref","project_ref","title","description","target_surface","research_state","delivery_state","provider_placement","priority_score","priority_label","effort_estimate","evidence_count","interview_count","implementation_branch","implementation_pr_url","implementation_pr_number","deployed_at","created_at","updated_at"]}},"required":["relation_ref","relation_type","reason","score","source","created_at","updated_at","finding"]}},"recurrence_candidates":{"type":"array","items":{"type":"object","properties":{"candidate_ref":{"type":"string"},"project_ref":{"type":"string"},"new_evidence_ref":{"type":"string"},"related_finding_ref":{"type":"string"},"related_resolved_evidence_ref":{"type":["string","null"]},"confidence":{"type":"number"},"reason":{"type":["string","null"]},"status":{"type":"string","enum":["candidate","confirmed","dismissed"]},"created_at":{"type":"string"},"reviewed_at":{"type":["string","null"]}},"required":["candidate_ref","project_ref","new_evidence_ref","related_finding_ref","related_resolved_evidence_ref","confidence","reason","status","created_at","reviewed_at"]}},"provider_states":{"type":"array","items":{"type":"object","properties":{"provider_state_ref":{"type":"string"},"finding_ref":{"type":"string"},"project_ref":{"type":"string"},"provider":{"type":"string","enum":["linear","github","usertold_linear"]},"external_id":{"type":["string","null"]},"external_url":{"type":["string","null"]},"external_status":{"type":["string","null"]},"metadata_json":{"type":["string","null"]},"synced_at":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"research_state":{"type":"string","enum":["draft","reviewed","closed"]},"delivery_state":{"type":["string","null"],"enum":["not_sent","awaiting_product_triage","accepted","in_progress","completed","declined","duplicate",null]},"provider_placement":{"type":["string","null"],"enum":["triage","backlog_fallback",null]},"ambiguity":{"type":["string","null"]}},"required":["provider_state_ref","finding_ref","project_ref","provider","external_id","external_url","external_status","metadata_json","synced_at","created_at","updated_at","research_state","delivery_state","provider_placement","ambiguity"]}},"decision_record":{"type":"object","properties":{"record_version":{"type":"string","enum":["finding_decision_record.v1"]},"decision":{"type":"object","properties":{"state":{"type":"string","enum":["blocked_needs_evidence","needs_project_review","reviewed_for_handoff","in_delivery","completed_under_watch","recurrence_review"]},"label":{"type":"string"},"recommended_next_action":{"type":"string"},"rationale":{"type":"array","items":{"type":"string"}}},"required":["state","label","recommended_next_action","rationale"]},"evidence":{"type":"object","properties":{"evidence_refs":{"type":"array","items":{"type":"string"}},"evidence_types":{"type":"array","items":{"type":"string"}},"interview_refs":{"type":"array","items":{"type":"string"}},"average_confidence":{"type":["number","null"]},"average_intensity":{"type":["number","null"]},"top_quotes":{"type":"array","items":{"type":"object","properties":{"evidence_ref":{"type":"string"},"quote":{"type":"string"},"evidence_type":{"type":"string"},"confidence":{"type":"number"}},"required":["evidence_ref","quote","evidence_type","confidence"]}},"supporting_evidence_count":{"type":"number"},"counter_evidence_count":{"type":"number"},"needs_review_evidence_count":{"type":"number"},"dismissed_history_count":{"type":"number"},"calibration_evidence_count":{"type":"number"},"counter_evidence_quotes":{"type":"array","items":{"type":"object","properties":{"evidence_ref":{"type":"string"},"quote":{"type":"string"},"evidence_type":{"type":"string"},"confidence":{"type":"number"}},"required":["evidence_ref","quote","evidence_type","confidence"]}},"resolved_evidence_count":{"type":"number"}},"required":["evidence_refs","evidence_types","interview_refs","average_confidence","average_intensity","top_quotes","supporting_evidence_count","counter_evidence_count","needs_review_evidence_count","dismissed_history_count","calibration_evidence_count","counter_evidence_quotes","resolved_evidence_count"]},"review":{"type":"object","properties":{"lifecycle_history_count":{"type":"number"},"related_findings_count":{"type":"number"},"recurrence_candidates":{"type":"object","properties":{"total":{"type":"number"},"active":{"type":"number"},"confirmed":{"type":"number"}},"required":["total","active","confirmed"]},"counter_evidence":{"type":"object","properties":{"state":{"type":"string","enum":["not_available","none_found","needs_review"]},"summary":{"type":"string"},"recommended_next_action":{"type":"string"}},"required":["state","summary","recommended_next_action"]}},"required":["lifecycle_history_count","related_findings_count","recurrence_candidates","counter_evidence"]}},"required":["record_version","decision","evidence","review"]}},"required":["finding","evidence"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"patch":{"operationId":"findingPatch","summary":"Finding Patch","description":"Execute the UserTold finding patch operation.","tags":["Findings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"findingRef path parameter"},"required":true,"description":"findingRef path parameter","name":"findingRef","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]},"priority_score":{"type":"number"},"effort_estimate":{"type":["string","null"],"enum":["xs","s","m","l","xl",null]},"research_state":{"type":"string","enum":["draft","reviewed","closed"]},"delivery_state":{"type":"string","enum":["not_sent","in_progress","completed","declined"]},"research_state_reason":{"type":["string","null"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiFindingResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"delete":{"operationId":"findingDelete","summary":"Finding Delete","description":"Execute the UserTold finding delete operation.","tags":["Findings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"findingRef path parameter"},"required":true,"description":"findingRef path parameter","name":"findingRef","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccessResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/findings/{findingRef}/recurrence-candidates/{candidateRef}/review":{"post":{"operationId":"findingRecurrenceCandidateReview","summary":"Finding Recurrence Candidate Review","description":"Execute the UserTold finding recurrence candidate review operation.","tags":["Findings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"findingRef path parameter"},"required":true,"description":"findingRef path parameter","name":"findingRef","in":"path"},{"schema":{"type":"string","description":"candidateRef path parameter"},"required":true,"description":"candidateRef path parameter","name":"candidateRef","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["confirmed","dismissed"]}},"required":["status"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"recurrence_candidate":{"type":"object","properties":{"candidate_ref":{"type":"string"},"project_ref":{"type":"string"},"new_evidence_ref":{"type":"string"},"related_finding_ref":{"type":"string"},"related_resolved_evidence_ref":{"type":["string","null"]},"confidence":{"type":"number"},"reason":{"type":["string","null"]},"status":{"type":"string","enum":["candidate","confirmed","dismissed"]},"created_at":{"type":"string"},"reviewed_at":{"type":["string","null"]}},"required":["candidate_ref","project_ref","new_evidence_ref","related_finding_ref","related_resolved_evidence_ref","confidence","reason","status","created_at","reviewed_at"]}},"required":["recurrence_candidate"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/intakes":{"get":{"operationId":"intakesList","summary":"Intakes List","description":"Execute the UserTold intakes list operation.","tags":["Intake"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiIntakesListResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"post":{"operationId":"intakeCreate","summary":"Intake Create","description":"Execute the UserTold intake create operation.","tags":["Intake"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]},"handle":{"type":"string"},"welcome_message":{"type":["string","null"]},"brand_color":{"type":"string"},"consent_text":{"type":"string"},"max_participants":{"type":"number"},"questions":{"type":"array","items":{"type":"object","properties":{"question_text":{"type":"string"},"question_type":{"type":"string"},"required":{"type":"boolean"},"options":{"type":"array","items":{"type":"string"}},"min_value":{"type":"number"},"max_value":{"type":"number"},"qualification_rules":{"type":["object","null"],"additionalProperties":{}}},"required":["question_text","question_type"]}}},"required":["title"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiIntakeCreateResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/intakes/{intakeRef}":{"get":{"operationId":"intakeGet","summary":"Intake Get","description":"Execute the UserTold intake get operation.","tags":["Intake"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"intakeRef path parameter"},"required":true,"description":"intakeRef path parameter","name":"intakeRef","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiIntakeDetailResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"patch":{"operationId":"intakePatch","summary":"Intake Patch","description":"Execute the UserTold intake patch operation.","tags":["Intake"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"intakeRef path parameter"},"required":true,"description":"intakeRef path parameter","name":"intakeRef","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":["string","null"]},"handle":{"type":"string"},"status":{"type":"string"},"auto_managed":{"type":"number"},"max_participants":{"type":"number"},"logo_r2_key":{"type":["string","null"]},"brand_color":{"type":"string"},"welcome_message":{"type":["string","null"]},"thank_you_message":{"type":["string","null"]},"disqualified_message":{"type":["string","null"]},"consent_text":{"type":"string"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiIntakeResponseWrapper"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"delete":{"operationId":"intakeDelete","summary":"Intake Delete","description":"Execute the UserTold intake delete operation.","tags":["Intake"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"intakeRef path parameter"},"required":true,"description":"intakeRef path parameter","name":"intakeRef","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccessResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/intakes/{intakeRef}/questions":{"post":{"operationId":"intakeQuestionCreate","summary":"Intake Question Create","description":"Execute the UserTold intake question create operation.","tags":["Intake"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"intakeRef path parameter"},"required":true,"description":"intakeRef path parameter","name":"intakeRef","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"question_text":{"type":"string"},"question_type":{"type":"string"},"required":{"type":"boolean"},"options":{"type":"array","items":{"type":"string"}},"min_value":{"type":"number"},"max_value":{"type":"number"},"qualification_rules":{"type":["object","null"],"additionalProperties":{}}},"required":["question_text","question_type"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiIntakeQuestionResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"put":{"operationId":"intakeSetQuestions","summary":"Intake Set Questions","description":"Execute the UserTold intake set questions operation.","tags":["Intake"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"intakeRef path parameter"},"required":true,"description":"intakeRef path parameter","name":"intakeRef","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"questions":{"type":"array","items":{"type":"object","properties":{"question_text":{"type":"string"},"question_type":{"type":"string"},"required":{"type":"boolean"},"options":{"type":"array","items":{"type":"string"}},"min_value":{"type":"number"},"max_value":{"type":"number"},"qualification_rules":{"type":["object","null"],"additionalProperties":{}}},"required":["question_text","question_type"]}}},"required":["questions"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiIntakeQuestionsReorderResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/intakes/{intakeRef}/questions/{questionId}":{"patch":{"operationId":"intakeQuestionPatch","summary":"Intake Question Patch","description":"Execute the UserTold intake question patch operation.","tags":["Intake"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"intakeRef path parameter"},"required":true,"description":"intakeRef path parameter","name":"intakeRef","in":"path"},{"schema":{"type":"string","description":"questionId path parameter"},"required":true,"description":"questionId path parameter","name":"questionId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"question_text":{"type":"string"},"question_type":{"type":"string"},"required":{"type":"boolean"},"options":{"type":"array","items":{"type":"string"}},"min_value":{"type":"number"},"max_value":{"type":"number"},"qualification_rules":{"type":["object","null"],"additionalProperties":{}}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiIntakeQuestionResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"delete":{"operationId":"intakeQuestionDelete","summary":"Intake Question Delete","description":"Execute the UserTold intake question delete operation.","tags":["Intake"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"intakeRef path parameter"},"required":true,"description":"intakeRef path parameter","name":"intakeRef","in":"path"},{"schema":{"type":"string","description":"questionId path parameter"},"required":true,"description":"questionId path parameter","name":"questionId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccessResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/intakes/{intakeRef}/questions/reorder":{"post":{"operationId":"intakeQuestionReorder","summary":"Intake Question Reorder","description":"Execute the UserTold intake question reorder operation.","tags":["Intake"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"intakeRef path parameter"},"required":true,"description":"intakeRef path parameter","name":"intakeRef","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"question_ids":{"type":"array","items":{"type":"string"}}},"required":["question_ids"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiIntakeQuestionsReorderResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/intakes/{intakeRef}/responses/{responseId}":{"get":{"operationId":"intakeResponseGet","summary":"Intake Response Get","description":"Execute the UserTold intake response get operation.","tags":["Intake"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"intakeRef path parameter"},"required":true,"description":"intakeRef path parameter","name":"intakeRef","in":"path"},{"schema":{"type":"string","description":"responseId path parameter"},"required":true,"description":"responseId path parameter","name":"responseId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"response":{"type":"object","properties":{"id":{"type":"string"},"participant_name":{"type":["string","null"]},"participant_email":{"type":["string","null"]},"qualified":{"type":["number","null"]},"qualification_reason":{"type":["string","null"]},"answers_json":{"type":"string"},"session_id":{"type":["string","null"]},"utm_source":{"type":["string","null"]},"utm_medium":{"type":["string","null"]},"utm_campaign":{"type":["string","null"]},"consent_given":{"type":"number"},"created_at":{"type":"string"},"answers":{}},"required":["id","participant_name","participant_email","qualified","qualification_reason","answers_json","session_id","utm_source","utm_medium","utm_campaign","consent_given","created_at"]}},"required":["response"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"patch":{"operationId":"intakeResponsePatch","summary":"Intake Response Patch","description":"Execute the UserTold intake response patch operation.","tags":["Intake"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"intakeRef path parameter"},"required":true,"description":"intakeRef path parameter","name":"intakeRef","in":"path"},{"schema":{"type":"string","description":"responseId path parameter"},"required":true,"description":"responseId path parameter","name":"responseId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"qualified":{"type":"boolean"},"reason":{"type":"string"}},"required":["qualified"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"response":{"type":"object","properties":{"id":{"type":"string"},"participant_name":{"type":["string","null"]},"participant_email":{"type":["string","null"]},"qualified":{"type":["number","null"]},"qualification_reason":{"type":["string","null"]},"answers_json":{"type":"string"},"session_id":{"type":["string","null"]},"utm_source":{"type":["string","null"]},"utm_medium":{"type":["string","null"]},"utm_campaign":{"type":["string","null"]},"consent_given":{"type":"number"},"created_at":{"type":"string"}},"required":["id","participant_name","participant_email","qualified","qualification_reason","answers_json","session_id","utm_source","utm_medium","utm_campaign","consent_given","created_at"]}},"required":["response"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/studies/resolve-preview":{"post":{"operationId":"studyPlacementPreview","summary":"Study Placement Preview","description":"Execute the UserTold study placement preview operation.","tags":["Studies"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"pathname":{"type":"string","minLength":1,"maxLength":2000,"pattern":"^\\/(?!\\/)(?!.*\\/\\/)(?!.*[?#\\\\])(?=[\\x21-\\x7E]*$)(?!.*[\"<>^`{}])(?!(?:.*\\/)?(?:\\.|%2[eE]){1,2}(?:\\/|$))(?:$|.*[^/])$"},"language":{"type":["string","null"],"enum":["en","es","ru","fr","de","zh-Hans","ja",null]},"arrival":{"type":"string","enum":["placement","direct_link"]},"override":{"type":"object","properties":{"study_ref":{"type":"string","minLength":1},"invitation":{"type":["object","null"],"properties":{"launcher":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"icon":{"type":"string","enum":["feedback","mic","diagram","bug","research"]},"style":{"type":"string","enum":["calm","lattice","beam","ticket"]},"shape":{"type":"string","enum":["capsule","rounded","square"]}},"required":["label","icon"],"additionalProperties":false},"panel":{"type":"object","properties":{"eyebrow":{"type":"string","minLength":1,"maxLength":80},"headline":{"type":"string","minLength":1,"maxLength":120},"body":{"type":"string","minLength":1,"maxLength":600},"duration_minutes":{"type":"integer","minimum":1,"maximum":240},"reward":{"type":"object","properties":{"kind":{"type":"string","enum":["gift","product","community","access"]},"label":{"type":"string","minLength":1,"maxLength":160},"eligibility":{"type":"string","minLength":1,"maxLength":240},"delivery":{"type":"string","minLength":1,"maxLength":240}},"required":["kind","label"],"additionalProperties":false},"cta":{"type":"string","minLength":1,"maxLength":80},"image":{"type":"object","properties":{"asset_id":{"type":"string","minLength":1,"maxLength":160},"url":{"type":"string","maxLength":2000,"format":"uri"},"alt":{"type":"string","maxLength":160}},"required":["asset_id","url","alt"],"additionalProperties":false}},"required":["headline","cta"],"additionalProperties":false},"presentation_mode":{"type":"string","enum":["passive","contextual","direct_link"]},"brand_color":{"type":"object","properties":{"light":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"dark":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"required":["light"],"additionalProperties":false},"foreground_color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"placement":{"type":"object","properties":{"desktop":{"type":"string","enum":["bottom-left","bottom-right"]},"mobile":{"type":"string","enum":["bottom-left","bottom-right"]}},"required":["desktop","mobile"],"additionalProperties":false}},"required":["launcher","presentation_mode","brand_color","placement"],"additionalProperties":false},"visibility":{"type":["object","null"],"properties":{"version":{"type":"number","enum":[1]},"enabled":{"type":"boolean"},"rules":{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["include","exclude"]},"match":{"type":"string","enum":["exact","subtree"]},"pathname":{"type":"string","minLength":1,"maxLength":2000,"pattern":"^\\/(?!\\/)(?!.*\\/\\/)(?!.*[?#\\\\])(?=[\\x21-\\x7E]*$)(?!.*[\"<>^`{}])(?!(?:.*\\/)?(?:\\.|%2[eE]){1,2}(?:\\/|$))(?:$|.*[^/])$"}},"required":["effect","match","pathname"],"additionalProperties":false},"maxItems":100,"default":[]},"languages":{"type":"array","items":{"type":"string"},"maxItems":20},"priority":{"type":"integer","minimum":-1000000,"maximum":1000000,"default":0},"order":{"type":"integer","minimum":0,"maximum":1000000,"default":0}},"required":["version","enabled"],"additionalProperties":false}},"required":["study_ref","invitation","visibility"],"additionalProperties":false}},"required":["pathname"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiStudyPlacementPreviewResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/studies":{"get":{"operationId":"studiesList","summary":"Studies List","description":"Execute the UserTold studies list operation.","tags":["Studies"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"studies":{"type":"array","items":{"type":"object","properties":{"ref":{"type":"string"},"handle":{"type":"string"},"project_ref":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"status":{"type":"string"},"goals_json":{"type":["string","null"]},"script_json":{"type":["string","null"]},"settings_json":{"type":["string","null"]},"invitation":{"type":["object","null"],"properties":{"launcher":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"icon":{"type":"string","enum":["feedback","mic","diagram","bug","research"]},"style":{"type":"string","enum":["calm","lattice","beam","ticket"]},"shape":{"type":"string","enum":["capsule","rounded","square"]}},"required":["label","icon"],"additionalProperties":false},"panel":{"type":"object","properties":{"eyebrow":{"type":"string","minLength":1,"maxLength":80},"headline":{"type":"string","minLength":1,"maxLength":120},"body":{"type":"string","minLength":1,"maxLength":600},"duration_minutes":{"type":"integer","minimum":1,"maximum":240},"reward":{"type":"object","properties":{"kind":{"type":"string","enum":["gift","product","community","access"]},"label":{"type":"string","minLength":1,"maxLength":160},"eligibility":{"type":"string","minLength":1,"maxLength":240},"delivery":{"type":"string","minLength":1,"maxLength":240}},"required":["kind","label"],"additionalProperties":false},"cta":{"type":"string","minLength":1,"maxLength":80},"image":{"type":"object","properties":{"asset_id":{"type":"string","minLength":1,"maxLength":160},"url":{"type":"string","maxLength":2000,"format":"uri"},"alt":{"type":"string","maxLength":160}},"required":["asset_id","url","alt"],"additionalProperties":false}},"required":["headline","cta"],"additionalProperties":false},"presentation_mode":{"type":"string","enum":["passive","contextual","direct_link"]},"brand_color":{"type":"object","properties":{"light":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"dark":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"required":["light"],"additionalProperties":false},"foreground_color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"placement":{"type":"object","properties":{"desktop":{"type":"string","enum":["bottom-left","bottom-right"]},"mobile":{"type":"string","enum":["bottom-left","bottom-right"]}},"required":["desktop","mobile"],"additionalProperties":false}},"required":["launcher","presentation_mode","brand_color","placement"],"additionalProperties":false},"invitation_state":{"type":"string","enum":["absent","valid","invalid"]},"visibility":{"type":["object","null"],"properties":{"version":{"type":"number","enum":[1]},"enabled":{"type":"boolean"},"rules":{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["include","exclude"]},"match":{"type":"string","enum":["exact","subtree"]},"pathname":{"type":"string","minLength":1,"maxLength":2000,"pattern":"^\\/(?!\\/)(?!.*\\/\\/)(?!.*[?#\\\\])(?=[\\x21-\\x7E]*$)(?!.*[\"<>^`{}])(?!(?:.*\\/)?(?:\\.|%2[eE]){1,2}(?:\\/|$))(?:$|.*[^/])$"}},"required":["effect","match","pathname"],"additionalProperties":false},"maxItems":100,"default":[]},"languages":{"type":"array","items":{"type":"string"},"maxItems":20},"priority":{"type":"integer","minimum":-1000000,"maximum":1000000,"default":0},"order":{"type":"integer","minimum":0,"maximum":1000000,"default":0}},"required":["version","enabled"],"additionalProperties":false},"visibility_state":{"type":"string","enum":["absent","valid","invalid"]},"recruitment_url":{"type":["string","null"],"format":"uri","description":"Shareable customer-page URL for a configured direct-link Invitation; null until an allowed origin is available."},"allowed_selectors":{"type":["string","null"]},"allowed_origins":{"type":["string","null"]},"intake_ref":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["ref","handle","project_ref","title","description","status","goals_json","script_json","settings_json","invitation","invitation_state","visibility","visibility_state","recruitment_url","allowed_selectors","allowed_origins","intake_ref","created_at","updated_at"]}},"activity":{"type":"object","additionalProperties":{"type":"object","properties":{"sessions":{"type":"number"},"completed":{"type":"number"},"new_this_week":{"type":"number"},"signals":{"type":"number"},"latest":{"type":["string","null"]}},"required":["sessions","completed","new_this_week","signals","latest"]}}},"required":["studies"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"post":{"operationId":"studyCreate","summary":"Study Create","description":"Execute the UserTold study create operation.","tags":["Studies"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"handle":{"type":"string"},"description":{"type":["string","null"]},"goals":{},"script":{},"settings":{},"invitation":{"type":["object","null"],"properties":{"launcher":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"icon":{"type":"string","enum":["feedback","mic","diagram","bug","research"]},"style":{"type":"string","enum":["calm","lattice","beam","ticket"]},"shape":{"type":"string","enum":["capsule","rounded","square"]}},"required":["label","icon"],"additionalProperties":false},"panel":{"type":"object","properties":{"eyebrow":{"type":"string","minLength":1,"maxLength":80},"headline":{"type":"string","minLength":1,"maxLength":120},"body":{"type":"string","minLength":1,"maxLength":600},"duration_minutes":{"type":"integer","minimum":1,"maximum":240},"reward":{"type":"object","properties":{"kind":{"type":"string","enum":["gift","product","community","access"]},"label":{"type":"string","minLength":1,"maxLength":160},"eligibility":{"type":"string","minLength":1,"maxLength":240},"delivery":{"type":"string","minLength":1,"maxLength":240}},"required":["kind","label"],"additionalProperties":false},"cta":{"type":"string","minLength":1,"maxLength":80},"image":{"type":"object","properties":{"asset_id":{"type":"string","minLength":1,"maxLength":160},"url":{"type":"string","maxLength":2000,"format":"uri"},"alt":{"type":"string","maxLength":160}},"required":["asset_id","url","alt"],"additionalProperties":false}},"required":["headline","cta"],"additionalProperties":false},"presentation_mode":{"type":"string","enum":["passive","contextual","direct_link"]},"brand_color":{"type":"object","properties":{"light":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"dark":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"required":["light"],"additionalProperties":false},"foreground_color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"placement":{"type":"object","properties":{"desktop":{"type":"string","enum":["bottom-left","bottom-right"]},"mobile":{"type":"string","enum":["bottom-left","bottom-right"]}},"required":["desktop","mobile"],"additionalProperties":false}},"required":["launcher","presentation_mode","brand_color","placement"],"additionalProperties":false},"visibility":{"type":["object","null"],"properties":{"version":{"type":"number","enum":[1]},"enabled":{"type":"boolean"},"rules":{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["include","exclude"]},"match":{"type":"string","enum":["exact","subtree"]},"pathname":{"type":"string","minLength":1,"maxLength":2000,"pattern":"^\\/(?!\\/)(?!.*\\/\\/)(?!.*[?#\\\\])(?=[\\x21-\\x7E]*$)(?!.*[\"<>^`{}])(?!(?:.*\\/)?(?:\\.|%2[eE]){1,2}(?:\\/|$))(?:$|.*[^/])$"}},"required":["effect","match","pathname"],"additionalProperties":false},"maxItems":100,"default":[]},"languages":{"type":"array","items":{"type":"string"},"maxItems":20},"priority":{"type":"integer","minimum":-1000000,"maximum":1000000,"default":0},"order":{"type":"integer","minimum":0,"maximum":1000000,"default":0}},"required":["version","enabled"],"additionalProperties":false},"allowed_selectors":{"type":"array","items":{"type":"string"}},"allowed_origins":{"type":"array","items":{"type":"string"}},"intake_ref":{"type":["string","null"]},"auto_create_intake":{"type":"boolean"}},"required":["title"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiStudyResponse"}}}},"400":{"description":"Validation failed: a reserved handle (with code and suggestion) or a plain error for an invalid title, script, handle or origin","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiStudyValidationErrorResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"409":{"description":"Study handle conflict or concurrent managed Intake linking change","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiStudyCreateConflictResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/studies/{studyHandle}":{"get":{"operationId":"studyGet","summary":"Study Get","description":"Execute the UserTold study get operation.","tags":["Studies"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"studyHandle path parameter"},"required":true,"description":"studyHandle path parameter","name":"studyHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiStudyResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"patch":{"operationId":"studyPatch","summary":"Study Patch","description":"Execute the UserTold study patch operation.","tags":["Studies"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"studyHandle path parameter"},"required":true,"description":"studyHandle path parameter","name":"studyHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"handle":{"type":"string"},"description":{"type":["string","null"]},"goals":{},"script":{},"settings":{},"invitation":{"type":["object","null"],"properties":{"launcher":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"icon":{"type":"string","enum":["feedback","mic","diagram","bug","research"]},"style":{"type":"string","enum":["calm","lattice","beam","ticket"]},"shape":{"type":"string","enum":["capsule","rounded","square"]}},"required":["label","icon"],"additionalProperties":false},"panel":{"type":"object","properties":{"eyebrow":{"type":"string","minLength":1,"maxLength":80},"headline":{"type":"string","minLength":1,"maxLength":120},"body":{"type":"string","minLength":1,"maxLength":600},"duration_minutes":{"type":"integer","minimum":1,"maximum":240},"reward":{"type":"object","properties":{"kind":{"type":"string","enum":["gift","product","community","access"]},"label":{"type":"string","minLength":1,"maxLength":160},"eligibility":{"type":"string","minLength":1,"maxLength":240},"delivery":{"type":"string","minLength":1,"maxLength":240}},"required":["kind","label"],"additionalProperties":false},"cta":{"type":"string","minLength":1,"maxLength":80},"image":{"type":"object","properties":{"asset_id":{"type":"string","minLength":1,"maxLength":160},"url":{"type":"string","maxLength":2000,"format":"uri"},"alt":{"type":"string","maxLength":160}},"required":["asset_id","url","alt"],"additionalProperties":false}},"required":["headline","cta"],"additionalProperties":false},"presentation_mode":{"type":"string","enum":["passive","contextual","direct_link"]},"brand_color":{"type":"object","properties":{"light":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"dark":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"required":["light"],"additionalProperties":false},"foreground_color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"placement":{"type":"object","properties":{"desktop":{"type":"string","enum":["bottom-left","bottom-right"]},"mobile":{"type":"string","enum":["bottom-left","bottom-right"]}},"required":["desktop","mobile"],"additionalProperties":false}},"required":["launcher","presentation_mode","brand_color","placement"],"additionalProperties":false},"visibility":{"type":["object","null"],"properties":{"version":{"type":"number","enum":[1]},"enabled":{"type":"boolean"},"rules":{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["include","exclude"]},"match":{"type":"string","enum":["exact","subtree"]},"pathname":{"type":"string","minLength":1,"maxLength":2000,"pattern":"^\\/(?!\\/)(?!.*\\/\\/)(?!.*[?#\\\\])(?=[\\x21-\\x7E]*$)(?!.*[\"<>^`{}])(?!(?:.*\\/)?(?:\\.|%2[eE]){1,2}(?:\\/|$))(?:$|.*[^/])$"}},"required":["effect","match","pathname"],"additionalProperties":false},"maxItems":100,"default":[]},"languages":{"type":"array","items":{"type":"string"},"maxItems":20},"priority":{"type":"integer","minimum":-1000000,"maximum":1000000,"default":0},"order":{"type":"integer","minimum":0,"maximum":1000000,"default":0}},"required":["version","enabled"],"additionalProperties":false},"allowed_selectors":{"type":"array","items":{"type":"string"}},"allowed_origins":{"type":"array","items":{"type":"string"}},"intake_ref":{"type":["string","null"]},"auto_create_intake":{"type":"boolean"},"status":{"type":"string"}},"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"study":{"type":"object","properties":{"ref":{"type":"string"},"handle":{"type":"string"},"project_ref":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"status":{"type":"string"},"goals_json":{"type":["string","null"]},"script_json":{"type":["string","null"]},"settings_json":{"type":["string","null"]},"invitation":{"type":["object","null"],"properties":{"launcher":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"icon":{"type":"string","enum":["feedback","mic","diagram","bug","research"]},"style":{"type":"string","enum":["calm","lattice","beam","ticket"]},"shape":{"type":"string","enum":["capsule","rounded","square"]}},"required":["label","icon"],"additionalProperties":false},"panel":{"type":"object","properties":{"eyebrow":{"type":"string","minLength":1,"maxLength":80},"headline":{"type":"string","minLength":1,"maxLength":120},"body":{"type":"string","minLength":1,"maxLength":600},"duration_minutes":{"type":"integer","minimum":1,"maximum":240},"reward":{"type":"object","properties":{"kind":{"type":"string","enum":["gift","product","community","access"]},"label":{"type":"string","minLength":1,"maxLength":160},"eligibility":{"type":"string","minLength":1,"maxLength":240},"delivery":{"type":"string","minLength":1,"maxLength":240}},"required":["kind","label"],"additionalProperties":false},"cta":{"type":"string","minLength":1,"maxLength":80},"image":{"type":"object","properties":{"asset_id":{"type":"string","minLength":1,"maxLength":160},"url":{"type":"string","maxLength":2000,"format":"uri"},"alt":{"type":"string","maxLength":160}},"required":["asset_id","url","alt"],"additionalProperties":false}},"required":["headline","cta"],"additionalProperties":false},"presentation_mode":{"type":"string","enum":["passive","contextual","direct_link"]},"brand_color":{"type":"object","properties":{"light":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"dark":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"required":["light"],"additionalProperties":false},"foreground_color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"placement":{"type":"object","properties":{"desktop":{"type":"string","enum":["bottom-left","bottom-right"]},"mobile":{"type":"string","enum":["bottom-left","bottom-right"]}},"required":["desktop","mobile"],"additionalProperties":false}},"required":["launcher","presentation_mode","brand_color","placement"],"additionalProperties":false},"invitation_state":{"type":"string","enum":["absent","valid","invalid"]},"visibility":{"type":["object","null"],"properties":{"version":{"type":"number","enum":[1]},"enabled":{"type":"boolean"},"rules":{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["include","exclude"]},"match":{"type":"string","enum":["exact","subtree"]},"pathname":{"type":"string","minLength":1,"maxLength":2000,"pattern":"^\\/(?!\\/)(?!.*\\/\\/)(?!.*[?#\\\\])(?=[\\x21-\\x7E]*$)(?!.*[\"<>^`{}])(?!(?:.*\\/)?(?:\\.|%2[eE]){1,2}(?:\\/|$))(?:$|.*[^/])$"}},"required":["effect","match","pathname"],"additionalProperties":false},"maxItems":100,"default":[]},"languages":{"type":"array","items":{"type":"string"},"maxItems":20},"priority":{"type":"integer","minimum":-1000000,"maximum":1000000,"default":0},"order":{"type":"integer","minimum":0,"maximum":1000000,"default":0}},"required":["version","enabled"],"additionalProperties":false},"visibility_state":{"type":"string","enum":["absent","valid","invalid"]},"recruitment_url":{"type":["string","null"],"format":"uri","description":"Shareable customer-page URL for a configured direct-link Invitation; null until an allowed origin is available."},"allowed_selectors":{"type":["string","null"]},"allowed_origins":{"type":["string","null"]},"intake_ref":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["ref","handle","project_ref","title","description","status","goals_json","script_json","settings_json","invitation","invitation_state","visibility","visibility_state","recruitment_url","allowed_selectors","allowed_origins","intake_ref","created_at","updated_at"]},"intake_status_changed":{"type":"boolean"},"warning":{"type":"string"}},"required":["study"]}}}},"400":{"description":"Validation failed: a reserved handle (with code and suggestion) or a plain error for an invalid title, script, handle or origin","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiStudyValidationErrorResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"409":{"description":"Study update conflicts with project widget placement or concurrent configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiStudyPatchConflictResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"delete":{"operationId":"studyDelete","summary":"Study Delete","description":"Execute the UserTold study delete operation.","tags":["Studies"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"studyHandle path parameter"},"required":true,"description":"studyHandle path parameter","name":"studyHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccessResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"409":{"description":"The Study is active or changed concurrently before deletion","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiStudyDeleteConflictResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/studies/{studyHandle}/review-script":{"post":{"operationId":"studyReviewScript","summary":"Study Review Script","description":"Execute the UserTold study review script operation.","tags":["Studies"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"studyHandle path parameter"},"required":true,"description":"studyHandle path parameter","name":"studyHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"script":{}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean"},"errors":{"type":"array","items":{"type":"string"}},"summary":{"type":"object","properties":{"segment_count":{"type":"number"},"goal_count":{"type":"number"},"modes":{"type":"array","items":{"type":"string"}}},"required":["segment_count","goal_count","modes"]}},"required":["valid"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/widget/catalog":{"get":{"operationId":"sdkWidgetCatalog","summary":"Sdk Widget Catalog","description":"Execute the UserTold sdk widget catalog operation.","tags":["SDK"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"version":{"type":"number","enum":[1]},"placements":{"type":"array","items":{"type":"object","properties":{"study_ref":{"type":"string"},"visibility":{"type":"object","properties":{"version":{"type":"number","enum":[1]},"enabled":{"type":"boolean"},"rules":{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["include","exclude"]},"match":{"type":"string","enum":["exact","subtree"]},"pathname":{"type":"string","minLength":1,"maxLength":2000,"pattern":"^\\/(?!\\/)(?!.*\\/\\/)(?!.*[?#\\\\])(?=[\\x21-\\x7E]*$)(?!.*[\"<>^`{}])(?!(?:.*\\/)?(?:\\.|%2[eE]){1,2}(?:\\/|$))(?:$|.*[^/])$"}},"required":["effect","match","pathname"],"additionalProperties":false},"maxItems":100,"default":[]},"languages":{"type":"array","items":{"type":"string"},"maxItems":20},"priority":{"type":"integer","minimum":-1000000,"maximum":1000000,"default":0},"order":{"type":"integer","minimum":0,"maximum":1000000,"default":0}},"required":["version","enabled"],"additionalProperties":false},"invitation":{"type":["object","null"],"properties":{"launcher":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"icon":{"type":"string","enum":["feedback","mic","diagram","bug","research"]},"style":{"type":"string","enum":["calm","lattice","beam","ticket"]},"shape":{"type":"string","enum":["capsule","rounded","square"]}},"required":["label","icon"],"additionalProperties":false},"panel":{"type":"object","properties":{"eyebrow":{"type":"string","minLength":1,"maxLength":80},"headline":{"type":"string","minLength":1,"maxLength":120},"body":{"type":"string","minLength":1,"maxLength":600},"duration_minutes":{"type":"integer","minimum":1,"maximum":240},"reward":{"type":"object","properties":{"kind":{"type":"string","enum":["gift","product","community","access"]},"label":{"type":"string","minLength":1,"maxLength":160},"eligibility":{"type":"string","minLength":1,"maxLength":240},"delivery":{"type":"string","minLength":1,"maxLength":240}},"required":["kind","label"],"additionalProperties":false},"cta":{"type":"string","minLength":1,"maxLength":80},"image":{"type":"object","properties":{"asset_id":{"type":"string","minLength":1,"maxLength":160},"url":{"type":"string","maxLength":2000,"format":"uri"},"alt":{"type":"string","maxLength":160}},"required":["asset_id","url","alt"],"additionalProperties":false}},"required":["headline","cta"],"additionalProperties":false},"presentation_mode":{"type":"string","enum":["passive","contextual","direct_link"]},"brand_color":{"type":"object","properties":{"light":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"dark":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"required":["light"],"additionalProperties":false},"foreground_color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"placement":{"type":"object","properties":{"desktop":{"type":"string","enum":["bottom-left","bottom-right"]},"mobile":{"type":"string","enum":["bottom-left","bottom-right"]}},"required":["desktop","mobile"],"additionalProperties":false}},"required":["launcher","presentation_mode","brand_color","placement"],"additionalProperties":false}},"required":["study_ref","visibility","invitation"],"additionalProperties":false}}},"required":["version","placements"],"additionalProperties":false}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/widget/direct-link":{"post":{"operationId":"sdkWidgetDirectLink","summary":"Sdk Widget Direct Link","description":"Execute the UserTold sdk widget direct link operation.","tags":["SDK"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"recruitment_ref":{"type":"string","pattern":"^rct_[0-9a-z]{24}$"}},"required":["recruitment_ref"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"outcome":{"type":"string","enum":["match"]},"study_ref":{"type":"string"},"invitation":{"type":"object","properties":{"launcher":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"icon":{"type":"string","enum":["feedback","mic","diagram","bug","research"]},"style":{"type":"string","enum":["calm","lattice","beam","ticket"]},"shape":{"type":"string","enum":["capsule","rounded","square"]}},"required":["label","icon"],"additionalProperties":false},"panel":{"type":"object","properties":{"eyebrow":{"type":"string","minLength":1,"maxLength":80},"headline":{"type":"string","minLength":1,"maxLength":120},"body":{"type":"string","minLength":1,"maxLength":600},"duration_minutes":{"type":"integer","minimum":1,"maximum":240},"reward":{"type":"object","properties":{"kind":{"type":"string","enum":["gift","product","community","access"]},"label":{"type":"string","minLength":1,"maxLength":160},"eligibility":{"type":"string","minLength":1,"maxLength":240},"delivery":{"type":"string","minLength":1,"maxLength":240}},"required":["kind","label"],"additionalProperties":false},"cta":{"type":"string","minLength":1,"maxLength":80},"image":{"type":"object","properties":{"asset_id":{"type":"string","minLength":1,"maxLength":160},"url":{"type":"string","maxLength":2000,"format":"uri"},"alt":{"type":"string","maxLength":160}},"required":["asset_id","url","alt"],"additionalProperties":false}},"required":["headline","cta"],"additionalProperties":false},"presentation_mode":{"type":"string","enum":["passive","contextual","direct_link"]},"brand_color":{"type":"object","properties":{"light":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"dark":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"required":["light"],"additionalProperties":false},"foreground_color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"placement":{"type":"object","properties":{"desktop":{"type":"string","enum":["bottom-left","bottom-right"]},"mobile":{"type":"string","enum":["bottom-left","bottom-right"]}},"required":["desktop","mobile"],"additionalProperties":false}},"required":["launcher","presentation_mode","brand_color","placement"],"additionalProperties":false}},"required":["outcome","study_ref","invitation"],"additionalProperties":false},{"type":"object","properties":{"outcome":{"type":"string","enum":["unavailable"]},"reason":{"type":"string","enum":["configuration_invalid","recruitment_reference_invalid"]}},"required":["outcome","reason"],"additionalProperties":false}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/widget/bootstrap":{"post":{"operationId":"sdkWidgetBootstrap","summary":"Sdk Widget Bootstrap","description":"Execute the UserTold sdk widget bootstrap operation.","tags":["SDK"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"study_ref":{"type":"string","minLength":1}},"required":["study_ref"],"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"study":{"type":"object","properties":{"handle":{"type":"string"},"title":{"type":"string"},"goals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"}},"required":["id","description"]}},"script":{},"settings":{"type":"object","additionalProperties":{}},"invitation":{"type":["object","null"],"properties":{"launcher":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"icon":{"type":"string","enum":["feedback","mic","diagram","bug","research"]},"style":{"type":"string","enum":["calm","lattice","beam","ticket"]},"shape":{"type":"string","enum":["capsule","rounded","square"]}},"required":["label","icon"],"additionalProperties":false},"panel":{"type":"object","properties":{"eyebrow":{"type":"string","minLength":1,"maxLength":80},"headline":{"type":"string","minLength":1,"maxLength":120},"body":{"type":"string","minLength":1,"maxLength":600},"duration_minutes":{"type":"integer","minimum":1,"maximum":240},"reward":{"type":"object","properties":{"kind":{"type":"string","enum":["gift","product","community","access"]},"label":{"type":"string","minLength":1,"maxLength":160},"eligibility":{"type":"string","minLength":1,"maxLength":240},"delivery":{"type":"string","minLength":1,"maxLength":240}},"required":["kind","label"],"additionalProperties":false},"cta":{"type":"string","minLength":1,"maxLength":80},"image":{"type":"object","properties":{"asset_id":{"type":"string","minLength":1,"maxLength":160},"url":{"type":"string","maxLength":2000,"format":"uri"},"alt":{"type":"string","maxLength":160}},"required":["asset_id","url","alt"],"additionalProperties":false}},"required":["headline","cta"],"additionalProperties":false},"presentation_mode":{"type":"string","enum":["passive","contextual","direct_link"]},"brand_color":{"type":"object","properties":{"light":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"dark":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"required":["light"],"additionalProperties":false},"foreground_color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"placement":{"type":"object","properties":{"desktop":{"type":"string","enum":["bottom-left","bottom-right"]},"mobile":{"type":"string","enum":["bottom-left","bottom-right"]}},"required":["desktop","mobile"],"additionalProperties":false}},"required":["launcher","presentation_mode","brand_color","placement"],"additionalProperties":false},"allowed_selectors":{"type":"array","items":{"type":"string"}},"allowed_origins":{"type":"array","items":{"type":"string"}}},"required":["handle","title","goals","settings","invitation","allowed_selectors","allowed_origins"]},"intake":{"type":["object","null"],"properties":{"details":{"type":"object","properties":{"handle":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"brand_color":{"type":"string"},"welcome_message":{"type":["string","null"]},"consent_text":{"type":"string"}},"required":["handle","title","description","brand_color","welcome_message","consent_text"]},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"question_text":{"type":"string"},"question_type":{"type":"string"},"required":{"type":"number"},"options":{"type":["array","null"],"items":{"type":"string"}},"min_value":{"type":["number","null"]},"max_value":{"type":["number","null"]}},"required":["id","question_text","question_type","required","options","min_value","max_value"]}}},"required":["details","questions"]},"widget_capabilities":{"type":"object","properties":{"realtime_analysis":{"type":"boolean"},"realtime_page_context":{"type":"boolean"},"realtime_site_search":{"type":"boolean"},"realtime_knowledge_query":{"type":"boolean"},"realtime_visual_snapshots":{"type":"boolean"},"realtime_visual_guidance":{"type":"boolean"},"realtime_same_origin_navigation":{"type":"boolean"}},"required":["realtime_analysis","realtime_page_context","realtime_site_search","realtime_knowledge_query","realtime_visual_snapshots","realtime_visual_guidance","realtime_same_origin_navigation"]},"available":{"type":"boolean","enum":[true]}},"required":["study","intake","widget_capabilities","available"]},{"type":"object","properties":{"available":{"type":"boolean","enum":[false]},"reason":{"type":"string","enum":["inactive","capacity_reached","configuration_invalid","runtime_unavailable"]}},"required":["available","reason"],"additionalProperties":false}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/study/{studyRef}":{"get":{"operationId":"studySDKGet","summary":"Study SDKGet","description":"Execute the UserTold study sdkget operation.","tags":["Studies"],"parameters":[{"schema":{"type":"string","description":"studyRef path parameter"},"required":true,"description":"studyRef path parameter","name":"studyRef","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"study":{"type":"object","properties":{"handle":{"type":"string"},"title":{"type":"string"},"goals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"}},"required":["id","description"]}},"script":{},"settings":{"type":"object","additionalProperties":{}},"invitation":{"type":["object","null"],"properties":{"launcher":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"icon":{"type":"string","enum":["feedback","mic","diagram","bug","research"]},"style":{"type":"string","enum":["calm","lattice","beam","ticket"]},"shape":{"type":"string","enum":["capsule","rounded","square"]}},"required":["label","icon"],"additionalProperties":false},"panel":{"type":"object","properties":{"eyebrow":{"type":"string","minLength":1,"maxLength":80},"headline":{"type":"string","minLength":1,"maxLength":120},"body":{"type":"string","minLength":1,"maxLength":600},"duration_minutes":{"type":"integer","minimum":1,"maximum":240},"reward":{"type":"object","properties":{"kind":{"type":"string","enum":["gift","product","community","access"]},"label":{"type":"string","minLength":1,"maxLength":160},"eligibility":{"type":"string","minLength":1,"maxLength":240},"delivery":{"type":"string","minLength":1,"maxLength":240}},"required":["kind","label"],"additionalProperties":false},"cta":{"type":"string","minLength":1,"maxLength":80},"image":{"type":"object","properties":{"asset_id":{"type":"string","minLength":1,"maxLength":160},"url":{"type":"string","maxLength":2000,"format":"uri"},"alt":{"type":"string","maxLength":160}},"required":["asset_id","url","alt"],"additionalProperties":false}},"required":["headline","cta"],"additionalProperties":false},"presentation_mode":{"type":"string","enum":["passive","contextual","direct_link"]},"brand_color":{"type":"object","properties":{"light":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"dark":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"required":["light"],"additionalProperties":false},"foreground_color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"placement":{"type":"object","properties":{"desktop":{"type":"string","enum":["bottom-left","bottom-right"]},"mobile":{"type":"string","enum":["bottom-left","bottom-right"]}},"required":["desktop","mobile"],"additionalProperties":false}},"required":["launcher","presentation_mode","brand_color","placement"],"additionalProperties":false},"allowed_selectors":{"type":"array","items":{"type":"string"}},"allowed_origins":{"type":"array","items":{"type":"string"}}},"required":["handle","title","goals","settings","invitation","allowed_selectors","allowed_origins"]},"intake":{"type":["object","null"],"properties":{"details":{"type":"object","properties":{"handle":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"brand_color":{"type":"string"},"welcome_message":{"type":["string","null"]},"consent_text":{"type":"string"}},"required":["handle","title","description","brand_color","welcome_message","consent_text"]},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"question_text":{"type":"string"},"question_type":{"type":"string"},"required":{"type":"number"},"options":{"type":["array","null"],"items":{"type":"string"}},"min_value":{"type":["number","null"]},"max_value":{"type":["number","null"]}},"required":["id","question_text","question_type","required","options","min_value","max_value"]}}},"required":["details","questions"]},"widget_capabilities":{"type":"object","properties":{"realtime_analysis":{"type":"boolean"},"realtime_page_context":{"type":"boolean"},"realtime_site_search":{"type":"boolean"},"realtime_knowledge_query":{"type":"boolean"},"realtime_visual_snapshots":{"type":"boolean"},"realtime_visual_guidance":{"type":"boolean"},"realtime_same_origin_navigation":{"type":"boolean"}},"required":["realtime_analysis","realtime_page_context","realtime_site_search","realtime_knowledge_query","realtime_visual_snapshots","realtime_visual_guidance","realtime_same_origin_navigation"]}},"required":["study","intake","widget_capabilities"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/sessions/{sessionId}/study":{"get":{"operationId":"studySDKResume","summary":"Study SDKResume","description":"Execute the UserTold study sdkresume operation.","tags":["Studies"],"parameters":[{"schema":{"type":"string","description":"sessionId path parameter"},"required":true,"description":"sessionId path parameter","name":"sessionId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"study":{"type":"object","properties":{"handle":{"type":"string"},"title":{"type":"string"},"goals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"}},"required":["id","description"]}},"script":{},"settings":{"type":"object","additionalProperties":{}},"invitation":{"type":["object","null"],"properties":{"launcher":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"icon":{"type":"string","enum":["feedback","mic","diagram","bug","research"]},"style":{"type":"string","enum":["calm","lattice","beam","ticket"]},"shape":{"type":"string","enum":["capsule","rounded","square"]}},"required":["label","icon"],"additionalProperties":false},"panel":{"type":"object","properties":{"eyebrow":{"type":"string","minLength":1,"maxLength":80},"headline":{"type":"string","minLength":1,"maxLength":120},"body":{"type":"string","minLength":1,"maxLength":600},"duration_minutes":{"type":"integer","minimum":1,"maximum":240},"reward":{"type":"object","properties":{"kind":{"type":"string","enum":["gift","product","community","access"]},"label":{"type":"string","minLength":1,"maxLength":160},"eligibility":{"type":"string","minLength":1,"maxLength":240},"delivery":{"type":"string","minLength":1,"maxLength":240}},"required":["kind","label"],"additionalProperties":false},"cta":{"type":"string","minLength":1,"maxLength":80},"image":{"type":"object","properties":{"asset_id":{"type":"string","minLength":1,"maxLength":160},"url":{"type":"string","maxLength":2000,"format":"uri"},"alt":{"type":"string","maxLength":160}},"required":["asset_id","url","alt"],"additionalProperties":false}},"required":["headline","cta"],"additionalProperties":false},"presentation_mode":{"type":"string","enum":["passive","contextual","direct_link"]},"brand_color":{"type":"object","properties":{"light":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"dark":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"required":["light"],"additionalProperties":false},"foreground_color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"placement":{"type":"object","properties":{"desktop":{"type":"string","enum":["bottom-left","bottom-right"]},"mobile":{"type":"string","enum":["bottom-left","bottom-right"]}},"required":["desktop","mobile"],"additionalProperties":false}},"required":["launcher","presentation_mode","brand_color","placement"],"additionalProperties":false},"allowed_selectors":{"type":"array","items":{"type":"string"}},"allowed_origins":{"type":"array","items":{"type":"string"}}},"required":["handle","title","goals","settings","invitation","allowed_selectors","allowed_origins"]},"intake":{"type":["object","null"],"properties":{"details":{"type":"object","properties":{"handle":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"brand_color":{"type":"string"},"welcome_message":{"type":["string","null"]},"consent_text":{"type":"string"}},"required":["handle","title","description","brand_color","welcome_message","consent_text"]},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"question_text":{"type":"string"},"question_type":{"type":"string"},"required":{"type":"number"},"options":{"type":["array","null"],"items":{"type":"string"}},"min_value":{"type":["number","null"]},"max_value":{"type":["number","null"]}},"required":["id","question_text","question_type","required","options","min_value","max_value"]}}},"required":["details","questions"]},"widget_capabilities":{"type":"object","properties":{"realtime_analysis":{"type":"boolean"},"realtime_page_context":{"type":"boolean"},"realtime_site_search":{"type":"boolean"},"realtime_knowledge_query":{"type":"boolean"},"realtime_visual_snapshots":{"type":"boolean"},"realtime_visual_guidance":{"type":"boolean"},"realtime_same_origin_navigation":{"type":"boolean"}},"required":["realtime_analysis","realtime_page_context","realtime_site_search","realtime_knowledge_query","realtime_visual_snapshots","realtime_visual_guidance","realtime_same_origin_navigation"]}},"required":["study","intake","widget_capabilities"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/study/{studyRef}/intake-responses":{"post":{"operationId":"studySDKIntakeRespond","summary":"Study SDKIntake Respond","description":"Execute the UserTold study sdkintake respond operation.","tags":["Studies"],"parameters":[{"schema":{"type":"string","description":"studyRef path parameter"},"required":true,"description":"studyRef path parameter","name":"studyRef","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"participant_name":{"type":"string"},"participant_email":{"type":"string"},"participant_ref":{"type":"string"},"answers":{"type":"object","additionalProperties":{}},"consent_given":{"type":"boolean"},"consent_recording":{"type":"boolean"},"consent_analytics":{"type":"boolean"},"consent_followup":{"type":"boolean"},"utm_source":{"type":"string"},"utm_medium":{"type":"string"},"utm_campaign":{"type":"string"}},"required":["answers"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"qualified":{"type":"boolean"},"session_id":{"type":"string"},"session_token":{"type":"string"},"message":{"type":"string"}},"required":["qualified","message"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/sessions":{"post":{"operationId":"sdkSessionCreate","summary":"Sdk Session Create","description":"Execute the UserTold sdk session create operation.","tags":["SDK"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"participant_name":{"type":"string"},"participant_email":{"type":"string"},"participant_ref":{"type":"string"},"interview_mode":{"type":"string","enum":["voice","text","async"]},"study_ref":{"type":"string","minLength":1}},"required":["study_ref"]}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"session_id":{"type":"string"},"session_token":{"type":"string"}},"required":["session_id","session_token"]}}}},"400":{"description":"Bad request","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"429":{"description":"Rate limit exceeded. Honor Retry-After before retrying.","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"Retry-After":{"description":"Wait at least this many seconds before retrying a throttled request.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"required":["error"]}}}},"500":{"description":"Internal server error","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/sessions/{sessionId}/runtime-token":{"post":{"operationId":"sdkSessionRuntimeToken","summary":"Sdk Session Runtime Token","description":"Execute the UserTold sdk session runtime token operation.","tags":["SDK"],"parameters":[{"schema":{"type":"string","description":"sessionId path parameter"},"required":true,"description":"sessionId path parameter","name":"sessionId","in":"path"}],"responses":{"200":{"description":"Success","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"session_token":{"type":"string"}},"required":["session_token"]}}}},"401":{"description":"Not authenticated","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"429":{"description":"Rate limit exceeded. Honor Retry-After before retrying.","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"Retry-After":{"description":"Wait at least this many seconds before retrying a throttled request.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"required":["error"]}}}},"500":{"description":"Internal server error","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/sessions/{sessionId}/consent":{"post":{"operationId":"sdkSessionConsent","summary":"Sdk Session Consent","description":"Execute the UserTold sdk session consent operation.","tags":["SDK"],"parameters":[{"schema":{"type":"string","description":"sessionId path parameter"},"required":true,"description":"sessionId path parameter","name":"sessionId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"consent_copy_version":{"type":"string","minLength":1,"maxLength":64}},"required":["consent_copy_version"]}}}},"responses":{"200":{"description":"Success","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]}},"required":["success"]}}}},"400":{"description":"Bad request","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"429":{"description":"Rate limit exceeded. Honor Retry-After before retrying.","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"Retry-After":{"description":"Wait at least this many seconds before retrying a throttled request.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"required":["error"]}}}},"500":{"description":"Internal server error","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/audio/upload":{"post":{"operationId":"sdkAudioUpload","summary":"Sdk Audio Upload","description":"Execute the UserTold sdk audio upload operation.","tags":["SDK"],"responses":{"200":{"description":"Success","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]}}}},"401":{"description":"Not authenticated","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"429":{"description":"Rate limit exceeded. Honor Retry-After before retrying.","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"Retry-After":{"description":"Wait at least this many seconds before retrying a throttled request.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"required":["error"]}}}},"500":{"description":"Internal server error","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","headers":{"RateLimit-Policy":{"description":"IETF-draft structured quota policy for the selected 60-second bucket.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit":{"description":"IETF-draft structured remaining quota and seconds until reset.","schema":{"def":{"type":"string"},"type":"string","format":null,"minLength":null,"maxLength":null}},"RateLimit-Limit":{"description":"Maximum requests in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Remaining":{"description":"Requests remaining in the selected bucket.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"RateLimit-Reset":{"description":"Seconds until the selected bucket resets (not a Unix timestamp).","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Limit":{"description":"Compatibility alias for RateLimit-Limit.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Remaining":{"description":"Compatibility alias for RateLimit-Remaining.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}},"X-RateLimit-Reset":{"description":"Unix timestamp in seconds when the selected bucket resets.","schema":{"def":{"type":"number","checks":[{"def":{"type":"number","check":"number_format","abort":false,"format":"safeint"},"type":"number","minValue":-9007199254740991,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"},{}]},"type":"number","minValue":0,"maxValue":9007199254740991,"isInt":true,"isFinite":true,"format":"safeint"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/sessions/{sessionId}/recording-state":{"get":{"operationId":"sdkRecordingState","summary":"Sdk Recording State","description":"Execute the UserTold sdk recording state operation.","tags":["SDK"],"parameters":[{"schema":{"type":"string","description":"sessionId path parameter"},"required":true,"description":"sessionId path parameter","name":"sessionId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"next_sequence":{"type":"object","properties":{"audio":{"type":"integer","minimum":0},"assistant_audio":{"type":"integer","minimum":0},"screen":{"type":"integer","minimum":0}},"required":["audio","assistant_audio","screen"]},"next_capture_at_ms":{"type":"integer","minimum":0,"default":0}},"required":["next_sequence"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/sessions/{sessionId}/recording-health":{"post":{"operationId":"sdkRecordingHealthReport","summary":"Sdk Recording Health Report","description":"Execute the UserTold sdk recording health report operation.","tags":["SDK"],"parameters":[{"schema":{"type":"string","description":"sessionId path parameter"},"required":true,"description":"sessionId path parameter","name":"sessionId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["recovering_integrity","degraded","recovered"]},"stream":{"type":"string","enum":["audio","assistant_audio","screen"]},"sequence":{"type":"integer","minimum":0},"attempts":{"type":"integer","exclusiveMinimum":0},"retryable":{"type":"boolean"},"message":{"type":"string"},"http_status":{"type":"integer"},"error_code":{"type":"string"}},"required":["status","stream","sequence","attempts","retryable","message"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccessResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/settings":{"get":{"operationId":"settingsGet","summary":"Settings Get","description":"Execute the UserTold settings get operation.","tags":["Settings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProjectSettingsResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"patch":{"operationId":"settingsPatch","summary":"Settings Patch","description":"Execute the UserTold settings patch operation.","tags":["Settings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProjectSettingsResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/settings/validate":{"post":{"operationId":"settingsValidate","summary":"Settings Validate","description":"Execute the UserTold settings validate operation.","tags":["Settings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean"},"error":{"type":"string"}},"required":["valid"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/settings/key-health":{"get":{"operationId":"settingsKeyHealth","summary":"Settings Key Health","description":"Execute the UserTold settings key health operation.","tags":["Settings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"key_health":{"type":"object","properties":{"openai_api_key":{"type":["object","null"],"properties":{"status":{"type":"string","enum":["ok","warning","error","unknown"]},"code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"action":{"type":"string"},"checked_at":{"type":"string"},"remaining_balance_usd":{"type":"number"}},"required":["status","code","message","retryable","checked_at"]}},"required":["openai_api_key"]}},"required":["key_health"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/settings/knowledge-action":{"get":{"operationId":"knowledgeActionGet","summary":"Knowledge Action Get","description":"Execute the UserTold knowledge action get operation.","tags":["Settings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":["object","null"],"properties":{"name":{"type":"string"},"when_to_use":{"type":"string"},"method":{"type":"string","enum":["GET","POST"]},"url":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"body":{"type":["object","null"],"additionalProperties":{}},"response_path":{"type":["string","null"]}},"required":["name","when_to_use","method","url","headers"]}},"required":["action"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"patch":{"operationId":"knowledgeActionPatch","summary":"Knowledge Action Patch","description":"Execute the UserTold knowledge action patch operation.","tags":["Settings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"when_to_use":{"type":"string","minLength":1,"maxLength":1000},"method":{"type":"string","enum":["GET","POST"]},"url":{"type":"string","minLength":1,"maxLength":2000},"headers":{"type":"object","additionalProperties":{"type":["string","null"]},"default":{}},"body":{"type":["object","null"],"additionalProperties":{}},"response_path":{"type":["string","null"],"maxLength":500}},"required":["name","when_to_use","method","url"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":["object","null"],"properties":{"name":{"type":"string"},"when_to_use":{"type":"string"},"method":{"type":"string","enum":["GET","POST"]},"url":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"body":{"type":["object","null"],"additionalProperties":{}},"response_path":{"type":["string","null"]}},"required":["name","when_to_use","method","url","headers"]}},"required":["action"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"delete":{"operationId":"knowledgeActionDelete","summary":"Knowledge Action Delete","description":"Execute the UserTold knowledge action delete operation.","tags":["Settings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":["object","null"],"properties":{"name":{"type":"string"},"when_to_use":{"type":"string"},"method":{"type":"string","enum":["GET","POST"]},"url":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"body":{"type":["object","null"],"additionalProperties":{}},"response_path":{"type":["string","null"]}},"required":["name","when_to_use","method","url","headers"]}},"required":["action"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/settings/knowledge-action/test":{"post":{"operationId":"knowledgeActionTest","summary":"Knowledge Action Test","description":"Execute the UserTold knowledge action test operation.","tags":["Settings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":500},"page_url":{"type":"string","maxLength":2000},"site_hostname":{"type":"string","maxLength":253},"action":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"when_to_use":{"type":"string","minLength":1,"maxLength":1000},"method":{"type":"string","enum":["GET","POST"]},"url":{"type":"string","minLength":1,"maxLength":2000},"headers":{"type":"object","additionalProperties":{"type":["string","null"]},"default":{}},"body":{"type":["object","null"],"additionalProperties":{}},"response_path":{"type":["string","null"],"maxLength":500}},"required":["name","when_to_use","method","url"]}},"required":["query"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok","not_found","auth_required","unavailable"]},"message":{"type":"string"},"request":{"type":"object","properties":{"method":{"type":"string","enum":["GET","POST"]},"url":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"body":{}},"required":["method","url","headers"]},"http_status":{"type":"integer"},"raw_response":{"type":"string"},"extracted_response":{}},"required":["status","request"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/github-app/installations":{"get":{"operationId":"githubAppInstallations","summary":"Github App Installations","description":"Execute the UserTold github app installations operation.","tags":["GitHub App"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"installations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"installation_id":{"type":"integer"},"account_login":{"type":"string"},"account_type":{"type":"string"},"repository_selection":{"type":"string"},"permissions":{"type":"object","additionalProperties":{"type":"string"}},"status":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","installation_id","account_login","account_type","repository_selection","permissions","status","created_at","updated_at"]}}},"required":["installations"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/github-app/diagnostics":{"get":{"operationId":"githubAppDiagnostics","summary":"Github App Diagnostics","description":"Execute the UserTold github app diagnostics operation.","tags":["GitHub App"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","pattern":"^(?:[1-9]|[1-9][0-9]|100)$"},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","maxLength":500},"required":false,"name":"cursor","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"action":{"type":"string"},"outcome":{"type":"string","enum":["succeeded","failed","ignored"]},"source":{"type":"string","enum":["api","setup_callback","webhook"]},"actor_user_id":{"type":["integer","null"]},"installation_id":{"type":["integer","null"]},"installation_record_id":{"type":["string","null"]},"repository":{"type":["string","null"]},"error_code":{"type":["string","null"]},"provider_status":{"type":["integer","null"]},"request_id":{"type":["string","null"]},"delivery_id":{"type":["string","null"]},"created_at":{"type":"string"}},"required":["id","action","outcome","source","actor_user_id","installation_id","installation_record_id","repository","error_code","provider_status","request_id","delivery_id","created_at"]}},"next_cursor":{"type":["string","null"]},"retention_days":{"type":"integer"},"installation":{"type":["object","null"],"properties":{"id":{"type":"string"},"installation_id":{"type":"integer"},"account_login":{"type":"string"},"account_type":{"type":"string"},"repository_selection":{"type":"string"},"permissions":{"type":"object","additionalProperties":{"type":"string"}},"status":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","installation_id","account_login","account_type","repository_selection","permissions","status","created_at","updated_at"]},"project_repository":{"type":["object","null"],"properties":{"repository_id":{"type":["integer","null"]},"url":{"type":"string"},"default_branch":{"type":"string"}},"required":["repository_id","url","default_branch"]}},"required":["events","next_cursor","retention_days","installation","project_repository"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/github-app/verify":{"post":{"operationId":"githubAppVerify","summary":"Github App Verify","description":"Execute the UserTold github app verify operation.","tags":["GitHub App"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok","error"]},"code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"action":{"type":"string"},"checked_at":{"type":"string"},"request_id":{"type":["string","null"]}},"required":["status","code","message","retryable","checked_at","request_id"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/github-app/select-installation":{"post":{"operationId":"githubAppSelectInstallation","summary":"Github App Select Installation","description":"Execute the UserTold github app select installation operation.","tags":["GitHub App"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"installation_id":{"type":"string"}},"required":["installation_id"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccessResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/github-app/connection":{"delete":{"operationId":"githubAppDisconnect","summary":"Github App Disconnect","description":"Execute the UserTold github app disconnect operation.","tags":["GitHub App"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccessResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/github-app/repos":{"get":{"operationId":"githubAppRepos","summary":"Github App Repos","description":"Execute the UserTold github app repos operation.","tags":["GitHub App"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"repos":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"full_name":{"type":"string"},"html_url":{"type":"string"},"default_branch":{"type":"string"},"description":{"type":["string","null"]},"private":{"type":"boolean"}},"required":["id","full_name","html_url","default_branch","description","private"]}},"hasMore":{"type":"boolean"}},"required":["repos","hasMore"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/github-app/select-repo":{"post":{"operationId":"githubAppSelectRepo","summary":"Github App Select Repo","description":"Execute the UserTold github app select repo operation.","tags":["GitHub App"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"repo_url":{"type":"string"},"default_branch":{"type":"string"}},"required":["repo_url"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"project":{"type":"object","properties":{"ref":{"type":"string"},"handle":{"type":"string"},"name":{"type":"string"},"description":{"type":["string","null"]},"org_handle":{"type":["string","null"]},"project_handle":{"type":"string"},"project_ref":{"type":["string","null"]},"canonical_path":{"type":["string","null"]},"can_manage_credits":{"type":"boolean"},"github_repo_url":{"type":["string","null"]},"github_default_branch":{"type":"string"},"github_installation_id":{"type":["string","null"]},"linear_team_id":{"type":["string","null"]},"public_key":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["ref","handle","name","description","org_handle","project_handle","project_ref","canonical_path","can_manage_credits","github_repo_url","github_default_branch","github_installation_id","linear_team_id","public_key","created_at","updated_at"]}},"required":["success","project"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/github-app/install":{"get":{"operationId":"githubAppInstall","summary":"Github App Install","description":"Execute the UserTold github app install operation.","tags":["GitHub App"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/github/app/setup":{"get":{"operationId":"githubAppSetup","summary":"Github App Setup","description":"Execute the UserTold github app setup operation.","tags":["GitHub App"],"parameters":[{"schema":{"type":"string"},"required":false,"name":"installation_id","in":"query"},{"schema":{"type":"string"},"required":false,"name":"setup_action","in":"query"},{"schema":{"type":"string"},"required":false,"name":"state","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/linear/connect":{"get":{"operationId":"linearConnect","summary":"Linear Connect","description":"Execute the UserTold linear connect operation.","tags":["Linear"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string"},"required":false,"name":"return_to","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/linear/claim":{"get":{"operationId":"linearClaim","summary":"Linear Claim","description":"Execute the UserTold linear claim operation.","tags":["Linear"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string"},"required":false,"name":"return_to","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/linear/callback":{"get":{"operationId":"linearCallback","summary":"Linear Callback","description":"Execute the UserTold linear callback operation.","tags":["Linear"],"parameters":[{"schema":{"type":"string"},"required":false,"name":"code","in":"query"},{"schema":{"type":"string"},"required":false,"name":"state","in":"query"},{"schema":{"type":"string"},"required":false,"name":"error","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/linear/connection":{"get":{"operationId":"linearConnectionStatus","summary":"Linear Connection Status","description":"Execute the UserTold linear connection status operation.","tags":["Linear"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"connected":{"type":"boolean"},"workspaceName":{"type":"string"},"workspaceUrlKey":{"type":"string"},"status":{"type":"string"}},"required":["connected"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"delete":{"operationId":"linearDisconnect","summary":"Linear Disconnect","description":"Execute the UserTold linear disconnect operation.","tags":["Linear"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"unlinkedOrg":{"type":"boolean"},"revokedInstallation":{"type":"boolean"},"remainingActiveOrgLinks":{"type":"integer","minimum":0}},"required":["success","unlinkedOrg","revokedInstallation","remainingActiveOrgLinks"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/linear/teams":{"get":{"operationId":"linearTeams","summary":"Linear Teams","description":"Execute the UserTold linear teams operation.","tags":["Linear"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"}},"required":["id","name","key"]}}},"required":["teams"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/linear/select-team":{"post":{"operationId":"linearSelectTeam","summary":"Linear Select Team","description":"Execute the UserTold linear select team operation.","tags":["Linear"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"team_id":{"type":"string"}},"required":["team_id"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuccessResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/linear/webhook/status":{"get":{"operationId":"linearWebhookStatus","summary":"Linear Webhook Status","description":"Execute the UserTold linear webhook status operation.","tags":["Linear"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"registered":{"type":"boolean"},"webhookId":{"type":["string","null"]}},"required":["registered","webhookId"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/overview":{"get":{"operationId":"overview","summary":"Overview","description":"Execute the UserTold overview operation.","tags":["Overview"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"sessions":{"type":"object","properties":{"total":{"type":"number"},"active":{"type":"number"},"completed":{"type":"number"},"completed_through_widget":{"type":"number"},"by_status":{"type":"object","additionalProperties":{"type":"number"}},"failed_extraction":{"type":"number"},"with_evidence":{"type":"number"},"needs_attention":{"type":"number"},"by_review_state":{"type":"object","additionalProperties":{"type":"number"}}},"required":["total","active","completed","by_status","failed_extraction","with_evidence","needs_attention","by_review_state"]},"signals":{"type":"object","properties":{"total":{"type":"number"},"by_type":{"type":"object","additionalProperties":{"type":"number"}}},"required":["total","by_type"]},"tasks":{"type":"object","properties":{"total":{"type":"number"},"by_status":{"type":"object","additionalProperties":{"type":"number"}}},"required":["total","by_status"]},"studies":{"type":"object","properties":{"total":{"type":"number"}},"required":["total"]},"attention":{"type":"object","properties":{"recent_sessions_with_evidence":{"type":"number"},"active_evidence":{"type":"number"},"unlinked_evidence":{"type":"number"},"tasks_awaiting_handoff":{"type":"number"},"tasks_in_linear":{"type":"number"},"recurrence_candidates":{"type":"number"}},"required":["recent_sessions_with_evidence","active_evidence","unlinked_evidence","tasks_awaiting_handoff","tasks_in_linear","recurrence_candidates"]},"intakes":{"type":"object","properties":{"total":{"type":"number"},"active":{"type":"number"},"total_completed":{"type":"number"},"total_qualified":{"type":"number"}},"required":["total","active","total_completed","total_qualified"]},"recent_sessions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"project_ref":{"type":"string"},"study_ref":{"type":["string","null"]},"intake_response_id":{"type":["string","null"]},"participant_name":{"type":["string","null"]},"participant_email":{"type":["string","null"]},"participant_ref":{"type":["string","null"]},"status":{"type":"string","enum":["pending","active","completed","abandoned","error"]},"interview_mode":{"type":"string","enum":["voice","text","async"]},"current_phase":{"type":["string","null"]},"phase_started_at":{"type":["string","null"]},"started_at":{"type":["string","null"]},"completed_at":{"type":["string","null"]},"duration_seconds":{"type":["number","null"]},"transcript_key":{"type":["string","null"]},"voice_vtt_key":{"type":["string","null"]},"actions_vtt_key":{"type":["string","null"]},"session_vtt_key":{"type":["string","null"]},"snapshot_index_key":{"type":["string","null"]},"timeline_key":{"type":["string","null"]},"enriched_timeline_key":{"type":["string","null"]},"audio_media_key":{"type":["string","null"]},"screen_media_key":{"type":["string","null"]},"signals_key":{"type":["string","null"]},"summary":{"type":["string","null"]},"analysis_summary":{"type":["string","null"]},"signal_count":{"type":"number"},"talk_ratio":{"type":["number","null"]},"quality_score":{"type":["number","null"]},"consent_recording":{"type":"number"},"consent_analytics":{"type":"number"},"consent_followup":{"type":"number"},"cost_audio_cents":{"type":"number"},"cost_transcription_cents":{"type":"number"},"cost_analysis_cents":{"type":"number"},"deleted_at":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"interview_state":{"type":"object","properties":{"capture_state":{"type":"string","enum":["not_started","in_progress","completed","ended_early","interrupted","connection_warning"]},"results_state":{"type":"string","enum":["not_applicable","pending","processing","ready","failed"]},"review_state":{"type":"string","enum":["in_progress","processing","ready_for_review","completed_no_evidence","needs_attention","ended_early"]},"label":{"type":"string"},"tone":{"type":"string","enum":["neutral","info","success","warning","danger"]},"primary_action":{"type":"string","enum":["open","wait","review","retry","inspect"]}},"required":["capture_state","results_state","review_state","label","tone","primary_action"]}},"required":["id","project_ref","study_ref","intake_response_id","participant_name","participant_email","status","interview_mode","current_phase","phase_started_at","started_at","completed_at","duration_seconds","transcript_key","voice_vtt_key","actions_vtt_key","session_vtt_key","snapshot_index_key","timeline_key","enriched_timeline_key","audio_media_key","screen_media_key","signals_key","summary","analysis_summary","signal_count","talk_ratio","quality_score","consent_recording","consent_analytics","consent_followup","cost_audio_cents","cost_transcription_cents","cost_analysis_cents","deleted_at","created_at","updated_at"]}},"top_tasks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"project_ref":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"target_surface":{"type":"string","enum":["product_under_test","usertold_widget_interview","interviewer_conductor_behavior","ambiguous_needs_review"]},"status":{"type":"string","enum":["backlog","ready","in_progress","done","wont_fix"]},"research_state":{"type":"string","enum":["draft","reviewed","closed"]},"priority_score":{"type":"number"},"priority_label":{"type":"string"},"effort_estimate":{"type":["string","null"]},"signal_count":{"type":"number"},"session_count":{"type":"number"},"implementation_branch":{"type":["string","null"]},"implementation_pr_url":{"type":["string","null"]},"implementation_pr_number":{"type":["number","null"]},"deployed_at":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","project_ref","title","description","target_surface","status","priority_score","priority_label","effort_estimate","signal_count","session_count","implementation_branch","implementation_pr_url","implementation_pr_number","deployed_at","created_at","updated_at"]}},"setup":{"type":"object","properties":{"has_api_keys":{"type":"boolean"},"can_start_interviews":{"type":"boolean"},"start_blocker":{"type":["string","null"],"enum":["insufficient_credits","openai_key_missing","byok_key_unavailable","billing_error",null]},"has_active_study":{"type":"boolean"},"has_active_intake":{"type":"boolean"},"has_linked_active_intake":{"type":"boolean"},"has_sessions":{"type":"boolean"},"widget_installation":{"type":["object","null"],"properties":{"requested_url":{"type":"string","format":"uri"},"final_url":{"type":"string","format":"uri"},"verified_at":{"type":"string"}},"required":["requested_url","final_url","verified_at"]},"paid_interview_completed":{"type":"boolean"}},"required":["has_api_keys","can_start_interviews","start_blocker","has_active_study","has_active_intake","has_linked_active_intake","has_sessions","widget_installation","paid_interview_completed"]}},"required":["sessions","signals","tasks","attention","intakes","recent_sessions","top_tasks","setup"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/conductor/{sessionId}/start":{"post":{"operationId":"conductorStart","summary":"Conductor Start","description":"Execute the UserTold conductor start operation.","tags":["Conductor"],"parameters":[{"schema":{"type":"string","description":"sessionId path parameter"},"required":true,"description":"sessionId path parameter","name":"sessionId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"ws_url":{"type":"string"}},"required":["ws_url"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/conductor/{sessionId}/ws-ticket":{"post":{"operationId":"conductorWebSocketTicket","summary":"Conductor Web Socket Ticket","description":"Execute the UserTold conductor web socket ticket operation.","tags":["Conductor"],"parameters":[{"schema":{"type":"string","description":"sessionId path parameter"},"required":true,"description":"sessionId path parameter","name":"sessionId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"ws_url":{"type":"string"}},"required":["ws_url"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/conductor/{sessionId}/checkpoint":{"post":{"operationId":"conductorCheckpoint","summary":"Conductor Checkpoint","description":"Execute the UserTold conductor checkpoint operation.","tags":["Conductor"],"parameters":[{"schema":{"type":"string","description":"sessionId path parameter"},"required":true,"description":"sessionId path parameter","name":"sessionId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"trigger":{"type":"string","enum":["pagehide","beforeunload"]},"recorder_state":{"type":["string","null"],"enum":["idle","ready","recording","paused","stopped","error",null]},"transition":{"type":"object","properties":{"id":{"type":"string"},"source":{"type":"string","enum":["study_navigation","page_reload"]},"fromUrl":{"type":"string"},"fromTitle":{"type":"string"},"targetUrl":{"type":"string"},"ts":{"type":"number"}},"required":["id","source","fromUrl","ts"]},"widget_events":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":64},"ts":{"type":"number"},"data":{"type":"object","additionalProperties":{}}},"required":["name","ts","data"]},"maxItems":8},"transcripts":{"type":"array","items":{"allOf":[{"type":"object","properties":{"role":{"type":"string","enum":["user"]},"text":{"type":"string","minLength":1,"maxLength":8000},"ts":{"type":"number"},"source":{"type":"string","enum":["sts","sts_fallback"]}},"required":["text","ts"]},{"anyOf":[{"type":"object","properties":{"captureSegmentId":{"type":"string","minLength":1,"maxLength":200},"captureEpoch":{"type":"integer","exclusiveMinimum":0},"transportId":{"type":"string","minLength":1,"maxLength":128}},"required":["captureSegmentId","captureEpoch","transportId"]},{"type":"object","properties":{"capture_segment_id":{"type":"string","minLength":1,"maxLength":200},"capture_epoch":{"type":"integer","exclusiveMinimum":0},"transport_id":{"type":"string","minLength":1,"maxLength":128}},"required":["capture_segment_id","capture_epoch","transport_id"]}]}]},"maxItems":8},"transcription_usage":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0},"audioSeconds":{"type":"number","exclusiveMinimum":0},"keySourceToken":{"type":"string","minLength":1}},"required":["sequence","audioSeconds"]}},"required":["trigger"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"checkpointed":{"type":"boolean"}},"required":["success","checkpointed"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Origin rejected by conductor runtime guard","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiConductorOriginGuardErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/conductor/{sessionId}/ws":{"get":{"operationId":"conductorWs","summary":"WebSocket upgrade for conductor session","description":"Execute the UserTold conductor ws operation.","tags":["Conductor"],"parameters":[{"schema":{"type":"string","description":"sessionId path parameter"},"required":true,"description":"sessionId path parameter","name":"sessionId","in":"path"}],"responses":{"101":{"description":"WebSocket upgrade successful — no JSON body"},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Origin rejected by conductor runtime guard","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiConductorOriginGuardErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"426":{"description":"Upgrade Required — request must include Upgrade: websocket header","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/conductor/{sessionId}/transcription-secret":{"post":{"operationId":"conductorTranscriptionSecret","summary":"Conductor Transcription Secret","description":"Execute the UserTold conductor transcription secret operation.","tags":["Conductor"],"parameters":[{"schema":{"type":"string","description":"sessionId path parameter"},"required":true,"description":"sessionId path parameter","name":"sessionId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"client_secret":{"type":"string"},"expires_at":{"type":"number"},"language":{"type":"string"},"manual_commit":{"type":"boolean"},"usage_token":{"type":"string"}},"required":["client_secret","expires_at","language"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Origin rejected by conductor runtime guard","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiConductorOriginGuardErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/conductor/{sessionId}/realtime-call":{"post":{"operationId":"conductorRealtimeCall","summary":"Conductor Realtime Call","description":"Execute the UserTold conductor realtime call operation.","tags":["Conductor"],"parameters":[{"schema":{"type":"string","description":"sessionId path parameter"},"required":true,"description":"sessionId path parameter","name":"sessionId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"sdp":{"type":"string","minLength":1}},"required":["sdp"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"sdp":{"type":"string"},"call_id":{"type":"string"},"model":{"type":"string"}},"required":["sdp","call_id","model"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Origin rejected by conductor runtime guard","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiConductorOriginGuardErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/sdk/conductor/{sessionId}/end":{"post":{"operationId":"conductorEnd","summary":"Conductor End","description":"Execute the UserTold conductor end operation.","tags":["Conductor"],"parameters":[{"schema":{"type":"string","description":"sessionId path parameter"},"required":true,"description":"sessionId path parameter","name":"sessionId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"already_completed":{"type":"boolean"},"queued":{"type":"boolean"}},"required":["success","already_completed","queued"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Origin rejected by conductor runtime guard","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiConductorOriginGuardErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/implementations":{"get":{"operationId":"implementationsList","summary":"Implementations List","description":"Execute the UserTold implementations list operation.","tags":["Providers"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string"},"required":false,"name":"status","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"implementations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"task_id":{"type":"string"},"project_ref":{"type":"string"},"spec_json":{"type":["string","null"]},"relevant_files_json":{"type":["string","null"]},"status":{"type":"string"},"attempt_number":{"type":"number"},"branch_name":{"type":["string","null"]},"commit_sha":{"type":["string","null"]},"pr_url":{"type":["string","null"]},"pr_number":{"type":["number","null"]},"pr_state":{"type":["string","null"]},"pr_merged_at":{"type":["string","null"]},"started_at":{"type":["string","null"]},"completed_at":{"type":["string","null"]},"error_message":{"type":["string","null"]},"changes_summary":{"type":["string","null"]},"files_changed_json":{"type":["string","null"]},"is_dry_run":{"type":"number"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","task_id","project_ref","spec_json","relevant_files_json","status","attempt_number","branch_name","commit_sha","pr_url","pr_number","pr_state","pr_merged_at","started_at","completed_at","error_message","changes_summary","files_changed_json","is_dry_run","created_at","updated_at"]}}},"required":["implementations"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/implementations/{implId}":{"get":{"operationId":"implementationGet","summary":"Implementation Get","description":"Execute the UserTold implementation get operation.","tags":["Providers"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"implId path parameter"},"required":true,"description":"implId path parameter","name":"implId","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"implementation":{"type":"object","properties":{"id":{"type":"string"},"task_id":{"type":"string"},"project_ref":{"type":"string"},"spec_json":{"type":["string","null"]},"relevant_files_json":{"type":["string","null"]},"status":{"type":"string"},"attempt_number":{"type":"number"},"branch_name":{"type":["string","null"]},"commit_sha":{"type":["string","null"]},"pr_url":{"type":["string","null"]},"pr_number":{"type":["number","null"]},"pr_state":{"type":["string","null"]},"pr_merged_at":{"type":["string","null"]},"started_at":{"type":["string","null"]},"completed_at":{"type":["string","null"]},"error_message":{"type":["string","null"]},"changes_summary":{"type":["string","null"]},"files_changed_json":{"type":["string","null"]},"is_dry_run":{"type":"number"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","task_id","project_ref","spec_json","relevant_files_json","status","attempt_number","branch_name","commit_sha","pr_url","pr_number","pr_state","pr_merged_at","started_at","completed_at","error_message","changes_summary","files_changed_json","is_dry_run","created_at","updated_at"]}},"required":["implementation"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/findings/{findingRef}/provider-states":{"get":{"operationId":"findingProviderStates","summary":"Finding Provider States","description":"Execute the UserTold finding provider states operation.","tags":["Findings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"findingRef path parameter"},"required":true,"description":"findingRef path parameter","name":"findingRef","in":"path"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"provider_states":{"type":"array","items":{"type":"object","properties":{"provider_state_ref":{"type":"string"},"finding_ref":{"type":"string"},"project_ref":{"type":"string"},"provider":{"type":"string","enum":["linear","github","usertold_linear"]},"external_id":{"type":["string","null"]},"external_url":{"type":["string","null"]},"external_status":{"type":["string","null"]},"metadata_json":{"type":["string","null"]},"synced_at":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"research_state":{"type":"string","enum":["draft","reviewed","closed"]},"delivery_state":{"type":["string","null"],"enum":["not_sent","awaiting_product_triage","accepted","in_progress","completed","declined","duplicate",null]},"provider_placement":{"type":["string","null"],"enum":["triage","backlog_fallback",null]},"ambiguity":{"type":["string","null"]}},"required":["provider_state_ref","finding_ref","project_ref","provider","external_id","external_url","external_status","metadata_json","synced_at","created_at","updated_at","research_state","delivery_state","provider_placement","ambiguity"]}}},"required":["provider_states"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/orgs/{orgHandle}/projects/{projectHandle}/findings/{findingRef}/send":{"post":{"operationId":"findingSend","summary":"Finding Send","description":"Execute the UserTold finding send operation.","tags":["Findings"],"parameters":[{"schema":{"type":"string","description":"orgHandle path parameter"},"required":true,"description":"orgHandle path parameter","name":"orgHandle","in":"path"},{"schema":{"type":"string","description":"projectHandle path parameter"},"required":true,"description":"projectHandle path parameter","name":"projectHandle","in":"path"},{"schema":{"type":"string","description":"findingRef path parameter"},"required":true,"description":"findingRef path parameter","name":"findingRef","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string","enum":["github","linear"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"findingRef":{"type":"string"},"provider":{"type":"string","enum":["github","linear"]},"issueUrl":{"type":["string","null"]},"issueIdentifier":{"type":["string","null"]},"status":{"type":["string","null"]},"sent":{"type":"boolean"},"alreadySent":{"type":"boolean"},"provider_placement":{"type":["string","null"],"enum":["triage","backlog_fallback",null]},"delivery_state":{"type":["string","null"],"enum":["not_sent","awaiting_product_triage","accepted","in_progress","completed","declined","duplicate",null]}},"required":["findingRef","provider","issueUrl","issueIdentifier","status","sent","alreadySent","provider_placement","delivery_state"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/billing":{"get":{"operationId":"billingStatus","summary":"Billing Status","description":"Execute the UserTold billing status operation.","tags":["Billing"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"prepaid_balance_cents":{"type":"number"},"ledger_balance_cents":{"type":"number"},"reconciliation_difference_cents":{"type":"number"},"ledger_reconciled":{"type":"boolean"},"managed_rate_cents_per_minute":{"type":"number"},"byok_rate_cents_per_minute":{"type":"number"},"has_payment_method":{"type":"boolean"},"billed_interview_count":{"type":"number"},"gross_interview_charges_cents":{"type":"number"},"interview_refunds_cents":{"type":"number"},"net_interview_charges_cents":{"type":"number"},"polar_configured":{"type":"boolean"},"project_billing_modes":{"type":"array","items":{"type":"object","properties":{"project_ref":{"type":["string","null"]},"project_name":{"type":"string"},"project_handle":{"type":"string"},"org_handle":{"type":["string","null"]},"canonical_path":{"type":["string","null"]},"billing_mode":{"type":"string","enum":["managed","byok"]}},"required":["project_ref","project_name","project_handle","org_handle","canonical_path","billing_mode"]}}},"required":["prepaid_balance_cents","ledger_balance_cents","reconciliation_difference_cents","ledger_reconciled","managed_rate_cents_per_minute","byok_rate_cents_per_minute","has_payment_method","billed_interview_count","gross_interview_charges_cents","interview_refunds_cents","net_interview_charges_cents","polar_configured","project_billing_modes"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/billing/events":{"get":{"operationId":"billingEvents","summary":"Billing Events","description":"Execute the UserTold billing events operation.","tags":["Billing"],"parameters":[{"schema":{"type":"string"},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string"},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"user_id":{"type":"number"},"session_id":{"type":["string","null"]},"project_ref":{"type":["string","null"]},"event_type":{"type":"string"},"display_label":{"type":"string"},"display_kind":{"type":"string","enum":["purchase","bonus","usage","refund","opening","other"]},"amount_direction":{"type":"string","enum":["credit","debit","neutral"]},"balance_delta_cents":{"type":"number"},"signed_amount_cents":{"type":"number"},"external_reference":{"type":["string","null"]},"created_at":{"type":"string"}},"required":["id","user_id","session_id","project_ref","event_type","display_label","display_kind","amount_direction","balance_delta_cents","signed_amount_cents","external_reference","created_at"]}},"total":{"type":"number"}},"required":["events","total"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/billing/interviews":{"get":{"operationId":"billingInterviews","summary":"Billing Interviews","description":"Execute the UserTold billing interviews operation.","tags":["Billing"],"parameters":[{"schema":{"type":"string"},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string"},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"interviews":{"type":"array","items":{"type":"object","properties":{"session_id":{"type":"string"},"project_ref":{"type":["string","null"]},"billing_mode":{"type":"string","enum":["managed","byok"]},"duration_seconds":{"type":["number","null"]},"billable_seconds":{"type":["number","null"]},"rate_cents_per_minute":{"type":"number"},"minimum_charge_cents":{"type":"number"},"subtotal_cents":{"type":["number","null"]},"charge_cents":{"type":["number","null"]},"refund_cents":{"type":["number","null"]},"minimum_adjustment_cents":{"type":["number","null"]},"net_charge_cents":{"type":["number","null"]},"status":{"type":"string","enum":["pending","charged","refunded","excluded"]},"exclusion_reason":{"type":["string","null"],"enum":["abandoned","error","missing_transcript","missing_duration",null]},"quoted_at":{"type":"string"},"charged_at":{"type":["string","null"]}},"required":["session_id","project_ref","billing_mode","duration_seconds","billable_seconds","rate_cents_per_minute","minimum_charge_cents","subtotal_cents","charge_cents","refund_cents","minimum_adjustment_cents","net_charge_cents","status","exclusion_reason","quoted_at","charged_at"]}},"total":{"type":"number"}},"required":["interviews","total"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/billing/checkout":{"post":{"operationId":"billingCheckout","summary":"Billing Checkout","description":"Execute the UserTold billing checkout operation.","tags":["Billing"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"success_url":{"type":"string"},"pack":{"type":"number"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Domain error (non-retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"503":{"description":"Domain error (retryable)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}}},"webhooks":{}}