openapi: 3.1.0 info: title: Simple API version: 1.0.0 description: A simple demo for zod-openapi license: name: MIT servers: - url: http://example.com/dev description: Dev Endpoint - url: http://example.com/prod description: Prod Endpoint security: - s2sauth: [] paths: /job: get: operationId: getJob summary: Get Job parameters: - name: id in: query schema: $ref: "#/components/schemas/jobId" required: true description: A unique identifier for a job responses: "200": description: Successful operation content: application/json: schema: description: Get Job Response type: object properties: id: $ref: "#/components/schemas/jobId" title: $ref: "#/components/schemas/jobTitle" userId: description: A unique identifier for a user example: "60001234" type: string required: - id - title - userId additionalProperties: false post: operationId: createJob summary: Create Job requestBody: content: application/json: schema: description: Create Job Request type: object properties: title: $ref: "#/components/schemas/jobTitle" required: - title additionalProperties: false responses: "201": $ref: "#/components/responses/CreateJobResponse" components: schemas: jobTitle: description: A name that describes the job example: Mid level developer type: string minLength: 1 jobId: description: A unique identifier for a job example: 4dd643ff-7ec7-4666-9c88-50b7d3da34e4 type: string format: uuid pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$ responses: CreateJobResponse: description: Successful creation content: application/json: schema: description: Create Job Response type: object properties: id: $ref: "#/components/schemas/jobId" required: - id additionalProperties: false