> ## Documentation Index
> Fetch the complete documentation index at: https://docs.miraiminds.co/llms.txt
> Use this file to discover all available pages before exploring further.

# onboarding shopify store

> Uploads the store's identity, trust metrics, and policies. Returns the Workspace ID and Billing Configuration (Prepaid/Overdraft limits).




## OpenAPI

````yaml https://api.voice-agents.miraiminds.co/swagger.yaml post /v2/workspace/onboard/shopify
openapi: 3.0.3
info:
  title: Voice Agent by Mirai Minds
  version: 1.1.0
  contact:
    name: API Architecture Team
    url: https://miraiminds.co
  license:
    name: Mirai Minds Proprietary License
    url: >-
      https://github.com/MiraiMinds/voice-agent-integration-specs/blob/main/LICENSE.md
servers:
  - url: https://api.voice-agents.miraiminds.co
    description: Production Server
  - url: https://api.stage.voice-agent.miraiminds.co
    description: Staging Server
  - url: http://localhost:3000
    description: Local Server
security:
  - PublicKeyAuth: []
    PrivateKeyAuth: []
paths:
  /v2/workspace/onboard/shopify:
    post:
      tags:
        - Onboarding
      summary: onboarding shopify store
      description: >
        Uploads the store's identity, trust metrics, and policies. Returns the
        Workspace ID and Billing Configuration (Prepaid/Overdraft limits).
      operationId: initializeWorkspace
      parameters:
        - $ref: '#/components/parameters/PublicKeyHeader'
        - $ref: '#/components/parameters/PrivateKeyHeader'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingRequest'
      responses:
        '201':
          description: Workspace Created & Billing Configured
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingResponse'
        '400':
          description: Validation Error
components:
  parameters:
    PublicKeyHeader:
      name: x-public-key
      in: header
      required: true
      schema:
        type: string
    PrivateKeyHeader:
      name: x-private-key
      in: header
      required: true
      schema:
        type: string
  schemas:
    OnboardingRequest:
      type: object
      required:
        - name
        - currencyCode
        - timezone
        - supportContacts
        - trustSignals
        - policyFramework
      properties:
        name:
          type: string
          example: The Leather Co.
        currencyCode:
          type: string
          example: INR
        timezone:
          type: string
          example: Asia/Kolkata
        supportContacts:
          type: object
          required:
            - phoneNumber
          properties:
            phoneNumber:
              type: string
              example: +91-9876543210
            email:
              type: string
              format: email
              example: support@brand.com
        trustSignals:
          $ref: '#/components/schemas/TrustSignals'
        policyFramework:
          $ref: '#/components/schemas/PolicyFramework'
    OnboardingResponse:
      type: object
      properties:
        workspace:
          type: string
          example: '4524239459234'
          description: The unique key for all future API calls.
        status:
          type: string
          example: active
          enum:
            - active
            - pending_verification
            - suspended
        billing:
          type: object
          properties:
            type:
              type: string
              example: prepaid
              enum:
                - prepaid
                - postpaid
            creditBalance:
              type: integer
              example: 100
              description: |
                Current available credits in workspace
            negativeCreditAllowance:
              type: integer
              example: 100
              description: >
                The 'Overdraft' limit. The AI will continue to make calls for
                100 credit even if credits hit 0 before suspending.
    TrustSignals:
      type: object
      required:
        - valuePropositionOneLiner
      properties:
        customersTillDate:
          type: integer
          example: 15400
        totalOrdersFulfilled:
          type: integer
          example: 50000
        storeRating:
          type: number
          example: 4.8
        valuePropositionOneLiner:
          type: string
          example: Handcrafted in Jaipur using 100% sustainable vegan leather.
    PolicyFramework:
      type: object
      required:
        - returnPolicy
        - shippingPolicy
        - codPolicy
      properties:
        returnPolicy:
          $ref: '#/components/schemas/ReturnPolicy'
        shippingPolicy:
          $ref: '#/components/schemas/ShippingPolicy'
        codPolicy:
          $ref: '#/components/schemas/CodPolicy'
    ReturnPolicy:
      type: object
      properties:
        windowDays:
          type: integer
          example: 7
        processingFee:
          type: object
          properties:
            amount:
              type: number
              example: 50
        refundTimelineDays:
          type: integer
          example: 3
    ShippingPolicy:
      type: object
      properties:
        deliveryTimeline:
          type: object
          properties:
            minDays:
              type: integer
              example: 3
            maxDays:
              type: integer
              example: 5
        freeShippingMinOrderValue:
          type: number
          example: 999
    CodPolicy:
      type: object
      properties:
        enabled:
          type: boolean
          example: true
        additionalFee:
          type: object
          properties:
            amount:
              type: number
              example: 50
  securitySchemes:
    PublicKeyAuth:
      type: apiKey
      in: header
      name: x-public-key
    PrivateKeyAuth:
      type: apiKey
      in: header
      name: x-private-key

````