openapi: 3.0.3
info:
  title: 'ServiceMart API Documentation'
  description: ''
  version: 1.0.0
servers:
  -
    url: 'http://api.staging.servicemart.ng:8000'
tags:
  -
    name: Authentication
    description: "\nAPI endpoints for user authentication and registration"
  -
    name: Endpoints
    description: ''
paths:
  /api/v1/auth/register:
    post:
      summary: 'Register a new user'
      operationId: registerANewUser
      description: 'Create a new user account in the platform.'
      parameters: []
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Registration successful'
                  user:
                    id: 1
                    name: 'John Doe'
                    email: john@example.com
                    role: resident
                  token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
                properties:
                  message:
                    type: string
                    example: 'Registration successful'
                  user:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1
                      name:
                        type: string
                        example: 'John Doe'
                      email:
                        type: string
                        example: john@example.com
                      role:
                        type: string
                        example: resident
                  token:
                    type: string
                    example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The given data was invalid.'
                  errors:
                    email:
                      - 'The email has already been taken.'
                properties:
                  message:
                    type: string
                    example: 'The given data was invalid.'
                  errors:
                    type: object
                    properties:
                      email:
                        type: array
                        example:
                          - 'The email has already been taken.'
                        items:
                          type: string
      tags:
        - Authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: "The user's full name."
                  example: 'John Doe'
                email:
                  type: string
                  description: "The user's email address."
                  example: john@example.com
                phone:
                  type: string
                  description: "The user's phone number."
                  example: '+2348012345678'
                password:
                  type: string
                  description: 'Minimum 8 characters.'
                  example: password123
                password_confirmation:
                  type: string
                  description: 'Must match password.'
                  example: password123
                role:
                  type: string
                  description: 'optional User role: resident, provider, or sme_admin. Default: resident'
                  example: architecto
              required:
                - name
                - email
                - phone
                - password
                - password_confirmation
      security: []
  /api/v1/auth/login:
    post:
      summary: 'Login user'
      operationId: loginUser
      description: 'Authenticate a user and return an access token.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Login successful'
                  user:
                    id: 1
                    name: 'John Doe'
                    email: john@example.com
                    role: resident
                  token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
                properties:
                  message:
                    type: string
                    example: 'Login successful'
                  user:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1
                      name:
                        type: string
                        example: 'John Doe'
                      email:
                        type: string
                        example: john@example.com
                      role:
                        type: string
                        example: resident
                  token:
                    type: string
                    example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Invalid credentials'
                  errors:
                    email:
                      - 'The provided credentials are incorrect.'
                properties:
                  message:
                    type: string
                    example: 'Invalid credentials'
                  errors:
                    type: object
                    properties:
                      email:
                        type: array
                        example:
                          - 'The provided credentials are incorrect.'
                        items:
                          type: string
      tags:
        - Authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: "The user's email address."
                  example: john@example.com
                password:
                  type: string
                  description: "The user's password."
                  example: password123
              required:
                - email
                - password
      security: []
  /api/v1/auth/logout:
    post:
      summary: ''
      operationId: postApiV1AuthLogout
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Authentication
      security: []
  /api/v1/auth/forgot-password:
    post:
      summary: ''
      operationId: postApiV1AuthForgotPassword
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Authentication
      security: []
  /api/v1/auth/reset-password:
    post:
      summary: ''
      operationId: postApiV1AuthResetPassword
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Authentication
      security: []
  /api/v1/auth/verify-email:
    post:
      summary: ''
      operationId: postApiV1AuthVerifyEmail
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Authentication
      security: []
  /api/v1/auth/resend-verification:
    post:
      summary: ''
      operationId: postApiV1AuthResendVerification
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Authentication
      security: []
  /api/v1/auth/send-otp:
    post:
      summary: ''
      operationId: postApiV1AuthSendOtp
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Authentication
      security: []
  /api/v1/auth/verify-otp:
    post:
      summary: ''
      operationId: postApiV1AuthVerifyOtp
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Authentication
      security: []
  /api/v1/mfa/enable:
    post:
      summary: ''
      operationId: postApiV1MfaEnable
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Authentication
      security: []
  /api/v1/mfa/disable:
    post:
      summary: ''
      operationId: postApiV1MfaDisable
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Authentication
      security: []
  /api/v1/mfa/verify:
    post:
      summary: ''
      operationId: postApiV1MfaVerify
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Authentication
      security: []
  /api/v1/mfa/send-code:
    post:
      summary: ''
      operationId: postApiV1MfaSendCode
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Authentication
      security: []
  /api/v1/mfa/status:
    get:
      summary: ''
      operationId: getApiV1MfaStatus
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Authentication
      security: []
  /api/v1/mfa/backup-codes:
    post:
      summary: ''
      operationId: postApiV1MfaBackupCodes
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Authentication
      security: []
  /api/v1/mfa/verify-backup:
    post:
      summary: ''
      operationId: postApiV1MfaVerifyBackup
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Authentication
      security: []
  '/api/v1/social/{provider}/redirect':
    get:
      summary: ''
      operationId: getApiV1SocialProviderRedirect
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Authentication
      security: []
    parameters:
      -
        in: path
        name: provider
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/social/{provider}/callback':
    get:
      summary: ''
      operationId: getApiV1SocialProviderCallback
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Authentication
      security: []
    parameters:
      -
        in: path
        name: provider
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/health:
    get:
      summary: ''
      operationId: getApiV1Health
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/customer/register:
    post:
      summary: ''
      operationId: postApiV1CustomerRegister
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                email:
                  type: string
                  description: 'Must be a valid email address.'
                  example: zbailey@example.net
                phone:
                  type: string
                  description: ''
                  example: architecto
                password:
                  type: string
                  description: 'Must be at least 8 characters.'
                  example: ']|{+-0pBNvYg'
                role:
                  type: string
                  description: ''
                  example: provider
                  enum:
                    - resident
                    - provider
                    - sme_admin
                  nullable: true
              required:
                - name
                - email
                - phone
                - password
      security: []
  /api/v1/customer/otp-verify:
    post:
      summary: ''
      operationId: postApiV1CustomerOtpVerify
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                phone:
                  type: string
                  description: ''
                  example: architecto
                otp:
                  type: string
                  description: 'Must be 6 characters.'
                  example: ngzmiy
              required:
                - phone
                - otp
      security: []
  /api/v1/customer/otp-resend:
    post:
      summary: ''
      operationId: postApiV1CustomerOtpResend
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                phone:
                  type: string
                  description: ''
                  example: architecto
              required:
                - phone
      security: []
  /api/v1/customer/login:
    post:
      summary: ''
      operationId: postApiV1CustomerLogin
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: 'Must be a valid email address.'
                  example: gbailey@example.net
                password:
                  type: string
                  description: ''
                  example: '|]|{+-'
              required:
                - email
                - password
      security: []
  /api/v1/fraud/analyze:
    post:
      summary: ''
      operationId: postApiV1FraudAnalyze
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  '/api/v1/fraud/profile/{userId}':
    get:
      summary: ''
      operationId: getApiV1FraudProfileUserId
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: userId
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/fraud/log-attempt:
    post:
      summary: ''
      operationId: postApiV1FraudLogAttempt
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/ai/match-providers:
    post:
      summary: ''
      operationId: postApiV1AiMatchProviders
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/ai/recommendations:
    get:
      summary: ''
      operationId: getApiV1AiRecommendations
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/ai/price-suggestion:
    get:
      summary: ''
      operationId: getApiV1AiPriceSuggestion
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/pwa/manifest:
    get:
      summary: 'Get public PWA settings (for frontend manifest)'
      operationId: getPublicPWASettingsforFrontendManifest
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/user:
    get:
      summary: ''
      operationId: getApiV1User
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1User
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/user/change-password:
    post:
      summary: ''
      operationId: postApiV1UserChangePassword
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/user/avatar:
    post:
      summary: ''
      operationId: postApiV1UserAvatar
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/user/verify-phone:
    post:
      summary: ''
      operationId: postApiV1UserVerifyPhone
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/user/onboarding:
    post:
      summary: ''
      operationId: postApiV1UserOnboarding
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                onboarding_step:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 5.'
                  example: 1
                  nullable: true
                role:
                  type: string
                  description: ''
                  example: resident
                  enum:
                    - resident
                    - provider
                    - sme_admin
                  nullable: true
      security: []
  /api/v1/customer/onboarding/status:
    get:
      summary: ''
      operationId: getApiV1CustomerOnboardingStatus
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/customer/onboarding/step:
    put:
      summary: ''
      operationId: putApiV1CustomerOnboardingStep
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                onboarding_step:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 5.'
                  example: 1
                  nullable: true
      security: []
  /api/v1/customer/onboarding/data:
    post:
      summary: ''
      operationId: postApiV1CustomerOnboardingData
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                display_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                  nullable: true
                location:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: true
                preferences:
                  type: array
                  description: ''
                  example:
                    - 16
                  items:
                    type: integer
                notifications:
                  type: object
                  description: ''
                  example: null
                  properties:
                    email:
                      type: boolean
                      description: ''
                      example: true
                    push:
                      type: boolean
                      description: ''
                      example: true
                    sms:
                      type: boolean
                      description: ''
                      example: true
                  nullable: true
      security: []
  /api/v1/customer/onboarding/complete:
    post:
      summary: ''
      operationId: postApiV1CustomerOnboardingComplete
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/customer/onboarding/skip:
    post:
      summary: ''
      operationId: postApiV1CustomerOnboardingSkip
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/customer/onboarding/verify-phone:
    post:
      summary: ''
      operationId: postApiV1CustomerOnboardingVerifyPhone
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                phone:
                  type: string
                  description: ''
                  example: architecto
                otp:
                  type: string
                  description: 'Must be 6 characters.'
                  example: ngzmiy
              required:
                - phone
                - otp
      security: []
  /api/v1/customer/onboarding/send-otp:
    post:
      summary: ''
      operationId: postApiV1CustomerOnboardingSendOtp
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                phone:
                  type: string
                  description: ''
                  example: architecto
              required:
                - phone
      security: []
  /api/v1/tenant:
    get:
      summary: ''
      operationId: getApiV1Tenant
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1Tenant
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                business_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                subdomain:
                  type: string
                  description: 'Must match the regex /^[a-z0-9-]+$/. Must not be greater than 50 characters.'
                  example: 'n'
                description:
                  type: string
                  description: 'Must not be greater than 1000 characters.'
                  example: 'Animi quos velit et fugiat.'
                  nullable: true
                phone:
                  type: string
                  description: 'Must not be greater than 20 characters.'
                  example: dljnikhwaykcmyuw
                  nullable: true
                address:
                  type: string
                  description: 'Must not be greater than 500 characters.'
                  example: p
                  nullable: true
              required:
                - business_name
                - subdomain
      security: []
    put:
      summary: ''
      operationId: putApiV1Tenant
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                business_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                description:
                  type: string
                  description: 'Must not be greater than 1000 characters.'
                  example: 'Et animi quos velit et fugiat.'
                  nullable: true
                phone:
                  type: string
                  description: 'Must not be greater than 20 characters.'
                  example: dljnikhwaykcmyuw
                  nullable: true
                address:
                  type: string
                  description: 'Must not be greater than 500 characters.'
                  example: p
                  nullable: true
      security: []
  /api/v1/tenant/check-subdomain:
    get:
      summary: ''
      operationId: getApiV1TenantCheckSubdomain
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/marketplace/services:
    get:
      summary: ''
      operationId: getApiV1MarketplaceServices
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/marketplace/services/{id}':
    get:
      summary: ''
      operationId: getApiV1MarketplaceServicesId
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the service.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/jobs:
    get:
      summary: ''
      operationId: getApiV1Jobs
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1Jobs
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/jobs/available:
    get:
      summary: ''
      operationId: getApiV1JobsAvailable
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/jobs/count:
    get:
      summary: ''
      operationId: getApiV1JobsCount
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/jobs/{id}':
    get:
      summary: ''
      operationId: getApiV1JobsId
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the job.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/notifications/count:
    get:
      summary: ''
      operationId: getApiV1NotificationsCount
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/notifications:
    get:
      summary: ''
      operationId: getApiV1Notifications
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1Notifications
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: integer
                  description: ''
                  example: 16
                type:
                  type: string
                  description: 'Must not be greater than 50 characters.'
                  example: 'n'
                title:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: g
                body:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                data:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                  nullable: true
              required:
                - user_id
                - type
                - title
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1Notifications
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/notifications/stats:
    get:
      summary: ''
      operationId: getApiV1NotificationsStats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/notifications/{id}/read':
    post:
      summary: ''
      operationId: postApiV1NotificationsIdRead
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the notification.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/notifications/read-all:
    post:
      summary: ''
      operationId: postApiV1NotificationsReadAll
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  '/api/v1/notifications/{id}':
    delete:
      summary: ''
      operationId: deleteApiV1NotificationsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the notification.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/jobs/{id}/accept':
    post:
      summary: ''
      operationId: postApiV1JobsIdAccept
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the job.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/jobs/{id}/start':
    post:
      summary: ''
      operationId: postApiV1JobsIdStart
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the job.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/jobs/{id}/complete':
    post:
      summary: ''
      operationId: postApiV1JobsIdComplete
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the job.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/jobs/{id}/confirm':
    post:
      summary: ''
      operationId: postApiV1JobsIdConfirm
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the job.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/jobs/{id}/cancel':
    post:
      summary: ''
      operationId: postApiV1JobsIdCancel
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the job.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/jobs/{id}/matches':
    get:
      summary: ''
      operationId: getApiV1JobsIdMatches
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the job.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/wallet/verify-bank:
    get:
      summary: ''
      operationId: getApiV1WalletVerifyBank
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/wallet/fund:
    post:
      summary: ''
      operationId: postApiV1WalletFund
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/wallet/withdraw:
    post:
      summary: ''
      operationId: postApiV1WalletWithdraw
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/wallet:
    post:
      summary: ''
      operationId: postApiV1Wallet
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  '/api/v1/wallet/{userId}/balance':
    get:
      summary: ''
      operationId: getApiV1WalletUserIdBalance
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: userId
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/wallet/{userId}/transactions':
    get:
      summary: ''
      operationId: getApiV1WalletUserIdTransactions
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: userId
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/wallet/{userId}':
    get:
      summary: ''
      operationId: getApiV1WalletUserId
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: userId
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/wallet/escrow/hold:
    post:
      summary: ''
      operationId: postApiV1WalletEscrowHold
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/wallet/escrow/release:
    post:
      summary: ''
      operationId: postApiV1WalletEscrowRelease
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/smes:
    get:
      summary: ''
      operationId: getApiV1Smes
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1Smes
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                business_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                category:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: 'n'
                  nullable: true
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                address:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                location:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                phone:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                email:
                  type: string
                  description: 'Must be a valid email address.'
                  example: zbailey@example.net
                  nullable: true
                website:
                  type: string
                  description: 'Must be a valid URL.'
                  example: 'https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt'
                  nullable: true
                working_hours:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
              required:
                - business_name
      security: []
  '/api/v1/smes/{slug}':
    get:
      summary: ''
      operationId: getApiV1SmesSlug
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: slug
        description: 'The slug of the sme.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/smes/{smeId}/products':
    post:
      summary: ''
      operationId: postApiV1SmesSmeIdProducts
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                price:
                  type: number
                  description: 'Must be at least 0.'
                  example: 60
                stock:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 42
                  nullable: true
              required:
                - name
                - price
      security: []
    get:
      summary: ''
      operationId: getApiV1SmesSmeIdProducts
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: smeId
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/cart:
    post:
      summary: ''
      operationId: postApiV1Cart
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                product_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the sme_products table.'
                  example: 16
                quantity:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 22
                  nullable: true
              required:
                - product_id
      security: []
    get:
      summary: ''
      operationId: getApiV1Cart
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1Cart
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  '/api/v1/cart/{id}':
    put:
      summary: ''
      operationId: putApiV1CartId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                quantity:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 27
              required:
                - quantity
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1CartId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the cart.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/orders:
    post:
      summary: ''
      operationId: postApiV1Orders
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                delivery_address:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                delivery_phone:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                notes:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                delivery_fee:
                  type: number
                  description: 'Must be at least 0.'
                  example: 39
                  nullable: true
      security: []
    get:
      summary: ''
      operationId: getApiV1Orders
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/orders/stats:
    get:
      summary: ''
      operationId: getApiV1OrdersStats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/orders/{id}':
    get:
      summary: ''
      operationId: getApiV1OrdersId
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the order.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/orders/{id}/status':
    put:
      summary: ''
      operationId: putApiV1OrdersIdStatus
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  description: ''
                  example: returned
                  enum:
                    - pending
                    - paid
                    - processing
                    - ready
                    - shipped
                    - delivered
                    - completed
                    - cancelled
                    - refunded
                    - returned
              required:
                - status
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the order.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/orders/{id}/cancel':
    post:
      summary: ''
      operationId: postApiV1OrdersIdCancel
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                reason:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the order.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/orders/{id}/fulfill':
    post:
      summary: ''
      operationId: postApiV1OrdersIdFulfill
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the order.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/orders/{id}/deliver':
    post:
      summary: ''
      operationId: postApiV1OrdersIdDeliver
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the order.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/orders/{id}/complete':
    post:
      summary: ''
      operationId: postApiV1OrdersIdComplete
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the order.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/webhooks/payment:
    post:
      summary: ''
      operationId: postApiV1WebhooksPayment
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/webhooks/paystack:
    post:
      summary: ''
      operationId: postApiV1WebhooksPaystack
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/chat/conversations:
    get:
      summary: ''
      operationId: getApiV1ChatConversations
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1ChatConversations
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the global_users table.'
                  example: 16
              required:
                - user_id
      security: []
  '/api/v1/chat/{conversationId}/messages':
    get:
      summary: ''
      operationId: getApiV1ChatConversationIdMessages
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1ChatConversationIdMessages
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: string
                  description: 'Must not be greater than 5000 characters.'
                  example: b
              required:
                - message
      security: []
    parameters:
      -
        in: path
        name: conversationId
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/chat/{conversationId}/read':
    post:
      summary: ''
      operationId: postApiV1ChatConversationIdRead
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: conversationId
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/chat/unread-count:
    get:
      summary: ''
      operationId: getApiV1ChatUnreadCount
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/analytics/overview:
    get:
      summary: ''
      operationId: getApiV1AnalyticsOverview
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/analytics/revenue:
    get:
      summary: ''
      operationId: getApiV1AnalyticsRevenue
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/analytics/jobs-by-status:
    get:
      summary: ''
      operationId: getApiV1AnalyticsJobsByStatus
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/analytics/top-categories:
    get:
      summary: ''
      operationId: getApiV1AnalyticsTopCategories
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/analytics/top-providers:
    get:
      summary: ''
      operationId: getApiV1AnalyticsTopProviders
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/analytics/user-growth:
    get:
      summary: ''
      operationId: getApiV1AnalyticsUserGrowth
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/analytics/orders:
    get:
      summary: ''
      operationId: getApiV1AnalyticsOrders
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/analytics/disputes:
    get:
      summary: ''
      operationId: getApiV1AnalyticsDisputes
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/analytics/wallets:
    get:
      summary: ''
      operationId: getApiV1AnalyticsWallets
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/analytics/chart:
    get:
      summary: ''
      operationId: getApiV1AnalyticsChart
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/analytics/dashboard:
    get:
      summary: ''
      operationId: getApiV1AnalyticsDashboard
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/advertisements:
    get:
      summary: ''
      operationId: getApiV1Advertisements
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1Advertisements
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  '/api/v1/advertisements/{id}':
    get:
      summary: ''
      operationId: getApiV1AdvertisementsId
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1AdvertisementsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1AdvertisementsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the advertisement.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/advertisements/{id}/activate':
    post:
      summary: ''
      operationId: postApiV1AdvertisementsIdActivate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the advertisement.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/advertisements/{id}/pause':
    post:
      summary: ''
      operationId: postApiV1AdvertisementsIdPause
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the advertisement.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/advertisements/{id}/stats':
    get:
      summary: ''
      operationId: getApiV1AdvertisementsIdStats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the advertisement.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/advertisements/active:
    get:
      summary: ''
      operationId: getApiV1AdvertisementsActive
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/provider/setup:
    get:
      summary: ''
      operationId: getApiV1ProviderSetup
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1ProviderSetup
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1ProviderSetup
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                business_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                category:
                  type: string
                  description: ''
                  example: architecto
                subcategory:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                services:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                  nullable: true
                hourly_rate:
                  type: number
                  description: 'Must be at least 0.'
                  example: 39
                  nullable: true
                location:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                phone:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                email:
                  type: string
                  description: 'Must be a valid email address.'
                  example: zbailey@example.net
                  nullable: true
                website:
                  type: string
                  description: 'Must be a valid URL.'
                  example: 'https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt'
                  nullable: true
                working_hours:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                availability_status:
                  type: string
                  description: ''
                  example: offline
                  enum:
                    - available
                    - busy
                    - offline
      security: []
  /api/v1/provider/portfolio:
    post:
      summary: ''
      operationId: postApiV1ProviderPortfolio
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: 'Must be a file. Must not be greater than 10240 kilobytes.'
              required:
                - file
      security: []
  /api/v1/provider/dashboard:
    get:
      summary: ''
      operationId: getApiV1ProviderDashboard
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/provider/jobs:
    get:
      summary: ''
      operationId: getApiV1ProviderJobs
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/provider/jobs/{id}/accept':
    post:
      summary: ''
      operationId: postApiV1ProviderJobsIdAccept
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the job.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/provider/jobs/{id}/start':
    post:
      summary: ''
      operationId: postApiV1ProviderJobsIdStart
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the job.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/provider/jobs/{id}/complete':
    post:
      summary: ''
      operationId: postApiV1ProviderJobsIdComplete
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the job.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/provider/wallet:
    get:
      summary: ''
      operationId: getApiV1ProviderWallet
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/provider/analytics:
    get:
      summary: ''
      operationId: getApiV1ProviderAnalytics
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/provider/ai/recommendations:
    get:
      summary: ''
      operationId: getApiV1ProviderAiRecommendations
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/provider/ai/pricing:
    get:
      summary: ''
      operationId: getApiV1ProviderAiPricing
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/provider/ai/insights:
    get:
      summary: ''
      operationId: getApiV1ProviderAiInsights
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/provider/profile:
    get:
      summary: ''
      operationId: getApiV1ProviderProfile
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1ProviderProfile
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/provider/payouts:
    get:
      summary: ''
      operationId: getApiV1ProviderPayouts
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1ProviderPayouts
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: number
                  description: 'Must be at least 100.'
                  example: 95
                bank_code:
                  type: string
                  description: ''
                  example: architecto
                account_number:
                  type: string
                  description: 'Must be 10 digits.'
                  example: '8225697751'
                account_name:
                  type: string
                  description: ''
                  example: architecto
              required:
                - amount
                - bank_code
                - account_number
                - account_name
      security: []
  /api/v1/provider/payouts/banks:
    get:
      summary: ''
      operationId: getApiV1ProviderPayoutsBanks
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/provider/payouts/verify:
    post:
      summary: ''
      operationId: postApiV1ProviderPayoutsVerify
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                account_number:
                  type: string
                  description: 'Must be 10 digits.'
                  example: '8225697751'
                bank_code:
                  type: string
                  description: ''
                  example: architecto
              required:
                - account_number
                - bank_code
      security: []
  /api/v1/sme/setup:
    get:
      summary: ''
      operationId: getApiV1SmeSetup
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1SmeSetup
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1SmeSetup
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                business_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                category:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: 'n'
                  nullable: true
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                phone:
                  type: string
                  description: 'Must not be greater than 20 characters.'
                  example: vdljnikhwaykcmyu
                  nullable: true
                address:
                  type: string
                  description: 'Must not be greater than 500 characters.'
                  example: w
                  nullable: true
                location:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: p
                  nullable: true
                email:
                  type: string
                  description: 'Must be a valid email address.'
                  example: dare.emelie@example.com
                  nullable: true
                website:
                  type: string
                  description: 'Must be a valid URL.'
                  example: 'https://mclaughlin.com/ipsum-nostrum-omnis-autem-et-consequatur-aut-dolores-enim.html'
                  nullable: true
                logo:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                banner:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                working_hours:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: true
      security: []
  /api/v1/sme/photos:
    post:
      summary: ''
      operationId: postApiV1SmePhotos
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: 'Must be a file. Must not be greater than 5120 kilobytes.'
              required:
                - file
      security: []
  /api/v1/customer/dashboard:
    get:
      summary: ''
      operationId: getApiV1CustomerDashboard
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/customer/bookings:
    get:
      summary: ''
      operationId: getApiV1CustomerBookings
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/customer/bookings/{id}':
    get:
      summary: ''
      operationId: getApiV1CustomerBookingsId
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the booking.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/customer/orders:
    get:
      summary: ''
      operationId: getApiV1CustomerOrders
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/customer/orders/{id}/cancel':
    post:
      summary: ''
      operationId: postApiV1CustomerOrdersIdCancel
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the order.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/customer/wallet:
    get:
      summary: ''
      operationId: getApiV1CustomerWallet
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/customer/wallet/transactions:
    get:
      summary: ''
      operationId: getApiV1CustomerWalletTransactions
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/customer/notifications:
    get:
      summary: ''
      operationId: getApiV1CustomerNotifications
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/customer/notifications/{id}/read':
    post:
      summary: ''
      operationId: postApiV1CustomerNotificationsIdRead
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the notification.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/sme/dashboard:
    get:
      summary: ''
      operationId: getApiV1SmeDashboard
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/sme/store:
    get:
      summary: ''
      operationId: getApiV1SmeStore
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1SmeStore
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                business_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                address:
                  type: string
                  description: ''
                  example: architecto
                phone:
                  type: string
                  description: ''
                  example: architecto
                email:
                  type: string
                  description: 'Must be a valid email address.'
                  example: zbailey@example.net
                working_hours:
                  type: string
                  description: ''
                  example: architecto
      security: []
  /api/v1/sme/products:
    get:
      summary: ''
      operationId: getApiV1SmeProducts
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1SmeProducts
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                price:
                  type: number
                  description: 'Must be at least 0.'
                  example: 60
                stock:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 42
                category:
                  type: string
                  description: ''
                  example: architecto
                image:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
              required:
                - name
                - description
                - price
                - stock
                - category
      security: []
  '/api/v1/sme/products/{id}':
    get:
      summary: ''
      operationId: getApiV1SmeProductsId
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1SmeProductsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                price:
                  type: number
                  description: 'Must be at least 0.'
                  example: 60
                stock:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 42
                category:
                  type: string
                  description: ''
                  example: architecto
                image:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: true
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1SmeProductsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the product.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/sme/orders:
    get:
      summary: ''
      operationId: getApiV1SmeOrders
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/sme/orders/{id}/status':
    put:
      summary: ''
      operationId: putApiV1SmeOrdersIdStatus
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  description: ''
                  example: cancelled
                  enum:
                    - pending
                    - confirmed
                    - processing
                    - shipped
                    - delivered
                    - cancelled
              required:
                - status
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the order.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/sme/analytics:
    get:
      summary: ''
      operationId: getApiV1SmeAnalytics
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/platform/settings:
    get:
      summary: 'Get all settings'
      operationId: getAllSettings
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: 'Create new setting'
      operationId: createNewSetting
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                key:
                  type: string
                  description: ''
                  example: architecto
                value:
                  type: string
                  description: ''
                  example: architecto
                type:
                  type: string
                  description: ''
                  example: integer
                  enum:
                    - string
                    - boolean
                    - integer
                    - json
                    - array
                group:
                  type: string
                  description: ''
                  example: architecto
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
              required:
                - key
                - value
                - type
                - group
      security: []
  /api/v1/platform/settings/bulk:
    post:
      summary: 'Bulk update settings'
      operationId: bulkUpdateSettings
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                settings:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the platform_settings table.'
                        example: architecto
                      value:
                        type: string
                        description: ''
                        example: architecto
                    required:
                      - id
                      - value
              required:
                - settings
      security: []
  '/api/v1/platform/settings/{id}':
    put:
      summary: 'Update a setting'
      operationId: updateASetting
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                value:
                  type: string
                  description: ''
                  example: architecto
                is_active:
                  type: boolean
                  description: ''
                  example: false
              required:
                - value
      security: []
    delete:
      summary: 'Delete setting'
      operationId: deleteSetting
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the setting.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/platform/settings/pwa/initialize:
    get:
      summary: 'Initialize default settings'
      operationId: initializeDefaultSettings
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/platform/settings/initialize:
    post:
      summary: 'Initialize default settings'
      operationId: initializeDefaultSettings
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/admin/pwa/settings:
    get:
      summary: 'Get PWA settings specifically'
      operationId: getPWASettingsSpecifically
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/pwa/toggle:
    post:
      summary: 'Toggle PWA enabled status'
      operationId: togglePWAEnabledStatus
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: ''
                  example: true
              required:
                - enabled
      security: []
  /api/v1/admin/pwa/stats:
    get:
      summary: 'Get PWA statistics'
      operationId: getPWAStatistics
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/pwa/install-modal:
    get:
      summary: 'Get PWA Install Modal settings'
      operationId: getPWAInstallModalSettings
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/pwa/install-modal/toggle:
    post:
      summary: 'Toggle Install Modal enabled status'
      operationId: toggleInstallModalEnabledStatus
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: ''
                  example: true
              required:
                - enabled
      security: []
  '/api/v1/admin/pwa/install-modal/{key}':
    put:
      summary: 'Update Install Modal setting'
      operationId: updateInstallModalSetting
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                value:
                  type: string
                  description: ''
                  example: architecto
              required:
                - value
      security: []
    parameters:
      -
        in: path
        name: key
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/stats:
    get:
      summary: "Get platform statistics\nGET /api/v1/admin/stats"
      operationId: getPlatformStatisticsGETapiv1adminstats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/users:
    get:
      summary: "Get all users (customers, providers, SMEs)\nGET /api/v1/admin/users"
      operationId: getAllUserscustomersProvidersSMEsGETapiv1adminusers
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: "Create new user (customer, provider, or SME admin)\nPOST /api/v1/admin/users"
      operationId: createNewUsercustomerProviderOrSMEAdminPOSTapiv1adminusers
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                email:
                  type: string
                  description: 'Must be a valid email address.'
                  example: zbailey@example.net
                phone:
                  type: string
                  description: 'Must not be greater than 20 characters.'
                  example: iyvdljnikhwaykcm
                  nullable: true
                password:
                  type: string
                  description: 'Must be at least 6 characters.'
                  example: '/kXaz<m5L[)~=NG5a:'
                role:
                  type: string
                  description: ''
                  example: admin
                  enum:
                    - resident
                    - provider
                    - sme_admin
                    - admin
                tenant_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the tenants table.'
                  example: null
                  nullable: true
              required:
                - name
                - email
                - password
                - role
      security: []
  '/api/v1/admin/users/{id}':
    get:
      summary: "Get specific user by ID\nGET /api/v1/admin/users/{id}"
      operationId: getSpecificUserByIDGETapiv1adminusersid
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: "Update user\nPUT /api/v1/admin/users/{id}"
      operationId: updateUserPUTapiv1adminusersid
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                email:
                  type: string
                  description: ''
                  example: null
                phone:
                  type: string
                  description: 'Must not be greater than 20 characters.'
                  example: ngzmiyvdljnikhwa
                  nullable: true
                role:
                  type: string
                  description: ''
                  example: super_admin
                  enum:
                    - resident
                    - provider
                    - sme_admin
                    - admin
                    - super_admin
                tenant_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the tenants table.'
                  example: null
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: false
      security: []
    delete:
      summary: "Delete (deactivate) user\nDELETE /api/v1/admin/users/{id}"
      operationId: deletedeactivateUserDELETEapiv1adminusersid
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the user.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/users/{id}/activate':
    post:
      summary: "Activate user\nPOST /api/v1/admin/users/{id}/activate"
      operationId: activateUserPOSTapiv1adminusersidactivate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the user.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/smes:
    get:
      summary: "Get all SMEs\nGET /api/v1/admin/servicemart_smes"
      operationId: getAllSMEsGETapiv1adminservicemartSmes
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/admin/smes/{id}':
    get:
      summary: "Get specific SME\nGET /api/v1/admin/servicemart_smes/{id}"
      operationId: getSpecificSMEGETapiv1adminservicemartSmesid
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: "Update SME\nPUT /api/v1/admin/servicemart_smes/{id}"
      operationId: updateSMEPUTapiv1adminservicemartSmesid
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                business_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                category:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: 'n'
                  nullable: true
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                phone:
                  type: string
                  description: 'Must not be greater than 20 characters.'
                  example: vdljnikhwaykcmyu
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: true
      security: []
    delete:
      summary: "Delete (deactivate) SME\nDELETE /api/v1/admin/servicemart_smes/{id}"
      operationId: deletedeactivateSMEDELETEapiv1adminservicemartSmesid
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the sme.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/smes/{id}/sales':
    get:
      summary: "Get SME sales data\nGET /api/v1/admin/smes/{id}/sales"
      operationId: getSMESalesDataGETapiv1adminsmesidsales
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the sme.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/smes/{id}/orders':
    get:
      summary: "Get SME orders\nGET /api/v1/admin/smes/{id}/orders"
      operationId: getSMEOrdersGETapiv1adminsmesidorders
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the sme.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/providers:
    get:
      summary: "Get all service providers\nGET /api/v1/admin/providers"
      operationId: getAllServiceProvidersGETapiv1adminproviders
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/admin/providers/{id}':
    get:
      summary: "Get specific provider\nGET /api/v1/admin/providers/{id}"
      operationId: getSpecificProviderGETapiv1adminprovidersid
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: "Update provider\nPUT /api/v1/admin/providers/{id}"
      operationId: updateProviderPUTapiv1adminprovidersid
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                business_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                  nullable: true
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                phone:
                  type: string
                  description: 'Must not be greater than 20 characters.'
                  example: vdljnikhwaykcmyu
                  nullable: true
                is_verified:
                  type: boolean
                  description: ''
                  example: false
                availability_status:
                  type: string
                  description: ''
                  example: available
                  enum:
                    - available
                    - busy
                    - offline
      security: []
    delete:
      summary: "Delete (deactivate) provider\nDELETE /api/v1/admin/providers/{id}"
      operationId: deletedeactivateProviderDELETEapiv1adminprovidersid
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the provider.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/providers/{id}/verify':
    post:
      summary: "Verify provider\nPOST /api/v1/admin/providers/{id}/verify"
      operationId: verifyProviderPOSTapiv1adminprovidersidverify
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the provider.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/providers/{id}/earnings':
    get:
      summary: "Get provider earnings\nGET /api/v1/admin/providers/{id}/earnings"
      operationId: getProviderEarningsGETapiv1adminprovidersidearnings
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the provider.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/providers/{id}/jobs':
    get:
      summary: "Get provider jobs\nGET /api/v1/admin/providers/{id}/jobs"
      operationId: getProviderJobsGETapiv1adminprovidersidjobs
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the provider.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/customers:
    get:
      summary: "Get all customers\nGET /api/v1/admin/customers"
      operationId: getAllCustomersGETapiv1admincustomers
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/admin/customers/{id}':
    get:
      summary: "Get customer details\nGET /api/v1/admin/customers/{id}"
      operationId: getCustomerDetailsGETapiv1admincustomersid
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: "Update customer\nPUT /api/v1/admin/customers/{id}"
      operationId: updateCustomerPUTapiv1admincustomersid
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the customer.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/customers/{id}/bookings':
    get:
      summary: "Get customer bookings\nGET /api/v1/admin/customers/{id}/bookings"
      operationId: getCustomerBookingsGETapiv1admincustomersidbookings
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the customer.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/customers/{id}/wallet':
    get:
      summary: "Get customer wallet\nGET /api/v1/admin/customers/{id}/wallet"
      operationId: getCustomerWalletGETapiv1admincustomersidwallet
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the customer.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/tenants:
    get:
      summary: "Get tenant list\nGET /api/v1/admin/tenants"
      operationId: getTenantListGETapiv1admintenants
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: "Create tenant\nPOST /api/v1/admin/tenants"
      operationId: createTenantPOSTapiv1admintenants
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                slug:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                area:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: g
                  nullable: true
                db_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: z
                plan:
                  type: string
                  description: ''
                  example: enterprise
                  enum:
                    - basic
                    - premium
                    - enterprise
                  nullable: true
              required:
                - name
                - slug
                - db_name
      security: []
  '/api/v1/admin/tenants/{id}':
    put:
      summary: "Update tenant\nPUT /api/v1/admin/tenants/{id}"
      operationId: updateTenantPUTapiv1admintenantsid
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                area:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: active
                  enum:
                    - active
                    - suspended
                    - pending
                plan:
                  type: string
                  description: ''
                  example: basic
                  enum:
                    - basic
                    - premium
                    - enterprise
                subscription_expires_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-03T20:45:39'
                  nullable: true
      security: []
    delete:
      summary: "Delete (deactivate) tenant\nDELETE /api/v1/admin/tenants/{id}"
      operationId: deletedeactivateTenantDELETEapiv1admintenantsid
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the tenant.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/admin/tenants/{id}/users':
    get:
      summary: "Get tenant admin users\nGET /api/v1/admin/tenants/{id}/users"
      operationId: getTenantAdminUsersGETapiv1admintenantsidusers
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the tenant.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/admin/tenants/{id}/admin':
    post:
      summary: "Create tenant admin\nPOST /api/v1/admin/tenants/{id}/admin"
      operationId: createTenantAdminPOSTapiv1admintenantsidadmin
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                email:
                  type: string
                  description: 'Must be a valid email address.'
                  example: zbailey@example.net
                phone:
                  type: string
                  description: 'Must not be greater than 20 characters.'
                  example: iyvdljnikhwaykcm
                  nullable: true
                password:
                  type: string
                  description: 'Must be at least 6 characters.'
                  example: '/kXaz<m5L[)~=NG5a:'
              required:
                - name
                - email
                - password
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the tenant.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/admin/tenants/{id}/stats':
    get:
      summary: "Get tenant admin stats\nGET /api/v1/admin/tenants/{id}/stats"
      operationId: getTenantAdminStatsGETapiv1admintenantsidstats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the tenant.'
        example: 1
        required: true
        schema:
          type: integer
  /api/v1/admin/activity:
    get:
      summary: "Get recent platform activity\nGET /api/v1/admin/activity"
      operationId: getRecentPlatformActivityGETapiv1adminactivity
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/alerts:
    get:
      summary: "Get admin alerts\nGET /api/v1/admin/alerts"
      operationId: getAdminAlertsGETapiv1adminalerts
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/chat/conversations:
    get:
      summary: ''
      operationId: getApiV1AdminChatConversations
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/admin/chat/conversations/{id}':
    get:
      summary: ''
      operationId: getApiV1AdminChatConversationsId
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1AdminChatConversationsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the conversation.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/chat/conversations/{id}/messages':
    get:
      summary: ''
      operationId: getApiV1AdminChatConversationsIdMessages
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the conversation.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/chat/messages/{id}':
    delete:
      summary: ''
      operationId: deleteApiV1AdminChatMessagesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the message.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/chat/messages:
    get:
      summary: ''
      operationId: getApiV1AdminChatMessages
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/chat/search:
    get:
      summary: ''
      operationId: getApiV1AdminChatSearch
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                q:
                  type: string
                  description: 'Must be at least 2 characters.'
                  example: bngz
              required:
                - q
      security: []
  /api/v1/admin/chat/stats:
    get:
      summary: ''
      operationId: getApiV1AdminChatStats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/admin/alerts/{id}/read':
    post:
      summary: "Mark alert as read\nPOST /api/v1/admin/alerts/{id}/read"
      operationId: markAlertAsReadPOSTapiv1adminalertsidread
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the alert.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/payment/gateways:
    get:
      summary: ''
      operationId: getApiV1AdminPaymentGateways
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/admin/payment/gateways/{id}':
    get:
      summary: ''
      operationId: getApiV1AdminPaymentGatewaysId
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1AdminPaymentGatewaysId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                is_active:
                  type: boolean
                  description: ''
                  example: true
                is_default:
                  type: boolean
                  description: ''
                  example: true
                public_key:
                  type: string
                  description: ''
                  example: architecto
                secret_key:
                  type: string
                  description: ''
                  example: architecto
                webhook_secret:
                  type: string
                  description: ''
                  example: architecto
                api_url:
                  type: string
                  description: 'Must be a valid URL.'
                  example: 'http://bailey.com/'
                api_version:
                  type: string
                  description: ''
                  example: architecto
                initialize_url:
                  type: string
                  description: ''
                  example: 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html'
                verify_url:
                  type: string
                  description: ''
                  example: 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html'
                bank_list_url:
                  type: string
                  description: ''
                  example: 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html'
                account_resolve_url:
                  type: string
                  description: ''
                  example: 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html'
                transfer_url:
                  type: string
                  description: ''
                  example: 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html'
                transfer_recipient_url:
                  type: string
                  description: ''
                  example: 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html'
                virtual_account_url:
                  type: string
                  description: ''
                  example: 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html'
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the gateway.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/payment/gateways/{id}/test':
    post:
      summary: ''
      operationId: postApiV1AdminPaymentGatewaysIdTest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                gateway:
                  type: string
                  description: ''
                  example: architecto
              required:
                - gateway
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the gateway.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/payment/default:
    put:
      summary: ''
      operationId: putApiV1AdminPaymentDefault
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                gateway:
                  type: string
                  description: 'The <code>gateway_id</code> of an existing record in the payment_gateway_settings table.'
                  example: architecto
              required:
                - gateway
      security: []
  /api/v1/admin/payment/banks:
    get:
      summary: ''
      operationId: getApiV1AdminPaymentBanks
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/payment/resolve:
    post:
      summary: ''
      operationId: postApiV1AdminPaymentResolve
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                bank_code:
                  type: string
                  description: ''
                  example: architecto
                account_number:
                  type: string
                  description: ''
                  example: architecto
                gateway:
                  type: string
                  description: ''
                  example: architecto
              required:
                - bank_code
                - account_number
      security: []
  /api/v1/admin/payment/stats:
    get:
      summary: ''
      operationId: getApiV1AdminPaymentStats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/payment/transactions:
    get:
      summary: ''
      operationId: getApiV1AdminPaymentTransactions
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/permissions:
    get:
      summary: "Get permissions for current user\nGET /api/v1/admin/permissions"
      operationId: getPermissionsForCurrentUserGETapiv1adminpermissions
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/roles:
    get:
      summary: "Get all roles and their permissions (Super Admin only)\nGET /api/v1/admin/roles"
      operationId: getAllRolesAndTheirPermissionsSuperAdminOnlyGETapiv1adminroles
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: "Create new role\nPOST /api/v1/admin/roles"
      operationId: createNewRolePOSTapiv1adminroles
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                color:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                baseRole:
                  type: string
                  description: 'The <code>role</code> of an existing record in the role_permissions table.'
                  example: architecto
                  nullable: true
              required:
                - name
      security: []
  '/api/v1/admin/roles/{role}':
    put:
      summary: "Update role\nPUT /api/v1/admin/roles/{role}"
      operationId: updateRolePUTapiv1adminrolesrole
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                permissions:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
      security: []
    delete:
      summary: "Delete role\nDELETE /api/v1/admin/roles/{role}"
      operationId: deleteRoleDELETEapiv1adminrolesrole
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: role
        description: 'The role.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/roles/{role}/assign':
    post:
      summary: "Assign role to users\nPOST /api/v1/admin/roles/{role}/assign"
      operationId: assignRoleToUsersPOSTapiv1adminrolesroleassign
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                user_ids:
                  type: array
                  description: 'The <code>id</code> of an existing record in the global_users table.'
                  example:
                    - 16
                  items:
                    type: integer
      security: []
    parameters:
      -
        in: path
        name: role
        description: 'The role.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/roles/{role}/permissions':
    put:
      summary: "Update role permissions (Super Admin only)\nPUT /api/v1/admin/roles/{role}"
      operationId: updateRolePermissionsSuperAdminOnlyPUTapiv1adminrolesrole
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                permissions:
                  type: object
                  description: ''
                  example: []
                  properties: {  }
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
              required:
                - permissions
      security: []
    parameters:
      -
        in: path
        name: role
        description: 'The role.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/permissions/init:
    post:
      summary: "Initialize default permissions\nPOST /api/v1/admin/permissions/init"
      operationId: initializeDefaultPermissionsPOSTapiv1adminpermissionsinit
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/admin/payout-settings:
    get:
      summary: ''
      operationId: getApiV1AdminPayoutSettings
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1AdminPayoutSettings
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                gateway:
                  type: string
                  description: ''
                  example: stripe
                  enum:
                    - paystack
                    - flutterwave
                    - stripe
                    - manual
                name:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: b
                is_active:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                is_default:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                min_amount:
                  type: number
                  description: 'Must be at least 0.'
                  example: 39
                  nullable: true
                max_amount:
                  type: number
                  description: 'Must be at least 0.'
                  example: 84
                  nullable: true
                fee_percentage:
                  type: number
                  description: 'Must be at least 0. Must not be greater than 100.'
                  example: 16
                  nullable: true
                fee_fixed:
                  type: number
                  description: 'Must be at least 0.'
                  example: 77
                  nullable: true
                daily_limit:
                  type: number
                  description: 'Must be at least 0.'
                  example: 8
                  nullable: true
                monthly_limit:
                  type: number
                  description: 'Must be at least 0.'
                  example: 76
                  nullable: true
                priority:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 16
                  nullable: true
                config:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                  nullable: true
              required:
                - gateway
                - name
      security: []
  '/api/v1/admin/payout-settings/{id}':
    put:
      summary: ''
      operationId: putApiV1AdminPayoutSettingsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                gateway:
                  type: string
                  description: ''
                  example: paystack
                  enum:
                    - paystack
                    - flutterwave
                    - stripe
                    - manual
                name:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: b
                is_active:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                is_default:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                min_amount:
                  type: number
                  description: 'Must be at least 0.'
                  example: 39
                  nullable: true
                max_amount:
                  type: number
                  description: 'Must be at least 0.'
                  example: 84
                  nullable: true
                fee_percentage:
                  type: number
                  description: 'Must be at least 0. Must not be greater than 100.'
                  example: 16
                  nullable: true
                fee_fixed:
                  type: number
                  description: 'Must be at least 0.'
                  example: 77
                  nullable: true
                daily_limit:
                  type: number
                  description: 'Must be at least 0.'
                  example: 8
                  nullable: true
                monthly_limit:
                  type: number
                  description: 'Must be at least 0.'
                  example: 76
                  nullable: true
                priority:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 16
                  nullable: true
                config:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                  nullable: true
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1AdminPayoutSettingsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the payout setting.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/payout-settings/{id}/toggle':
    post:
      summary: ''
      operationId: postApiV1AdminPayoutSettingsIdToggle
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the payout setting.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/payout-settings/{id}/default':
    post:
      summary: ''
      operationId: postApiV1AdminPayoutSettingsIdDefault
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the payout setting.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/payout-settings/active:
    get:
      summary: ''
      operationId: getApiV1AdminPayoutSettingsActive
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/payout-settings/gateways:
    get:
      summary: ''
      operationId: getApiV1AdminPayoutSettingsGateways
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/tickets:
    get:
      summary: ''
      operationId: getApiV1AdminTickets
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1AdminTickets
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                subject:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                priority:
                  type: string
                  description: ''
                  example: low
                  enum:
                    - low
                    - medium
                    - high
                    - urgent
                  nullable: true
                category_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the ticket_categories table.'
                  example: null
                  nullable: true
              required:
                - subject
                - description
      security: []
  '/api/v1/admin/tickets/{id}':
    get:
      summary: ''
      operationId: getApiV1AdminTicketsId
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1AdminTicketsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                subject:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                priority:
                  type: string
                  description: ''
                  example: low
                  enum:
                    - low
                    - medium
                    - high
                    - urgent
                status:
                  type: string
                  description: ''
                  example: open
                  enum:
                    - open
                    - in_progress
                    - pending
                    - resolved
                    - closed
                category_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the ticket_categories table.'
                  example: null
                  nullable: true
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1AdminTicketsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the ticket.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/tickets/{id}/comment':
    post:
      summary: ''
      operationId: postApiV1AdminTicketsIdComment
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                comment:
                  type: string
                  description: ''
                  example: architecto
                is_internal:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
              required:
                - comment
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the ticket.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/tickets/{id}/assign':
    post:
      summary: ''
      operationId: postApiV1AdminTicketsIdAssign
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                assigned_to:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: architecto
              required:
                - assigned_to
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the ticket.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/tickets/{id}/escalate':
    post:
      summary: ''
      operationId: postApiV1AdminTicketsIdEscalate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the ticket.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/tickets/{id}/resolve':
    post:
      summary: ''
      operationId: postApiV1AdminTicketsIdResolve
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the ticket.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/tickets/{id}/close':
    post:
      summary: ''
      operationId: postApiV1AdminTicketsIdClose
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the ticket.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/tickets/{id}/reopen':
    post:
      summary: ''
      operationId: postApiV1AdminTicketsIdReopen
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the ticket.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/tickets/categories:
    get:
      summary: ''
      operationId: getApiV1AdminTicketsCategories
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/tickets/stats:
    get:
      summary: ''
      operationId: getApiV1AdminTicketsStats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/invoices:
    get:
      summary: ''
      operationId: getApiV1AdminInvoices
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1AdminInvoices
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                type:
                  type: string
                  description: ''
                  example: product
                  enum:
                    - service
                    - product
                    - subscription
                    - other
                issue_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-03T20:45:40'
                due_date:
                  type: string
                  description: 'Must be a valid date. Must be a date after <code>issue_date</code>.'
                  example: '2052-05-26'
                notes:
                  type: string
                  description: ''
                  example: architecto
                terms:
                  type: string
                  description: ''
                  example: architecto
                items:
                  type: array
                  description: 'Must have at least 1 items.'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      description:
                        type: string
                        description: ''
                        example: 'Eius et animi quos velit et.'
                      quantity:
                        type: integer
                        description: 'Must be at least 1.'
                        example: 16
                      unit_price:
                        type: number
                        description: 'Must be at least 0.'
                        example: 42
                      tax_rate:
                        type: number
                        description: 'Must be at least 0. Must not be greater than 100.'
                        example: 5
                      discount_rate:
                        type: number
                        description: 'Must be at least 0. Must not be greater than 100.'
                        example: 19
                    required:
                      - description
                      - quantity
                      - unit_price
              required:
                - items
      security: []
  '/api/v1/admin/invoices/{id}':
    get:
      summary: ''
      operationId: getApiV1AdminInvoicesId
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1AdminInvoicesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                issue_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-03T20:45:40'
                due_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-03T20:45:40'
                notes:
                  type: string
                  description: ''
                  example: architecto
                terms:
                  type: string
                  description: ''
                  example: architecto
                items:
                  type: object
                  description: 'Must have at least 1 items.'
                  example: null
                  properties: {  }
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1AdminInvoicesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the invoice.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/invoices/{id}/send':
    post:
      summary: ''
      operationId: postApiV1AdminInvoicesIdSend
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the invoice.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/invoices/{id}/mark-paid':
    post:
      summary: ''
      operationId: postApiV1AdminInvoicesIdMarkPaid
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the invoice.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/invoices/{id}/cancel':
    post:
      summary: ''
      operationId: postApiV1AdminInvoicesIdCancel
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the invoice.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/invoices/{id}/reopen':
    post:
      summary: ''
      operationId: postApiV1AdminInvoicesIdReopen
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the invoice.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/invoices/{id}/payment':
    post:
      summary: ''
      operationId: postApiV1AdminInvoicesIdPayment
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: number
                  description: 'Must be at least 0.'
                  example: 27
                payment_method:
                  type: string
                  description: ''
                  example: architecto
                gateway:
                  type: string
                  description: ''
                  example: architecto
                notes:
                  type: string
                  description: ''
                  example: architecto
              required:
                - amount
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the invoice.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/invoices/{id}/download':
    get:
      summary: ''
      operationId: getApiV1AdminInvoicesIdDownload
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the invoice.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/invoices/stats:
    get:
      summary: ''
      operationId: getApiV1AdminInvoicesStats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/bills/categories:
    get:
      summary: ''
      operationId: getApiV1AdminBillsCategories
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1AdminBillsCategories
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                icon:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: false
              required:
                - name
      security: []
  /api/v1/admin/bills/billers:
    get:
      summary: ''
      operationId: getApiV1AdminBillsBillers
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1AdminBillsBillers
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                category_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the biller_categories table.'
                  example: architecto
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                service_id:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: true
                metadata:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                  nullable: true
              required:
                - category_id
                - name
      security: []
  /api/v1/admin/bills/data-variations:
    get:
      summary: ''
      operationId: getApiV1AdminBillsDataVariations
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/bills/tv-variations:
    get:
      summary: ''
      operationId: getApiV1AdminBillsTvVariations
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/bills/verify-customer:
    post:
      summary: ''
      operationId: postApiV1AdminBillsVerifyCustomer
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/admin/bills/airtime:
    post:
      summary: ''
      operationId: postApiV1AdminBillsAirtime
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/admin/bills/data:
    post:
      summary: ''
      operationId: postApiV1AdminBillsData
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/admin/bills/electricity:
    post:
      summary: ''
      operationId: postApiV1AdminBillsElectricity
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/admin/bills/tv:
    post:
      summary: ''
      operationId: postApiV1AdminBillsTv
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/admin/bills/epins:
    post:
      summary: ''
      operationId: postApiV1AdminBillsEpins
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/admin/bills/betting:
    post:
      summary: ''
      operationId: postApiV1AdminBillsBetting
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/admin/bills/my-payments:
    get:
      summary: ''
      operationId: getApiV1AdminBillsMyPayments
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/bills/stats:
    get:
      summary: ''
      operationId: getApiV1AdminBillsStats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/admin/bills/categories/{id}':
    put:
      summary: ''
      operationId: putApiV1AdminBillsCategoriesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                icon:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: true
                sort_order:
                  type: integer
                  description: ''
                  example: 16
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1AdminBillsCategoriesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the category.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/bills/billers/{id}':
    put:
      summary: ''
      operationId: putApiV1AdminBillsBillersId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                category_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the biller_categories table.'
                  example: null
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                service_id:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: false
                metadata:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                  nullable: true
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1AdminBillsBillersId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the biller.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/bills/settings:
    get:
      summary: ''
      operationId: getApiV1AdminBillsSettings
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1AdminBillsSettings
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                biller_id:
                  type: string
                  description: ''
                  example: architecto
                api_url:
                  type: string
                  description: 'Must be a valid URL.'
                  example: 'http://bailey.com/'
                  nullable: true
                api_key:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                username:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                password:
                  type: string
                  description: ''
                  example: '|]|{+-'
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: false
                markup_percentage:
                  type: number
                  description: 'Must be at least 0. Must not be greater than 100.'
                  example: 1
                  nullable: true
              required:
                - biller_id
      security: []
  /api/v1/admin/bills/payments:
    get:
      summary: ''
      operationId: getApiV1AdminBillsPayments
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/bills/balance:
    get:
      summary: ''
      operationId: getApiV1AdminBillsBalance
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/bills/banks:
    get:
      summary: ''
      operationId: getApiV1AdminBillsBanks
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/bills/resolve-account:
    post:
      summary: ''
      operationId: postApiV1AdminBillsResolveAccount
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                bank_code:
                  type: string
                  description: ''
                  example: architecto
                account_number:
                  type: string
                  description: ''
                  example: architecto
              required:
                - bank_code
                - account_number
      security: []
  /api/v1/admin/bills/fund-wallet:
    post:
      summary: ''
      operationId: postApiV1AdminBillsFundWallet
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: number
                  description: 'Must be at least 100.'
                  example: 95
              required:
                - amount
      security: []
  /api/v1/admin/bills/withdraw:
    post:
      summary: ''
      operationId: postApiV1AdminBillsWithdraw
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: number
                  description: 'Must be at least 100.'
                  example: 95
                bank_code:
                  type: string
                  description: ''
                  example: architecto
                account_number:
                  type: string
                  description: ''
                  example: architecto
              required:
                - amount
                - bank_code
                - account_number
      security: []
  /api/v1/admin/bills/transactions:
    get:
      summary: ''
      operationId: getApiV1AdminBillsTransactions
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/bills/requery:
    post:
      summary: ''
      operationId: postApiV1AdminBillsRequery
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                request_id:
                  type: string
                  description: ''
                  example: architecto
              required:
                - request_id
      security: []
  /api/v1/admin/bills/fund-stats:
    get:
      summary: ''
      operationId: getApiV1AdminBillsFundStats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/services/categories:
    get:
      summary: ''
      operationId: getApiV1AdminServicesCategories
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/services/configurations:
    get:
      summary: ''
      operationId: getApiV1AdminServicesConfigurations
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1AdminServicesConfigurations
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                service_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                service_slug:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                provider:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                api_url:
                  type: string
                  description: 'Must be a valid URL.'
                  example: 'http://bailey.com/'
                  nullable: true
                api_key:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                api_secret:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                public_key:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                private_key:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                environment:
                  type: string
                  description: ''
                  example: production
                  enum:
                    - sandbox
                    - production
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: false
                is_default:
                  type: boolean
                  description: ''
                  example: false
                settings:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                  nullable: true
                metadata:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                  nullable: true
              required:
                - service_name
                - service_slug
      security: []
  '/api/v1/admin/services/configurations/{slug}':
    get:
      summary: ''
      operationId: getApiV1AdminServicesConfigurationsSlug
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1AdminServicesConfigurationsSlug
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                service_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                provider:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                api_url:
                  type: string
                  description: 'Must be a valid URL.'
                  example: 'http://bailey.com/'
                  nullable: true
                api_key:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                api_secret:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                public_key:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                private_key:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                environment:
                  type: string
                  description: ''
                  example: sandbox
                  enum:
                    - sandbox
                    - production
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: true
                is_default:
                  type: boolean
                  description: ''
                  example: true
                settings:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                  nullable: true
                metadata:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                  nullable: true
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1AdminServicesConfigurationsSlug
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: slug
        description: 'The slug of the configuration.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/services/configurations/{slug}/test':
    post:
      summary: ''
      operationId: postApiV1AdminServicesConfigurationsSlugTest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: slug
        description: 'The slug of the configuration.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/services/providers:
    get:
      summary: ''
      operationId: getApiV1AdminServicesProviders
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1AdminServicesProviders
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                category_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the service_categories table.'
                  example: architecto
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                slug:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: g
                service_id:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                website:
                  type: string
                  description: 'Must be a valid URL.'
                  example: 'http://www.ernser.org/harum-mollitia-modi-deserunt-aut-ab-provident-perspiciatis-quo.html'
                  nullable: true
                support_email:
                  type: string
                  description: 'Must be a valid email address.'
                  example: antonio24@example.net
                  nullable: true
                support_phone:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: false
                metadata:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                  nullable: true
              required:
                - category_id
                - name
                - slug
      security: []
  '/api/v1/admin/services/providers/{id}':
    put:
      summary: ''
      operationId: putApiV1AdminServicesProvidersId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1AdminServicesProvidersId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the provider.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/fraud/rules:
    get:
      summary: ''
      operationId: getApiV1AdminFraudRules
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1AdminFraudRules
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                slug:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                rule_type:
                  type: string
                  description: ''
                  example: frequency
                  enum:
                    - amount
                    - frequency
                    - pattern
                    - location
                    - device
                conditions:
                  type: object
                  description: ''
                  example: []
                  properties: {  }
                risk_score:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 1
                action:
                  type: string
                  description: ''
                  example: block
                  enum:
                    - block
                    - review
                    - warn
                is_active:
                  type: boolean
                  description: ''
                  example: true
              required:
                - name
                - slug
                - rule_type
                - conditions
                - risk_score
                - action
      security: []
  '/api/v1/admin/fraud/rules/{id}':
    put:
      summary: ''
      operationId: putApiV1AdminFraudRulesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1AdminFraudRulesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the rule.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/fraud/rules/{id}/toggle':
    post:
      summary: ''
      operationId: postApiV1AdminFraudRulesIdToggle
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the rule.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/fraud/alerts:
    get:
      summary: ''
      operationId: getApiV1AdminFraudAlerts
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/admin/fraud/alerts/{id}':
    get:
      summary: ''
      operationId: getApiV1AdminFraudAlertsId
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the alert.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/fraud/alerts/{id}/review':
    post:
      summary: ''
      operationId: postApiV1AdminFraudAlertsIdReview
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  description: ''
                  example: reviewed
                  enum:
                    - reviewed
                    - resolved
                    - false_positive
                review_notes:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
              required:
                - status
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the alert.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/fraud/settings:
    get:
      summary: ''
      operationId: getApiV1AdminFraudSettings
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1AdminFraudSettings
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                key:
                  type: string
                  description: 'The <code>key</code> of an existing record in the fraud_settings table.'
                  example: architecto
                value:
                  type: string
                  description: ''
                  example: architecto
              required:
                - key
                - value
      security: []
  /api/v1/admin/fraud/stats:
    get:
      summary: ''
      operationId: getApiV1AdminFraudStats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/fraud/analyze:
    post:
      summary: ''
      operationId: postApiV1AdminFraudAnalyze
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: number
                  description: ''
                  example: 4326.41688
                user_id:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                transaction_type:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
              required:
                - amount
      security: []
  '/api/v1/admin/fraud/user/{userId}/profile':
    get:
      summary: ''
      operationId: getApiV1AdminFraudUserUserIdProfile
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: userId
        description: ''
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/ai-ml/models:
    get:
      summary: ''
      operationId: getApiV1AdminAiMlModels
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1AdminAiMlModels
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                provider:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                model_id:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: g
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                model_type:
                  type: string
                  description: ''
                  example: speech
                  enum:
                    - chat
                    - completion
                    - embedding
                    - image
                    - speech
                capabilities:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                  nullable: true
                price_per_1k_input:
                  type: number
                  description: ''
                  example: 4326.41688
                  nullable: true
                price_per_1k_output:
                  type: number
                  description: ''
                  example: 4326.41688
                  nullable: true
                max_tokens:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: true
              required:
                - name
                - provider
                - model_id
                - model_type
      security: []
  '/api/v1/admin/ai-ml/models/{id}':
    put:
      summary: ''
      operationId: putApiV1AdminAiMlModelsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1AdminAiMlModelsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the model.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/ai-ml/models/{id}/toggle':
    post:
      summary: ''
      operationId: postApiV1AdminAiMlModelsIdToggle
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the model.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/ai-ml/prompts:
    get:
      summary: ''
      operationId: getApiV1AdminAiMlPrompts
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1AdminAiMlPrompts
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                slug:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                prompt_template:
                  type: string
                  description: ''
                  example: architecto
                category:
                  type: string
                  description: ''
                  example: generation
                  enum:
                    - recommendation
                    - classification
                    - generation
                    - analysis
                variables:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                  nullable: true
              required:
                - name
                - slug
                - prompt_template
                - category
      security: []
  '/api/v1/admin/ai-ml/prompts/{id}':
    put:
      summary: ''
      operationId: putApiV1AdminAiMlPromptsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1AdminAiMlPromptsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the prompt.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/ai-ml/indicators:
    get:
      summary: ''
      operationId: getApiV1AdminAiMlIndicators
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1AdminAiMlIndicators
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                slug:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                indicator_type:
                  type: string
                  description: ''
                  example: unemployment
                  enum:
                    - inflation
                    - gdp
                    - exchange_rate
                    - interest_rate
                    - unemployment
                country_code:
                  type: string
                  description: 'Must be 3 characters.'
                  example: gzm
                  nullable: true
                current_value:
                  type: number
                  description: ''
                  example: 4326.41688
                previous_value:
                  type: number
                  description: ''
                  example: 4326.41688
                  nullable: true
                period:
                  type: string
                  description: ''
                  example: monthly
                  enum:
                    - daily
                    - monthly
                    - quarterly
                    - yearly
                data_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-03T20:45:41'
                  nullable: true
              required:
                - name
                - slug
                - indicator_type
                - current_value
                - period
      security: []
  '/api/v1/admin/ai-ml/indicators/{id}':
    put:
      summary: ''
      operationId: putApiV1AdminAiMlIndicatorsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1AdminAiMlIndicatorsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the indicator.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/ai-ml/settings:
    get:
      summary: ''
      operationId: getApiV1AdminAiMlSettings
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1AdminAiMlSettings
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                key:
                  type: string
                  description: 'The <code>key</code> of an existing record in the economic_settings table.'
                  example: architecto
                value:
                  type: string
                  description: ''
                  example: architecto
              required:
                - key
                - value
      security: []
  /api/v1/admin/ai-ml/stats:
    get:
      summary: ''
      operationId: getApiV1AdminAiMlStats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/ai-ml/analyze:
    post:
      summary: ''
      operationId: postApiV1AdminAiMlAnalyze
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/admin/ai-ml/insights:
    get:
      summary: ''
      operationId: getApiV1AdminAiMlInsights
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/recommendations/models:
    get:
      summary: ''
      operationId: getApiV1AdminRecommendationsModels
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1AdminRecommendationsModels
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                model_type:
                  type: string
                  description: ''
                  example: content
                  enum:
                    - collaborative
                    - content
                    - hybrid
                    - popular
                algorithm:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: true
                description:
                  type: string
                  description: ''
                  example: 'Eius et animi quos velit et.'
                  nullable: true
                config:
                  type: object
                  description: ''
                  example: null
                  properties: {  }
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: true
                priority:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
              required:
                - name
                - model_type
      security: []
  '/api/v1/admin/recommendations/models/{id}':
    put:
      summary: ''
      operationId: putApiV1AdminRecommendationsModelsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1AdminRecommendationsModelsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the model.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/recommendations/models/{id}/toggle':
    post:
      summary: ''
      operationId: postApiV1AdminRecommendationsModelsIdToggle
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the model.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/recommendations/settings:
    get:
      summary: ''
      operationId: getApiV1AdminRecommendationsSettings
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1AdminRecommendationsSettings
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/admin/recommendations/stats:
    get:
      summary: ''
      operationId: getApiV1AdminRecommendationsStats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/recommendations/feedback:
    get:
      summary: ''
      operationId: getApiV1AdminRecommendationsFeedback
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1AdminRecommendationsFeedback
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                item_id:
                  type: integer
                  description: ''
                  example: 16
                item_type:
                  type: string
                  description: ''
                  example: product
                  enum:
                    - service
                    - product
                    - provider
                feedback_type:
                  type: string
                  description: ''
                  example: like
                  enum:
                    - like
                    - dislike
                    - view
                    - click
                    - purchase
                rating:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 5.'
                  example: 2
                  nullable: true
                comment:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
              required:
                - item_id
                - item_type
                - feedback_type
      security: []
  /api/v1/admin/recommendations/cache/clear:
    post:
      summary: ''
      operationId: postApiV1AdminRecommendationsCacheClear
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/admin/recommendations/cache/regenerate:
    post:
      summary: ''
      operationId: postApiV1AdminRecommendationsCacheRegenerate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/admin/optimization/escrow/settings:
    get:
      summary: ''
      operationId: getApiV1AdminOptimizationEscrowSettings
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1AdminOptimizationEscrowSettings
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/admin/optimization/escrow/transactions:
    get:
      summary: ''
      operationId: getApiV1AdminOptimizationEscrowTransactions
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/optimization/escrow/stats:
    get:
      summary: ''
      operationId: getApiV1AdminOptimizationEscrowStats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/optimization/pricing/rules:
    get:
      summary: ''
      operationId: getApiV1AdminOptimizationPricingRules
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1AdminOptimizationPricingRules
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                rule_type:
                  type: string
                  description: ''
                  example: surge
                  enum:
                    - base
                    - surge
                    - time
                    - demand
                    - location
                multiplier:
                  type: number
                  description: 'Must be at least 0.1. Must not be greater than 10.'
                  example: 2
                service_type_id:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: false
                priority:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
              required:
                - name
                - rule_type
                - multiplier
      security: []
  '/api/v1/admin/optimization/pricing/rules/{id}':
    put:
      summary: ''
      operationId: putApiV1AdminOptimizationPricingRulesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1AdminOptimizationPricingRulesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the rule.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/optimization/pricing/rules/{id}/toggle':
    post:
      summary: ''
      operationId: postApiV1AdminOptimizationPricingRulesIdToggle
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the rule.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/optimization/pricing/history:
    get:
      summary: ''
      operationId: getApiV1AdminOptimizationPricingHistory
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/optimization/pricing/stats:
    get:
      summary: ''
      operationId: getApiV1AdminOptimizationPricingStats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/optimization/matching/settings:
    get:
      summary: ''
      operationId: getApiV1AdminOptimizationMatchingSettings
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1AdminOptimizationMatchingSettings
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/admin/optimization/matching/weights:
    get:
      summary: ''
      operationId: getApiV1AdminOptimizationMatchingWeights
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    put:
      summary: ''
      operationId: putApiV1AdminOptimizationMatchingWeights
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/admin/optimization/matching/stats:
    get:
      summary: ''
      operationId: getApiV1AdminOptimizationMatchingStats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/optimization/matching/scores:
    get:
      summary: ''
      operationId: getApiV1AdminOptimizationMatchingScores
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/social/platforms:
    get:
      summary: ''
      operationId: getApiV1AdminSocialPlatforms
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  '/api/v1/admin/social/platforms/{platform}':
    put:
      summary: ''
      operationId: putApiV1AdminSocialPlatformsPlatform
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: platform
        description: 'The platform.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/social/platforms/{platform}/toggle':
    post:
      summary: ''
      operationId: postApiV1AdminSocialPlatformsPlatformToggle
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: platform
        description: 'The platform.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/social/campaigns:
    get:
      summary: ''
      operationId: getApiV1AdminSocialCampaigns
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1AdminSocialCampaigns
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: b
                shareable_type:
                  type: string
                  description: ''
                  example: architecto
                title:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'n'
                  nullable: true
                message:
                  type: string
                  description: ''
                  example: architecto
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: false
              required:
                - name
                - shareable_type
      security: []
  '/api/v1/admin/social/campaigns/{id}':
    put:
      summary: ''
      operationId: putApiV1AdminSocialCampaignsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    delete:
      summary: ''
      operationId: deleteApiV1AdminSocialCampaignsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the campaign.'
        example: architecto
        required: true
        schema:
          type: string
  '/api/v1/admin/social/campaigns/{id}/toggle':
    post:
      summary: ''
      operationId: postApiV1AdminSocialCampaignsIdToggle
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the campaign.'
        example: architecto
        required: true
        schema:
          type: string
  /api/v1/admin/social/links:
    get:
      summary: ''
      operationId: getApiV1AdminSocialLinks
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
    post:
      summary: ''
      operationId: postApiV1AdminSocialLinks
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                campaign_id:
                  type: integer
                  description: ''
                  example: 16
                  nullable: true
                platform:
                  type: string
                  description: ''
                  example: architecto
                original_url:
                  type: string
                  description: 'Must be a valid URL.'
                  example: 'http://bailey.com/'
              required:
                - platform
                - original_url
      security: []
  /api/v1/admin/social/history:
    get:
      summary: ''
      operationId: getApiV1AdminSocialHistory
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/social/analytics:
    get:
      summary: ''
      operationId: getApiV1AdminSocialAnalytics
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
  /api/v1/admin/social/stats:
    get:
      summary: ''
      operationId: getApiV1AdminSocialStats
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - Endpoints
      security: []
