openapi: 3.0.3 info: title: User Management API version: 1.0.0 description: A simple API to manage users servers: - url: https://api.example.com/v1 description: Production server paths: /users: get: summary: List all users responses: '200': description: A list of users content: application/json: schema: type: array items: $ref: '#/components/schemas/User' post: summary: Create a new user requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/User' responses: '201': description: User created successfully /users/{userId}: get: summary: Get a user by ID parameters: - name: userId in: path required: true schema: type: string responses: '200': description: User details content: application/json: schema: $ref: '#/components/schemas/User' '404': description: User not found components: schemas: User: type: object properties: id: type: string example: '123' name: type: string example: John Doe email: type: string example: john.doe@example.com required: - id - name - email