openapi: 3.0.3
info:
  title: Stage 1 Contracts (Auth, Users, Health, Audit)
  version: 1.0.0
paths:
  /health:
    get:
      summary: Health check
      responses:
        '200':
          description: OK
  /auth/login:
    post:
      summary: Login
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [username, password]
              properties:
                username: { type: string }
                password: { type: string }
      responses:
        '200':
          description: Token response
  /users:
    get:
      summary: List users
      responses:
        '200':
          description: Users list
    post:
      summary: Create user
      responses:
        '200':
          description: User created
  /users/{user_id}:
    get:
      summary: Get user by id
      parameters:
        - in: path
          name: user_id
          required: true
          schema: { type: string }
      responses:
        '200':
          description: User data
  /audit/events:
    get:
      summary: List audit events
      responses:
        '200':
          description: Audit list
    post:
      summary: Create audit event
      responses:
        '200':
          description: Event created
