@startuml

class "Pet" {
}

"Pet" --> "1" "NewPet"

"Pet" --> "1" "PetId"

class "PetId" {
  id : integer
}

class "NewPet" {
  name : string
  tag : string {O}
}

class "Error" {
  code : integer
  message : string
}
hide <<Method>> circle

class "GET /pets" <<Method>> {
  tags : string[] {O}
  limit : integer {O}
}

class "GET /pets 200 Response" <<Response>> {
}

"GET /pets 200 Response" --> "*" "Pet"

"GET /pets" ..> "GET /pets 200 Response": 200

"GET /pets" ..> "Error": default

class "POST /pets" <<Method>> {
}

"POST /pets" ..> "Pet": 200

"POST /pets" ..> "Error": default

"POST /pets" --> "NewPet" : "<<Request Body>>"

class "GET /pets/{id}" <<Method>> {
  id : integer
}

"GET /pets/{id}" ..> "Pet": 200

"GET /pets/{id}" ..> "Error": default

class "DELETE /pets/{id}" <<Method>> {
  id : integer
}
class "DELETE /pets/{id} 204 Response"{}

"DELETE /pets/{id}" ..> "DELETE /pets/{id} 204 Response": 204

"DELETE /pets/{id}" ..> "Error": default

@enduml