HeyPuter/puter · error · HttpError

bad_request

bad_request

Error message

Missing or invalid `object`

What it means

Error "Missing or invalid `object`" thrown in HeyPuter/puter.

Source

Thrown at src/backend/drivers/apps/AppDriver.js:196

            bySubscription: {
                [DEFAULT_FREE_SUBSCRIPTION]: 10,
                [DEFAULT_TEMP_SUBSCRIPTION]: 5,
            },
        },
    };

    get appStore() {
        return this.stores.app;
    }
    get permService() {
        return this.services.permission;
    }

    // -- Driver methods -----------------------------------------------

    async create({ object, options } = {}) {
        if (!object || typeof object !== 'object') {
            throw new HttpError(400, 'Missing or invalid `object`', {
                legacyCode: 'bad_request',
            });
        }
        const actor = this.#requireActor();
        this.#requireUserOrAppActor(actor);

        const fields = await this.#validateInput(object, { isCreate: true });

        // Puter-hosted index_url handling. Order matches v1 AppES:
        //   1. Refuse if the index_url's subdomain isn't owned by this user.
        //   2. Try to merge into an existing row with the same index_url
        //      (origin-bootstrap takeover, or claiming an unowned row).
        //   3. Otherwise enforce index_url uniqueness so two rows can't
        //      share a hosted URL.
        await this.#ensurePuterSiteSubdomainIsOwned(
            fields.index_url,
            actor.user,
        );

View on GitHub (pinned to 908ec23eda)

Solutions

  1. Pass a valid `object` parameter specifying the app driver object type.
  2. Check the AppDriver interface documentation for allowed `object` values.

When it happens

Trigger: Thrown at src/backend/drivers/apps/AppDriver.js:196 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of HeyPuter/puter@908ec23eda (2026-08-12). Data as JSON: /api/errors/98a8a746431e06d6. Report an issue: GitHub.