OpenAPI Specification
openapi: 3.0.3
info:
title: Verdaccio npm Registry dist-tags profile API
description: 'The Verdaccio npm Registry REST API implements the CommonJS Compliant Package Registry specification, providing endpoints to publish, retrieve, search, and delete npm packages. It supports JWT tokens and Basic Auth for authentication and mirrors the standard npm registry protocol so any npm, yarn, or pnpm client can interact with it without modification.
'
version: 6.0.0
contact:
name: Verdaccio Community
url: https://discord.gg/7qWJxBf
license:
name: MIT
url: https://github.com/verdaccio/verdaccio/blob/master/LICENSE
x-api-id: verdaccio:verdaccio-npm-registry-api
servers:
- url: http://localhost:4873
description: Default local Verdaccio instance
security:
- bearerAuth: []
- basicAuth: []
tags:
- name: profile
description: User profile management
paths:
/-/npm/v1/user:
get:
operationId: getProfile
summary: Get user profile
description: Returns the profile of the currently authenticated user.
tags:
- profile
responses:
'200':
description: User profile
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: updateProfile
summary: Update user profile (change password)
description: 'Updates the authenticated user''s profile. Currently supports password changes. Two-factor authentication is not supported.
'
tags:
- profile
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProfileUpdateRequest'
responses:
'200':
description: Updated profile
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
components:
responses:
Forbidden:
description: Authenticated user lacks permission for this operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Authentication required or credentials are invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest:
description: Bad request — missing or invalid parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
schemas:
ProfileUpdateRequest:
type: object
properties:
password:
type: object
description: Password change payload
properties:
old:
type: string
format: password
description: Current password
new:
type: string
format: password
description: Desired new password
ErrorResponse:
type: object
properties:
error:
type: string
description: Human-readable error message
example: package not found
required:
- error
Profile:
type: object
properties:
tfa:
type: boolean
description: Two-factor authentication enabled (always false — not supported)
example: false
name:
type: string
description: Username
example: alice
email:
type: string
description: Email address (not stored; always empty)
example: ''
email_verified:
type: boolean
description: Whether the email has been verified (always false)
example: false
created:
type: string
description: Account creation timestamp (not stored; always empty)
example: ''
updated:
type: string
description: Account update timestamp (not stored; always empty)
example: ''
cidr_whitelist:
type: array
nullable: true
items:
type: string
description: CIDR whitelist (not enforced at profile level; always null)
example: null
fullname:
type: string
description: Full name (not stored; always empty)
example: ''
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: JWT token issued by Verdaccio on login
basicAuth:
type: http
scheme: basic
description: HTTP Basic Auth with registry username and password