I've had a need in a few projects for a REST API that doesn't behave well - takes a long time to respond, or never responds, returns unexpected status codes etc.
That can be very useful for testing that clients cope gracefully with unexpected responses.
Till now I've always coded a stub API in the project and run it locally, but I've put a few 'misbehaved' endpoints together and published them at, and the source is on GitHub here: sixeyed/badapi.net.
You can browse to the home page and see the available endpoints. I'll be adding more as I think of them, and I may give the styling of the help pages a bit more thought...
As of today's release, the misbehaving endpoints available to you are:
GET longrunning?between={between}&and={and} - Waits for a (short) random period before returning GET verylongrunning?between={between}&and={and} -Waits for a (long) random period before returning GET internalservererror - Returns 500: Internal Server Error GET badrequest - Returns 400: BadRequest GET notfound - Returns 404: Not Found GET unauthorized - Returns 401: Unauthorized GET forbidden - Returns 403: Forbidden GET conflict -Returns 409: Conflict GET status/{code}?reason={reason} - Returns the provided status code
Go bad.
