HashiCorp Vault Userpass API

Username and password auth method

OpenAPI Specification

hvault-userpass-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: HashiCorp Vault Vault Auth Methods AppRole Userpass API
  description: APIs for authentication methods in HashiCorp Vault including Token, AppRole, Kubernetes, LDAP, JWT/OIDC, GitHub, Userpass, and AWS auth methods. These endpoints handle user and machine authentication to obtain Vault tokens.
  version: '1.0'
  contact:
    name: HashiCorp Support
    email: support@hashicorp.com
    url: https://support.hashicorp.com/
  license:
    name: Business Source License 1.1
    url: https://github.com/hashicorp/vault/blob/main/LICENSE
servers:
- url: https://vault.example.com/v1
  description: Vault Server
security:
- vaultToken: []
tags:
- name: Userpass
  description: Username and password auth method
paths:
  /auth/userpass/login/{username}:
    post:
      operationId: loginWithUserpass
      summary: HashiCorp Vault Login with username and password
      description: Authenticates with Vault using a username and password.
      tags:
      - Userpass
      parameters:
      - name: username
        in: path
        required: true
        description: Username
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - password
              properties:
                password:
                  type: string
                  description: Password for the user
      responses:
        '200':
          description: Authentication successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthResponse'
        '400':
          description: Invalid credentials
      security: []
  /auth/userpass/users/{username}:
    get:
      operationId: readUserpassUser
      summary: HashiCorp Vault Read userpass user
      description: Reads the properties of the named userpass user.
      tags:
      - Userpass
      parameters:
      - name: username
        in: path
        required: true
        description: Username
        schema:
          type: string
      responses:
        '200':
          description: User configuration returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      token_policies:
                        type: array
                        items:
                          type: string
                      token_ttl:
                        type: integer
                      token_max_ttl:
                        type: integer
                      token_bound_cidrs:
                        type: array
                        items:
                          type: string
        '404':
          description: User not found
    post:
      operationId: createOrUpdateUserpassUser
      summary: HashiCorp Vault Create or update userpass user
      description: Creates or updates the named userpass user.
      tags:
      - Userpass
      parameters:
      - name: username
        in: path
        required: true
        description: Username
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - password
              properties:
                password:
                  type: string
                  description: Password for the user
                token_policies:
                  type: array
                  items:
                    type: string
                  description: Policies to assign to tokens
                token_ttl:
                  type: string
                  description: Default token TTL
                token_max_ttl:
                  type: string
                  description: Maximum token TTL
      responses:
        '204':
          description: User created or updated
        '400':
          description: Invalid request
    delete:
      operationId: deleteUserpassUser
      summary: HashiCorp Vault Delete userpass user
      description: Deletes the named userpass user.
      tags:
      - Userpass
      parameters:
      - name: username
        in: path
        required: true
        description: Username
        schema:
          type: string
      responses:
        '204':
          description: User deleted
components:
  schemas:
    AuthResponse:
      type: object
      properties:
        request_id:
          type: string
          description: Unique request identifier
        lease_id:
          type: string
          description: Lease identifier (empty for auth responses)
        renewable:
          type: boolean
          description: Whether the token is renewable
        lease_duration:
          type: integer
          description: Token TTL in seconds
        auth:
          type: object
          properties:
            client_token:
              type: string
              description: The Vault authentication token
            accessor:
              type: string
              description: Token accessor
            policies:
              type: array
              items:
                type: string
              description: Policies attached to the token
            token_policies:
              type: array
              items:
                type: string
              description: Token-specific policies
            identity_policies:
              type: array
              items:
                type: string
              description: Identity-derived policies
            metadata:
              type: object
              additionalProperties:
                type: string
              description: Metadata associated with the token
            lease_duration:
              type: integer
              description: Token TTL in seconds
            renewable:
              type: boolean
              description: Whether the token is renewable
            entity_id:
              type: string
              description: Identity entity ID
            token_type:
              type: string
              description: Type of token (service, batch)
            orphan:
              type: boolean
              description: Whether the token is an orphan
  securitySchemes:
    vaultToken:
      type: apiKey
      in: header
      name: X-Vault-Token
      description: Vault authentication token
externalDocs:
  description: Vault Auth Methods API Documentation
  url: https://developer.hashicorp.com/vault/api-docs/auth