openapi: 3.1.0 info: title: Plandex Server Accounts Models API description: Management and orchestration REST API exposed by the Plandex server (open-source, Go) used by the Plandex CLI/REPL to drive long-running coding plans across organizations, projects, plans, branches, context, conversation, model packs, and configuration. The same API powered Plandex Cloud (winding down 2025-10-03) and now powers self-hosted / local-mode deployments via Docker. Default local-mode bind is http://localhost:8099. version: '2' contact: name: Plandex AI url: https://plandex.ai license: name: MIT url: https://github.com/plandex-ai/plandex/blob/main/LICENSE termsOfService: https://plandex.ai/terms servers: - url: http://localhost:8099 description: Default self-hosted / local-mode Plandex server (Docker) - url: https://api.plandex.ai description: Plandex Cloud (winding down as of 2025-10-03; no longer accepting new users) security: - BearerAuth: [] tags: - name: Models description: Model packs, custom models, custom providers, default settings. paths: /custom_models: get: tags: - Models summary: List Custom Models description: List user-defined custom models. operationId: listCustomModels responses: '200': description: Custom models. post: tags: - Models summary: Upsert Custom Models description: Create or update one or more custom models. operationId: upsertCustomModels responses: '200': description: Custom models upserted. /custom_models/{modelId}: get: tags: - Models summary: Get Custom Model description: Get a single user-defined custom model. operationId: getCustomModel parameters: - in: path name: modelId required: true schema: type: string responses: '200': description: Custom model. /custom_providers: get: tags: - Models summary: List Custom Providers description: List custom (OpenAI-compatible) model providers. operationId: listCustomProviders responses: '200': description: Custom providers. /custom_providers/{providerId}: get: tags: - Models summary: Get Custom Provider description: Get a custom provider by ID. operationId: getCustomProvider parameters: - in: path name: providerId required: true schema: type: string responses: '200': description: Custom provider. /model_sets: get: tags: - Models summary: List Model Packs description: List available model packs (daily, strong, cheap, oss, planner-specific, custom). operationId: listModelPacks responses: '200': description: Model packs. post: tags: - Models summary: Create Model Pack description: Create a new model pack composition. operationId: createModelPack responses: '201': description: Model pack created. /model_sets/{setId}: put: tags: - Models summary: Update Model Pack description: Update an existing model pack. operationId: updateModelPack parameters: - in: path name: setId required: true schema: type: string responses: '200': description: Model pack updated. components: securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT description: Bearer token issued by the Plandex server on sign-in. Used by the CLI/REPL for all authenticated API calls.