openapi: 3.1.0 info: title: Arthur GenAI Engine Agent Discovery Tenant Signup API version: 2.1.688 tags: - name: Tenant Signup paths: /api/v2/tenant/signup: post: tags: - Tenant Signup summary: Create Tenant Signup description: Public tenant signup. Accepts try-it-out onboarding form data, persists an onboarding submission, and creates a new organization, a default demo task scoped to that org, and a TENANT-USER API key with `org_scope` set to the new org. Returns the four identifiers; the raw `api_key` value appears only in this response (the DB stores only its hash). Gated by GENAI_ENGINE_DEMO_MODE — returns 404 when disabled. operationId: create_tenant_signup_api_v2_tenant_signup_post requestBody: content: application/json: schema: $ref: '#/components/schemas/TenantSignupRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DemoTaskSignupResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: DemoTaskSignupResponse: properties: org_id: type: string format: uuid title: Org Id task_id: type: string title: Task Id task_name: type: string title: Task Name api_key: type: string title: Api Key type: object required: - org_id - task_id - task_name - api_key title: DemoTaskSignupResponse ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError OnboardingTryItOutFormData: properties: first_name: type: string minLength: 1 title: First Name last_name: type: string minLength: 1 title: Last Name email: type: string minLength: 1 title: Email job_title: type: string minLength: 1 title: Job Title company: type: string minLength: 1 title: Company maturity: type: string minLength: 1 title: Maturity brings: type: string minLength: 1 title: Brings brings_other: type: string title: Brings Other default: '' competitors: items: type: string type: array minItems: 1 title: Competitors competitor_other: anyOf: - type: string - type: 'null' title: Competitor Other attribution: type: string minLength: 1 title: Attribution attribution_other: anyOf: - type: string - type: 'null' title: Attribution Other type: object required: - first_name - last_name - email - job_title - company - maturity - brings - competitors - attribution title: OnboardingTryItOutFormData description: Try-it-out onboarding form fields (matches UI TryItOutSubmission). HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError TenantSignupRequest: properties: form_variant: anyOf: - type: string enum: - linear - wizard - type: 'null' title: Form Variant description: Which onboarding form variant was submitted. form_data: $ref: '#/components/schemas/OnboardingTryItOutFormData' recaptcha_token: anyOf: - type: string - type: 'null' title: Recaptcha Token description: reCAPTCHA Enterprise token obtained client-side. Required when reCAPTCHA is configured server-side; ignored otherwise. type: object required: - form_data title: TenantSignupRequest description: Public tenant signup payload; includes try-it-out onboarding form data. securitySchemes: API Key: type: http description: Bearer token authentication with an API key scheme: bearer