---
openapi: 3.0.0
info:
  title: n8n Public API
  description: n8n Public API
  termsOfService: https://n8n.io/legal/#terms
  contact:
    email: hello@n8n.io
  license:
    name: Sustainable Use License
    url: https://github.com/n8n-io/n8n/blob/master/LICENSE.md
  version: 1.1.1
externalDocs:
  description: n8n API documentation
  url: https://docs.n8n.io/api/
servers:
  - url: /api/v1
tags:
  - name: User
    description: Operations about users
  - name: Audit
    description: Operations about security audit
  - name: Execution
    description: Operations about executions
  - name: Workflow
    description: Operations about workflows
  - name: Credential
    description: Operations about credentials
  - name: Tags
    description: Operations about tags
  - name: SourceControl
    description: Operations about source control
  - name: Variables
    description: Operations about variables
  - name: DataTable
    description: Operations about data tables and their rows
  - name: Projects
    description: Operations about projects
  - name: CommunityPackage
    description: Operations about community packages
  - name: Discover
    description: API capability discovery
  - name: Insights
    description: Operations about insights
  - name: Folders
    description: Operations about folders
  - name: N8nPackage
    description: Beta — operations about n8n packages. Disabled by default; enable with `N8N_PUBLIC_API_PACKAGES_ENABLED=true`.

paths:
  /audit:
    $ref: './handlers/audit/spec/paths/audit.yml'
  /credentials:
    $ref: './handlers/credentials/spec/paths/credentials.yml'
  /credentials/{id}:
    $ref: './handlers/credentials/spec/paths/credentials.id.yml'
  /credentials/{id}/test:
    $ref: './handlers/credentials/spec/paths/credentials.id.test.yml'
  /credentials/schema/{credentialTypeName}:
    $ref: './handlers/credentials/spec/paths/credentials.schema.id.yml'
  /credentials/{id}/transfer:
    $ref: './handlers/credentials/spec/paths/credentials.id.transfer.yml'
  /executions:
    $ref: './handlers/executions/spec/paths/executions.yml'
  /executions/{id}:
    $ref: './handlers/executions/spec/paths/executions.id.yml'
  /executions/{id}/retry:
    $ref: './handlers/executions/spec/paths/executions.id.retry.yml'
  /executions/{id}/stop:
    $ref: './handlers/executions/spec/paths/executions.id.stop.yml'
  /executions/stop:
    $ref: './handlers/executions/spec/paths/executions.stop.yml'
  /executions/{id}/tags:
    $ref: './handlers/executions/spec/paths/executions.id.tags.yml'
  /tags:
    $ref: './handlers/tags/spec/paths/tags.yml'
  /tags/{id}:
    $ref: './handlers/tags/spec/paths/tags.id.yml'
  /workflows:
    $ref: './handlers/workflows/spec/paths/workflows.yml'
  /workflows/{id}:
    $ref: './handlers/workflows/spec/paths/workflows.id.yml'
  /workflows/{id}/{versionId}:
    $ref: './handlers/workflows/spec/paths/workflows.id.versionId.yml'
  /workflows/{id}/activate:
    $ref: './handlers/workflows/spec/paths/workflows.id.activate.yml'
  /workflows/{id}/deactivate:
    $ref: './handlers/workflows/spec/paths/workflows.id.deactivate.yml'
  /workflows/{id}/archive:
    $ref: './handlers/workflows/spec/paths/workflows.id.archive.yml'
  /workflows/{id}/unarchive:
    $ref: './handlers/workflows/spec/paths/workflows.id.unarchive.yml'
  /workflows/{id}/transfer:
    $ref: './handlers/workflows/spec/paths/workflows.id.transfer.yml'
  /workflows/{id}/tags:
    $ref: './handlers/workflows/spec/paths/workflows.id.tags.yml'
  /users:
    $ref: './handlers/users/spec/paths/users.yml'
  /users/{id}:
    $ref: './handlers/users/spec/paths/users.id.yml'
  /users/{id}/role:
    $ref: './handlers/users/spec/paths/users.id.role.yml'
  /source-control/pull:
    $ref: './handlers/source-control/spec/paths/sourceControl.yml'
  /variables:
    $ref: './handlers/variables/spec/paths/variables.yml'
  /variables/{id}:
    $ref: './handlers/variables/spec/paths/variables.id.yml'
  /data-tables:
    $ref: './handlers/data-tables/spec/paths/data-tables.yml'
  /data-tables/{dataTableId}:
    $ref: './handlers/data-tables/spec/paths/data-tables.dataTableId.yml'
  /data-tables/{dataTableId}/rows:
    $ref: './handlers/data-tables/spec/paths/data-tables.dataTableId.rows.yml'
  /data-tables/{dataTableId}/rows/update:
    $ref: './handlers/data-tables/spec/paths/data-tables.dataTableId.rows.update.yml'
  /data-tables/{dataTableId}/rows/upsert:
    $ref: './handlers/data-tables/spec/paths/data-tables.dataTableId.rows.upsert.yml'
  /data-tables/{dataTableId}/rows/delete:
    $ref: './handlers/data-tables/spec/paths/data-tables.dataTableId.rows.delete.yml'
  /data-tables/{dataTableId}/columns:
    $ref: './handlers/data-tables/spec/paths/data-tables.dataTableId.columns.yml'
  /data-tables/{dataTableId}/columns/{columnId}:
    $ref: './handlers/data-tables/spec/paths/data-tables.dataTableId.columns.columnId.yml'
  /projects:
    $ref: './handlers/projects/spec/paths/projects.yml'
  /projects/{projectId}:
    $ref: './handlers/projects/spec/paths/projects.projectId.yml'
  /projects/{projectId}/users:
    $ref: './handlers/projects/spec/paths/projects.projectId.users.yml'
  /projects/{projectId}/users/{userId}:
    $ref: './handlers/projects/spec/paths/projects.projectId.users.userId.yml'
  /community-packages:
    $ref: './handlers/community-packages/spec/paths/community-packages.yml'
  /community-packages/{name}:
    $ref: './handlers/community-packages/spec/paths/community-packages.packageName.yml'
  /discover:
    $ref: './handlers/discover/spec/paths/discover.yml'
  /insights/summary:
    $ref: './handlers/insights/spec/paths/insights.yml'
  /projects/{projectId}/folders:
    $ref: './handlers/folders/spec/paths/folders.yml'
  /projects/{projectId}/folders/{folderId}:
    $ref: './handlers/folders/spec/paths/folders.folderId.yml'
  /n8n-packages/export:
    $ref: './handlers/n8n-packages/spec/paths/n8n-packages.export.yml'
  /n8n-packages/import:
    $ref: './handlers/n8n-packages/spec/paths/n8n-packages.import.yml'
components:
  schemas:
    $ref: './shared/spec/schemas/_index.yml'
  responses:
    $ref: './shared/spec/responses/_index.yml'
  parameters:
    $ref: './shared/spec/parameters/_index.yml'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-N8N-API-KEY
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

security:
  - ApiKeyAuth: []
  - BearerAuth: []
