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

# Create a shop with products

<Warning>
  This endpoint is in beta and subject to change.
</Warning>


## OpenAPI

````yaml openapi/channel-api.json POST /channel-api/v1.0/shops
openapi: 3.1.0
info:
  title: Fourthwall APIs
  description: Service used for management of orders, carts, and payments.
  termsOfService: https://fourthwall.com/terms-of-service
  contact:
    name: Backend team
    url: https://fourthwall.com
    email: backend@fourthwall.com
  version: unspecified
servers:
  - url: https://api.fourthwall.com
    description: Production server
security: []
externalDocs:
  description: OpenAPI documentation
  url: https://docs.fourthwall.com
paths:
  /channel-api/v1.0/shops:
    post:
      tags:
        - Shops
      summary: Create a shop
      operationId: createShop
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/com.fourthwall.app.channel.shop.model.CreateShopXRequest
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/com.fourthwall.app.channel.shop.model.CreateShopXResponse
components:
  schemas:
    com.fourthwall.app.channel.shop.model.CreateShopXRequest:
      type: object
      properties:
        name:
          type: string
          description: Display name for the new shop.
        ownerEmail:
          type: string
          description: >-
            Email to invite as the shop owner. When set, an owner invitation is
            sent. Also used as the payout account email when
            `payout.prefill.individual.email` is absent.
        payout:
          $ref: >-
            #/components/schemas/com.fourthwall.app.channel.shop.model.PayoutXRequest
          description: >-
            Optional payout onboarding. When present, a connected payout account
            is provisioned for the shop and a hosted onboarding URL is returned
            as `payoutOnboardingUrl`.
      required:
        - name
      title: Create Shop X Request
    com.fourthwall.app.channel.shop.model.CreateShopXResponse:
      type: object
      properties:
        shopId:
          type: string
          description: Id of the newly created shop.
        shopName:
          type: string
          description: Display name of the created shop.
        publicToken:
          type: string
          description: Public storefront token for the shop.
        invitationEmail:
          type: string
          description: >-
            Email the owner invitation was sent to, if `ownerEmail` was
            provided.
        invitationStatus:
          type: string
          description: >-
            Status of the owner invitation (e.g. `INVITED`, `FAILED`), or null
            when no email was provided.
        payoutOnboardingUrl:
          type: string
          description: >-
            Hosted payout onboarding URL to redirect the creator to. Present
            only when `payout` was supplied. Single-use and short-lived.
      required:
        - publicToken
        - shopId
        - shopName
      title: Create Shop X Response
    com.fourthwall.app.channel.shop.model.PayoutXRequest:
      type: object
      properties:
        returnUrl:
          type: string
          description: >-
            HTTPS URL the creator is redirected back to when they leave the
            hosted payout onboarding (whether or not they finished). Returning
            here does NOT mean the account is ready — verify account status
            separately.
        refreshUrl:
          type: string
          description: >-
            HTTPS URL the creator is redirected to when the onboarding link is
            no longer usable (expired or reused). The integration is expected to
            mint a fresh link and redirect again.
        country:
          type: string
          description: >-
            Two-letter ISO country code for the payout account (e.g. `US`).
            Determines supported currencies and the verification fields
            required.
        businessType:
          type: string
          description: 'Payout account business type: `individual` or `company`.'
        prefill:
          $ref: >-
            #/components/schemas/com.fourthwall.app.channel.shop.model.PayoutPrefillXRequest
          description: >-
            Optional values used to pre-fill the hosted onboarding form so the
            creator has less to enter.
      required:
        - refreshUrl
        - returnUrl
      title: Payout X Request
    com.fourthwall.app.channel.shop.model.PayoutPrefillXRequest:
      type: object
      properties:
        businessProfile:
          $ref: >-
            #/components/schemas/com.fourthwall.app.channel.shop.model.BusinessProfilePrefillXRequest
          description: Public-facing business details.
        individual:
          $ref: >-
            #/components/schemas/com.fourthwall.app.channel.shop.model.IndividualPrefillXRequest
          description: Personal details, used when `businessType` is `individual`.
        company:
          $ref: >-
            #/components/schemas/com.fourthwall.app.channel.shop.model.CompanyPrefillXRequest
          description: Company details, used when `businessType` is `company`.
        externalAccount:
          type: string
          description: >-
            Bank account token to receive payouts (e.g. a tokenized bank account
            such as a `btok_…`).
      title: Payout Prefill X Request
    com.fourthwall.app.channel.shop.model.BusinessProfilePrefillXRequest:
      type: object
      properties:
        name:
          type: string
          description: Business or brand name.
        url:
          type: string
          description: Business website URL.
        productDescription:
          type: string
          description: Short description of what the business sells.
        mcc:
          type: string
          description: Merchant category code (4-digit MCC).
        supportEmail:
          type: string
          description: Customer support email address.
        supportPhone:
          type: string
          description: Customer support phone number, in E.164 format.
        supportUrl:
          type: string
          description: Customer support URL.
      title: Business Profile Prefill X Request
    com.fourthwall.app.channel.shop.model.IndividualPrefillXRequest:
      type: object
      properties:
        firstName:
          type: string
          description: Legal first name.
        lastName:
          type: string
          description: Legal last name.
        email:
          type: string
          description: Personal email address.
        phone:
          type: string
          description: Phone number, in E.164 format.
        dobDay:
          type: integer
          format: int32
          description: Date of birth — day of month (1-31).
        dobMonth:
          type: integer
          format: int32
          description: Date of birth — month (1-12).
        dobYear:
          type: integer
          format: int32
          description: Date of birth — four-digit year.
        addressLine1:
          type: string
          description: Street address line 1.
        addressLine2:
          type: string
          description: Street address line 2.
        addressCity:
          type: string
          description: Address city.
        addressState:
          type: string
          description: Address state / province / region.
        addressPostalCode:
          type: string
          description: Address postal / ZIP code.
        addressCountry:
          type: string
          description: Two-letter ISO country code for the address.
        ssnLast4:
          type: string
          description: Last 4 digits of the individual's US SSN.
        idNumber:
          type: string
          description: >-
            Government-issued ID number (e.g. full SSN) where full verification
            is required.
      title: Individual Prefill X Request
    com.fourthwall.app.channel.shop.model.CompanyPrefillXRequest:
      type: object
      properties:
        name:
          type: string
          description: Registered legal company name.
        addressLine1:
          type: string
          description: Company address line 1.
        addressLine2:
          type: string
          description: Company address line 2.
        addressCity:
          type: string
          description: Company address city.
        addressState:
          type: string
          description: Company address state / province / region.
        addressPostalCode:
          type: string
          description: Company address postal / ZIP code.
        addressCountry:
          type: string
          description: Two-letter ISO country code for the company address.
        taxId:
          type: string
          description: Business tax ID (e.g. US EIN).
        vatId:
          type: string
          description: VAT identification number, where applicable.
        registrationNumber:
          type: string
          description: Company registration number, where applicable.
        structure:
          type: string
          description: >-
            Legal company structure (e.g. `sole_proprietorship`,
            `private_corporation`).
      title: Company Prefill X Request

````