openapi: 3.0.2 info: title: Voice Markertplace accents auth API version: 0.6.0 servers: - url: https://gateway.respeecher.com description: Respeecher Voice Marketplace API gateway tags: - name: auth paths: /api/login: post: tags: - auth summary: Login operationId: login_api_login_post requestBody: content: application/json: schema: $ref: '#/components/schemas/LoginCreds' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/LoginResponse' '402': description: Payment Required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/logout: post: tags: - auth summary: Logout operationId: logout_api_logout_post parameters: - required: false schema: title: X-Csrf-Token type: string name: x-csrf-token in: header - required: false schema: title: Api-Key type: string name: api-key in: header - required: false schema: title: Session Id type: string name: session_id in: cookie responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/DefaultSuccessResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/auth: post: tags: - auth summary: Authenticate operationId: authenticate_api_auth_post responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/User' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: IdentityProvider: title: IdentityProvider enum: - google - facebook - apple - linkedin type: string description: An enumeration. RateLimit: title: RateLimit required: - times - seconds type: object properties: times: title: Times type: integer seconds: title: Seconds type: integer CalibrationUserData: title: CalibrationUserData required: - calibration_id - f0 type: object properties: calibration_id: title: Calibration Id type: string format: uuid4 f0: title: F0 type: number LoginCreds: title: LoginCreds required: - email - password type: object properties: email: title: Email type: string format: email password: title: Password type: string session_duration: title: Session Duration type: integer MarketingInfo: title: MarketingInfo type: object properties: google_id: title: Google Id type: string UserData: title: UserData type: object properties: stripe: title: Stripe allOf: - $ref: '#/components/schemas/StripeInfo' default: {} calibration: $ref: '#/components/schemas/CalibrationUserData' bucket: title: Bucket type: string promo: title: Promo allOf: - $ref: '#/components/schemas/PromoData' default: default_coupon_used: false t_level: allOf: - $ref: '#/components/schemas/TrustLevel' default: gray domain_info: $ref: '#/components/schemas/UserDomainInfo' model_scope: title: Model Scope type: object additionalProperties: type: boolean credit_limit: title: Credit Limit type: boolean default: false moderate_originals: title: Moderate Originals type: boolean default: true run_moderation_in_parallel: title: Run Moderation In Parallel type: boolean default: false rate_limits: $ref: '#/components/schemas/UserRateLimits' permissions: title: Permissions allOf: - $ref: '#/components/schemas/UserPermissions' default: long_conversions: false download: false can_read: true can_write: false open_id: $ref: '#/components/schemas/OpenIDInfo' local_storage: title: Local Storage type: object default: {} demo_wizard: $ref: '#/components/schemas/DemoWizard' experimental: title: Experimental type: boolean default: false marketing: $ref: '#/components/schemas/MarketingInfo' advanced_settings: $ref: '#/components/schemas/AdvancedSettings' AdvancedSettings: title: AdvancedSettings type: object properties: normalize: title: Normalize type: boolean denormalize: title: Denormalize type: boolean denoise: title: Denoise type: boolean hft: title: Hft type: boolean pipeline: $ref: '#/components/schemas/PipelineType' emotional_scale: title: Emotional Scale maximum: 2.0 minimum: 0.0 type: number OpenIDInfo: title: OpenIDInfo required: - sub - provider type: object properties: sub: title: Sub type: string provider: $ref: '#/components/schemas/IdentityProvider' ErrorResponse: title: ErrorResponse required: - detail type: object properties: detail: title: Detail type: string UserRateLimits: title: UserRateLimits required: - fast - slow type: object properties: fast: $ref: '#/components/schemas/RateLimit' slow: $ref: '#/components/schemas/RateLimit' SubscriptionInterval: title: SubscriptionInterval enum: - month - year type: string description: An enumeration. DemoWizard: title: DemoWizard required: - show type: object properties: show: title: Show type: boolean skipped: title: Skipped type: boolean default: false completed: title: Completed type: boolean default: false converting: title: Converting type: boolean default: false project_id: title: Project Id type: string format: uuid4 folder_id: title: Folder Id type: string format: uuid4 original_id: title: Original Id type: string format: uuid4 PromoData: title: PromoData type: object properties: code: title: Code type: string extended_trial: title: Extended Trial type: boolean no_credit: title: No Credit type: boolean stripe_promo_code: title: Stripe Promo Code type: string stripe_promo_codes_used: title: Stripe Promo Codes Used type: object additionalProperties: type: string default_coupon_used: title: Default Coupon Used type: boolean default: false UserPermissions: title: UserPermissions type: object properties: long_conversions: title: Long Conversions type: boolean default: false download: title: Download type: boolean default: false can_read: title: Can Read type: boolean default: true can_write: title: Can Write type: boolean default: false access_level: title: Access Level type: string Role: title: Role enum: - admin - prepaid - reviewer - user - techsmith type: string description: An enumeration. User: title: User required: - id - email - verified - username - roles - groups type: object properties: id: title: Id type: string format: uuid4 example: 00000000-0000-0000-0000-000000000001 email: title: Email type: string format: email verified: title: Verified type: boolean username: title: Username type: string first_name: title: First Name type: string last_name: title: Last Name type: string roles: type: array items: $ref: '#/components/schemas/Role' groups: title: Groups type: array items: $ref: '#/components/schemas/Group' data: $ref: '#/components/schemas/UserData' TrustLevel: title: TrustLevel enum: - gray - red - orange - green type: string description: An enumeration. SubscriptionStatuses: title: SubscriptionStatuses enum: - 'null' - trialing - incomplete - active - unpaid type: string description: An enumeration. PipelineType: title: PipelineType enum: - fast - slow type: string description: An enumeration. UserDomainInfo: title: UserDomainInfo required: - profession - industry type: object properties: profession: title: Profession type: string industry: title: Industry type: string ValidationError: title: ValidationError required: - loc - msg - type type: object properties: loc: title: Location type: array items: anyOf: - type: string - type: integer msg: title: Message type: string type: title: Error Type type: string DefaultSuccessResponse: title: DefaultSuccessResponse type: object properties: detail: title: Detail type: string default: OK StripeInfo: title: StripeInfo type: object properties: customer_id: title: Customer Id type: string price_id: title: Price Id type: string subscription_status: $ref: '#/components/schemas/SubscriptionStatuses' subscription_interval: $ref: '#/components/schemas/SubscriptionInterval' subscription_active: title: Subscription Active type: boolean trial: title: Trial type: boolean trial_used: title: Trial Used type: boolean subscription_id: title: Subscription Id type: string trial_subscription_id: title: Trial Subscription Id type: string current_period_end: title: Current Period End type: integer payed_once: title: Payed Once type: boolean HTTPValidationError: title: HTTPValidationError type: object properties: detail: title: Detail type: array items: $ref: '#/components/schemas/ValidationError' Group: title: Group required: - id - name type: object properties: id: title: Id type: string format: uuid4 example: 00000000-0000-0000-0000-000000000001 name: title: Name type: string LoginResponse: title: LoginResponse required: - user - csrf_token type: object properties: user: $ref: '#/components/schemas/User' csrf_token: title: Csrf Token type: string