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

# Publish a local app

> Request that a locally-running app be made reachable. First call returns 202 pending (awaiting owner approval); once approved, returns 200 live.



## OpenAPI

````yaml /api-reference/openapi.json post /publish
openapi: 3.1.0
info:
  title: Meradomo Public API
  version: 1.0.0
  description: >-
    Two surfaces: the local management API on 127.0.0.1:8765 (Publish) and the
    OAuth endpoints on account.meradomo.com (Connect). No SDK — these HTTP
    endpoints are the integration surface.
  license:
    name: MIT
servers:
  - url: http://127.0.0.1:8765
    description: Local management API (Publish)
  - url: https://account.meradomo.com
    description: Control plane (Connect / OAuth)
security: []
paths:
  /publish:
    post:
      tags:
        - Publish
      summary: Publish a local app
      description: >-
        Request that a locally-running app be made reachable. First call returns
        202 pending (awaiting owner approval); once approved, returns 200 live.
      operationId: publish
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublishRequest'
      responses:
        '200':
          description: Already approved — immediately live
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublishLive'
        '202':
          description: First time — waiting for owner approval
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublishPending'
      servers:
        - url: http://127.0.0.1:8765
components:
  schemas:
    PublishRequest:
      type: object
      required:
        - name
        - label
        - localPort
      properties:
        name:
          type: string
          pattern: ^[a-z0-9-]{1,63}$
          description: >-
            Subdomain label (notes → notes.you.meradomo.com). Not www, portal,
            or the customer name.
        label:
          type: string
          description: Human-readable name shown in the menu-bar app.
        localPort:
          type: integer
          description: The local port your app listens on.
    PublishLive:
      type: object
      properties:
        status:
          type: string
          enum:
            - live
        host:
          type: string
          example: notes.you.meradomo.com
        url:
          type: string
          example: https://notes.you.meradomo.com
    PublishPending:
      type: object
      properties:
        status:
          type: string
          enum:
            - pending

````