openapi: 3.1.0 info: title: "" version: "" paths: /api/v1/items: get: operationId: getItems parameters: - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Offset' responses: "200": $ref: '#/components/responses/GetItemsResponse' post: operationId: createItem requestBody: $ref: '#/components/requestBodies/CreateItemRequest' responses: "200": $ref: '#/components/responses/Item' /api/v1/items/{id}: get: operationId: getItem parameters: - $ref: '#/components/parameters/Id' responses: "200": $ref: '#/components/responses/Item' put: operationId: updateItem parameters: - $ref: '#/components/parameters/Id' requestBody: $ref: '#/components/requestBodies/UpdateItemRequest' responses: "200": $ref: '#/components/responses/Item' delete: operationId: deleteItem parameters: - $ref: '#/components/parameters/Id' responses: "200": $ref: '#/components/responses/Empty' patch: operationId: patchItem parameters: - $ref: '#/components/parameters/Id' requestBody: $ref: '#/components/requestBodies/PatchItemRequest' responses: "200": $ref: '#/components/responses/Item' components: schemas: Item: type: object properties: id: type: string name: type: string required: - id - name responses: Empty: description: Empty content: application/json: schema: type: object GetItemsResponse: description: GetItemsResponse content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Item' totalCount: type: integer format: int32 required: - items - totalCount Item: description: Item content: application/json: schema: type: object properties: id: type: string name: type: string required: - id - name parameters: Id: name: id in: path required: true schema: type: string Limit: name: limit in: query required: true schema: type: integer format: int32 Offset: name: offset in: query required: true schema: type: integer format: int32 requestBodies: CreateItemRequest: content: application/json: schema: type: object properties: name: type: string required: - name PatchItemRequest: content: application/json: schema: type: object properties: name: type: string required: - name UpdateItemRequest: content: application/json: schema: type: object properties: name: type: string required: - name