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
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.
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.