The items you are mentioning are "non-functional requirements". They are called non-functional because they do not contain details which determine the business logic, they contain details about performance, availability, etc. For example, returning an error is going to require error handling, and changes in how the handling of the response works, so it is a functional requirement while returning a response within 100ms doesn't require someone to write special code to process the response so it is a non-functional requirement
I generally add an extra section into the user story, titled non-functional requirements. This gives cues to the architect early enough to make changes in architecture to ensure that non-functional requirements are met. Once a core design is in place, it can be very difficult to change the core design, so expressing the non-functional requirements up-front it best.
Keep in mind that non-functional requirements should actually be "requirements" and not "desires". Making a desire into a requirement might mean you just added a large amount of cost to the project, depending on how the requirement is worded. For example, prefer
Confirmation of the operation or its failure should return within 1 second 90% of the time.
over
Confirmation of the operating or its failure should return within 1 second.
One will cost a fraction of the other, as in the latter one, to ensure the requirement is met, you need a real-time operating system, exotic programming techniques, etc. Also consider how the system should scale. The cost of scanning 10,000 database records is not the same as the cost of scanning 10,000,000 database records. Where it is obvious that scaling is going to impact non-functional requirements, put the requirement in units.
Confirmation of the operation or its failure should return within 1 second per 10,000 database records, 90% of the time.
This is not the area to strive for more than 2 "nines" (ie. 99%) and I'd recommend one nine (90%). Each additional nine means you must test at least 10 times more (1 nine will require 100 tests, 2 nines will require 1000, 3 nines will require 10000) to obtain accurate statistics.
Likewise, this is not the place to put in "boilerplate" requirements. If one API call depends on two API calls, it won't matter if you say "each API call takes 1 second 90% of the time, because your documented non-functional requirement is wrong. By combining two API calls in a serial fashion, you need those two supporting API calls to return in roughly 1/2 a second for the service using them both to respond in 1 second.
So, my advice is to use them sparingly, and only for major interfaces that define demarcation points outside of a set of functionality, and only for those APIs where you will lose significant amounts of money if the non-functional requirement isn't met. Otherwise, you might inadvertently convert a simple $X project into a 20*$X project because in order to guarantee your non-functional requirement, they had to shift to a super-scalar architecture, consisting of a quorum for truth agreement, with a dozen or more responders, each on different hardware, instead of a simple micro-service.