Success Response Code Undefined for Put Operation (v3)
- Query id: 60b5f56b-66ff-4e1c-9b62-5753e16825bc
- Query name: Success Response Code Undefined for Put Operation (v3)
- Platform: OpenAPI
- Severity: Medium
- Category: Networking and Firewall
- URL: Github
Description¶
Put should define at least one success response (200, 201, 202 or 204)
Documentation
Code samples¶
Code samples with security vulnerabilities¶
Positive test num. 1 - json file
{
"openapi": "3.0.0",
"info": {
"title": "Simple API",
"version": "1.0.0"
},
"paths": {
"/item": {
"put": {
"operationId": "updateItem",
"summary": "Updated item",
"responses": {
"default": {
"description": "Error"
}
}
}
}
}
}
Positive test num. 2 - json file
{
"openapi": "3.0.0",
"info": {
"title": "Simple API",
"version": "1.0.0"
},
"paths": {
"/item": {
"delete": {
"operationId": "deleteItem",
"summary": "Delete item",
"responses": {
"204": {
"description": "Item deleted successfully"
},
"default": {
"description": "Error"
}
}
},
"put": {
"operationId": "updateItem",
"summary": "Update item",
"responses": {
"default": {
"description": "Error"
}
}
}
}
}
}
Positive test num. 3 - yaml file
openapi: 3.0.0
info:
title: Simple API
version: 1.0.0
paths:
"/item":
put:
operationId: updateItem
summary: Updated item
responses:
default:
description: Error
Positive test num. 4 - yaml file
Positive test num. 5 - json file
{
"swagger": "2.0",
"info": {
"title": "Simple API",
"version": "1.0.0"
},
"paths": {
"/item": {
"delete": {
"operationId": "deleteItem",
"summary": "Delete item",
"responses": {
"204": {
"description": "Item deleted successfully"
},
"default": {
"description": "Error"
}
}
},
"put": {
"operationId": "updateItem",
"summary": "Update item",
"responses": {
"default": {
"description": "Error"
}
}
}
}
}
}
Positive test num. 6 - yaml file
Code samples without security vulnerabilities¶
Negative test num. 1 - json file
{
"openapi": "3.0.0",
"info": {
"title": "Simple API",
"version": "1.0.0"
},
"paths": {
"/item": {
"delete": {
"operationId": "deleteItem",
"summary": "Delete item",
"responses": {
"default": {
"description": "Error"
}
}
},
"put": {
"operationId": "updateItem",
"summary": "Update item",
"responses": {
"201": {
"description": "Item created successfully"
},
"204": {
"description": "Item updated successfully"
},
"default": {
"description": "Error"
}
}
}
}
}
}
Negative test num. 2 - yaml file
openapi: 3.0.0
info:
title: Simple API
version: 1.0.0
paths:
"/item":
delete:
operationId: deleteItem
summary: Delete item
responses:
default:
description: Error
put:
operationId: updateItem
summary: Update item
responses:
"201":
description: Item created successfully
"204":
description: Item updated successfully
default:
description: Error
Negative test num. 3 - json file
{
"swagger": "2.0",
"info": {
"title": "Simple API",
"version": "1.0.0"
},
"paths": {
"/item": {
"delete": {
"operationId": "deleteItem",
"summary": "Delete item",
"responses": {
"default": {
"description": "Error"
}
}
},
"put": {
"operationId": "updateItem",
"summary": "Update item",
"responses": {
"201": {
"description": "Item created successfully"
},
"204": {
"description": "Item updated successfully"
},
"default": {
"description": "Error"
}
}
}
}
}
}
Negative test num. 4 - yaml file
swagger: "2.0"
info:
title: Simple API
version: 1.0.0
paths:
"/item":
delete:
operationId: deleteItem
summary: Delete item
responses:
default:
description: Error
put:
operationId: updateItem
summary: Update item
responses:
"201":
description: Item created successfully
"204":
description: Item updated successfully
default:
description: Error