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

# Create a seller

> Creates a seller profile and upstream API base URL for payment proxying.



## OpenAPI

````yaml https://api.zeroclick.io/openapi.json post /v1/sellers/
openapi: 3.0.0
info:
  title: ZeroClick API
  description: >-
    REST API for managing ZeroClick sellers, services, pricing, usage, and
    analytics. Authenticate with an API key from the ZeroClick dashboard.
  version: 1.0.0
servers:
  - url: https://api.zeroclick.io
security:
  - bearerAuth: []
tags:
  - name: API keys
  - name: Sellers
  - name: Services
  - name: Meters
  - name: Plans
  - name: Plan meter prices
  - name: Usage
  - name: Analytics
  - name: Stripe Connect
  - name: Sandbox
  - name: Organizations
  - name: Users
paths:
  /v1/sellers/:
    post:
      tags:
        - Sellers
      summary: Create a seller
      description: Creates a seller profile and upstream API base URL for payment proxying.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 200
                  pattern: ^[^<>\p{Cc}]*$
                slug:
                  type: string
                  minLength: 1
                  maxLength: 80
                  pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
                upstreamBaseUrl:
                  type: string
                  format: uri
                description:
                  type: string
                  maxLength: 2000
                brandColor:
                  type: string
                  pattern: ^#[0-9a-fA-F]{6}$
                tagline:
                  type: string
                  maxLength: 160
                tags:
                  maxItems: 5
                  type: array
                  items:
                    type: string
                    minLength: 1
                    maxLength: 40
                docsUrl:
                  type: string
                  format: uri
                websiteUrl:
                  type: string
                  format: uri
                logoUrl:
                  type: string
                  format: uri
                llmsTxtUrl:
                  type: string
                  format: uri
                openApiUrl:
                  type: string
                  format: uri
                contactEmail:
                  nullable: true
                  type: string
                  format: email
                  pattern: >-
                    ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                customDomainRequired:
                  type: boolean
              required:
                - name
                - upstreamBaseUrl
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  seller:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      slug:
                        type: string
                      upstreamBaseUrl:
                        type: string
                      description:
                        nullable: true
                        type: string
                      brandColor:
                        nullable: true
                        type: string
                      tagline:
                        nullable: true
                        type: string
                      tags:
                        nullable: true
                        type: array
                        items:
                          type: string
                      docsUrl:
                        nullable: true
                        type: string
                      websiteUrl:
                        nullable: true
                        type: string
                      logoUrl:
                        nullable: true
                        type: string
                      llmsTxtUrl:
                        nullable: true
                        type: string
                      openApiUrl:
                        nullable: true
                        type: string
                      contactEmail:
                        nullable: true
                        type: string
                      includedUsageDailyCapMicros:
                        nullable: true
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      includedUsageWeeklyCapMicros:
                        nullable: true
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      onboardingRequired:
                        type: boolean
                      customDomainRequired:
                        type: boolean
                    required:
                      - id
                      - name
                      - slug
                      - upstreamBaseUrl
                      - description
                      - brandColor
                      - tagline
                      - tags
                      - docsUrl
                      - websiteUrl
                      - logoUrl
                      - llmsTxtUrl
                      - openApiUrl
                      - contactEmail
                      - includedUsageDailyCapMicros
                      - includedUsageWeeklyCapMicros
                      - onboardingRequired
                      - customDomainRequired
                    additionalProperties: false
                required:
                  - seller
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - organization_required
                      - organization_permission_required
                      - seller_not_found
                      - service_not_found
                      - meter_not_found
                      - plan_not_found
                      - plan_meter_price_not_found
                      - duplicate_slug
                      - duplicate_key
                      - duplicate_plan_meter_price
                      - signing_secret_not_found
                      - insufficient_scope
                      - payg_price_not_whole_cents
                      - custom_domain_skip_unavailable
                      - active_stateful_accounts_exist
                required:
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - organization_required
                      - organization_permission_required
                      - seller_not_found
                      - service_not_found
                      - meter_not_found
                      - plan_not_found
                      - plan_meter_price_not_found
                      - duplicate_slug
                      - duplicate_key
                      - duplicate_plan_meter_price
                      - signing_secret_not_found
                      - insufficient_scope
                      - payg_price_not_whole_cents
                      - custom_domain_skip_unavailable
                      - active_stateful_accounts_exist
                required:
                  - error
                additionalProperties: false
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - organization_required
                      - organization_permission_required
                      - seller_not_found
                      - service_not_found
                      - meter_not_found
                      - plan_not_found
                      - plan_meter_price_not_found
                      - duplicate_slug
                      - duplicate_key
                      - duplicate_plan_meter_price
                      - signing_secret_not_found
                      - insufficient_scope
                      - payg_price_not_whole_cents
                      - custom_domain_skip_unavailable
                      - active_stateful_accounts_exist
                required:
                  - error
                additionalProperties: false
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - organization_required
                      - organization_permission_required
                      - seller_not_found
                      - service_not_found
                      - meter_not_found
                      - plan_not_found
                      - plan_meter_price_not_found
                      - duplicate_slug
                      - duplicate_key
                      - duplicate_plan_meter_price
                      - signing_secret_not_found
                      - insufficient_scope
                      - payg_price_not_whole_cents
                      - custom_domain_skip_unavailable
                      - active_stateful_accounts_exist
                required:
                  - error
                additionalProperties: false
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API key created in the ZeroClick dashboard under Settings → API keys.
        Keys start with `zc_`. Send them as `Authorization: Bearer zc_...`.

````