What do you need to test our API?
Base URLs, two accounts at each permission level, and written authorisation. A Postman collection, an OpenAPI or GraphQL schema speeds things up considerably, but we can work without one by watching the real clients and discovering the rest.
Why do you insist on two accounts?
Because the most common serious API finding is broken object-level authorisation, and you cannot demonstrate it with a single login. With two accounts we can ask for one customer’s records as the other and show you the response, which is very hard to argue with.
Is GraphQL tested differently from REST?
The categories are the same but the attacks are not. GraphQL adds introspection, deeply nested and recursive queries, aliasing and batching, and authorisation that has to hold at every resolver rather than once at the endpoint. We test all of it.
Can you test an API that is only used by our mobile app?
Yes, and we would recommend it. We capture the real traffic from the app, build the inventory from that, and then test the API directly - which is exactly what an attacker does once they have your app on a phone they control.
Will the test knock our API over?
No. Resource-exhaustion testing is done carefully and by agreement, usually against a non-production environment, and we stop at the point where the issue is proved rather than the point where something falls over.