Woodpecker CI · Authentication Profile

Woodpecker Ci Authentication

Authentication

Woodpecker CI declares 1 security scheme(s) across its OpenAPI definitions.

CompanyContinuous IntegrationContinuous DeliveryDevOpsDeveloper ToolsOpen-SourcePipelinesSelf-HostedBuild AutomationContainers
Methods: Schemes: 1 OAuth flows: API key in:

Security Schemes

PersonalAccessToken http
scheme: bearer · in: header (Authorization)

Source

Authentication Profile

Raw ↑
generated: '2026-08-27'
method: searched
source: https://woodpecker-ci.org/api
docs: https://woodpecker-ci.org/docs/development/openapi
spec: openapi/woodpecker-ci-server-swagger.json
summary: >-
  The Woodpecker server REST API is authenticated with a personal access token (PAT)
  presented as an HTTP bearer token in the Authorization header. The published Swagger
  2.0 document declares NO securityDefinitions block — swaggo emits the credential as
  an ordinary required header parameter on each operation instead — so the auth model
  has to be read from the operations and the docs rather than from a security scheme.
  110 of the 118 operations carry the required `Authorization` header parameter with
  the default value `Bearer <personal access token>`; the 8 that do not are the
  unauthenticated system and badge endpoints.
schemes:
- name: PersonalAccessToken
  type: http
  scheme: bearer
  in: header
  parameter: Authorization
  format: 'Bearer <personal access token>'
  declared_as: >-
    Required header parameter on each operation (Swagger 2.0 `parameters[].in: header`),
    not a securityDefinitions entry.
  operations_requiring: 110
  how_to_obtain: >-
    Log in to your Woodpecker server, click the user icon at the top right to open your
    personal profile page, and copy the personal access token shown there. Verbatim from
    info.description of the published Swagger document.
  source: openapi/woodpecker-ci-server-swagger.json
unauthenticated_operations:
- path: /healthz
  method: get
  summary: Health information
- path: /version
  method: get
  summary: Get version
- path: /signature/public-key
  method: get
  summary: Get server's signature public key
- path: /badges/{repo_id}/status.svg
  method: get
  summary: Get status of pipeline as SVG badge
- path: /badges/{repo_id}/cc.xml
  method: get
  summary: Provide pipeline status information to the CCMenu tool
- path: /hook
  method: post
  summary: >-
    Incoming webhook from the forge. Not user-authenticated; verified by the forge
    webhook secret configured when the repository is activated.
- path: /stream/events
  method: get
  summary: >-
    Server-Sent Event stream of pipeline updates. Public repositories stream without a
    token; private repository events require a session.
related_but_not_api_auth:
- mechanism: Forge OAuth2
  note: >-
    End users sign in to the Woodpecker web UI through an OAuth2 app registered on the
    configured forge (GitHub, GitLab, Gitea, Forgejo, Bitbucket). This authenticates the
    HUMAN into the UI and mints the session that backs the PAT; it is not a scope-bearing
    OAuth flow that an API client can run against the Woodpecker server itself. There is
    therefore no OAuth scope surface to catalog and no scopes/ artifact.
  docs: https://woodpecker-ci.org/docs/administration/configuration/forges/overview
- mechanism: Agent shared secret
  note: >-
    Agents authenticate to the server over gRPC with WOODPECKER_AGENT_SECRET, a shared
    secret configured by the operator. This is machine-to-machine transport for the
    protobuf contract in grpc/woodpecker-ci-rpc.proto, not REST API auth.
  docs: https://woodpecker-ci.org/docs/administration/configuration/agent
gaps:
- >-
  The spec declares no securitySchemes/securityDefinitions and applies no `security`
  block, so automated tooling scores Woodpecker as having undeclared authentication even
  though every protected operation documents the header. Adding a bearer securityDefinition
  and a global `security` requirement would be a one-line swaggo change with a large
  downstream effect on generated clients.

Work with this as data

Every security artifact here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/woodpecker-ci-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.