openapi: 3.1.0 info: title: Northflank API version: v1 description: >- Minimal OpenAPI 3.1 description of the Northflank REST API for managing projects, services, jobs, and addons on the Northflank platform. x-generated-from: https://northflank.com/docs/v1/api/ x-generated-by: claude-crawl-2026-05-08 servers: - url: https://api.northflank.com/v1 description: Northflank API production server security: - bearerAuth: [] tags: - name: Projects - name: Services - name: Jobs - name: Addons paths: /team/projects: get: tags: [Projects] summary: List projects operationId: listProjects responses: '200': description: A list of projects. content: application/json: schema: $ref: '#/components/schemas/GenericListResponse' post: tags: [Projects] summary: Create a project operationId: createProject requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GenericObject' responses: '200': description: The created project. content: application/json: schema: $ref: '#/components/schemas/GenericObject' /projects/{projectId}/services: get: tags: [Services] summary: List services in a project operationId: listServices parameters: - $ref: '#/components/parameters/ProjectId' responses: '200': description: A list of services. content: application/json: schema: $ref: '#/components/schemas/GenericListResponse' post: tags: [Services] summary: Create a service operationId: createService parameters: - $ref: '#/components/parameters/ProjectId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GenericObject' responses: '200': description: The created service. content: application/json: schema: $ref: '#/components/schemas/GenericObject' /projects/{projectId}/services/{serviceId}: get: tags: [Services] summary: Get a service operationId: getService parameters: - $ref: '#/components/parameters/ProjectId' - $ref: '#/components/parameters/ServiceId' responses: '200': description: A service. content: application/json: schema: $ref: '#/components/schemas/GenericObject' delete: tags: [Services] summary: Delete a service operationId: deleteService parameters: - $ref: '#/components/parameters/ProjectId' - $ref: '#/components/parameters/ServiceId' responses: '200': description: Deletion acknowledged. content: application/json: schema: $ref: '#/components/schemas/GenericObject' /projects/{projectId}/jobs: get: tags: [Jobs] summary: List jobs in a project operationId: listJobs parameters: - $ref: '#/components/parameters/ProjectId' responses: '200': description: A list of jobs. content: application/json: schema: $ref: '#/components/schemas/GenericListResponse' post: tags: [Jobs] summary: Create a job operationId: createJob parameters: - $ref: '#/components/parameters/ProjectId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GenericObject' responses: '200': description: The created job. content: application/json: schema: $ref: '#/components/schemas/GenericObject' /projects/{projectId}/jobs/{jobId}/run: post: tags: [Jobs] summary: Run a job operationId: runJob parameters: - $ref: '#/components/parameters/ProjectId' - name: jobId in: path required: true schema: type: string responses: '200': description: Run acknowledged. content: application/json: schema: $ref: '#/components/schemas/GenericObject' /projects/{projectId}/addons: get: tags: [Addons] summary: List addons in a project operationId: listAddons parameters: - $ref: '#/components/parameters/ProjectId' responses: '200': description: A list of addons. content: application/json: schema: $ref: '#/components/schemas/GenericListResponse' post: tags: [Addons] summary: Create an addon operationId: createAddon parameters: - $ref: '#/components/parameters/ProjectId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GenericObject' responses: '200': description: The created addon. content: application/json: schema: $ref: '#/components/schemas/GenericObject' /projects/{projectId}/addons/{addonId}: get: tags: [Addons] summary: Get an addon operationId: getAddon parameters: - $ref: '#/components/parameters/ProjectId' - name: addonId in: path required: true schema: type: string responses: '200': description: An addon. content: application/json: schema: $ref: '#/components/schemas/GenericObject' delete: tags: [Addons] summary: Delete an addon operationId: deleteAddon parameters: - $ref: '#/components/parameters/ProjectId' - name: addonId in: path required: true schema: type: string responses: '200': description: Deletion acknowledged. content: application/json: schema: $ref: '#/components/schemas/GenericObject' components: securitySchemes: bearerAuth: type: http scheme: bearer parameters: ProjectId: name: projectId in: path required: true schema: type: string ServiceId: name: serviceId in: path required: true schema: type: string schemas: GenericObject: type: object additionalProperties: true GenericListResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/GenericObject' additionalProperties: true