Most APIs people build today are HTTP APIs. A client sends an HTTP request to a URL like GET /users/42. That request carries a method (GET, POST, PUT, DELETE), headers (auth tokens, content type), and often a JSON body. The server routes it to the right handler, runs the logic, talks to a database, and returns a status code plus a JSON response.
Status codes are part of the contract, not decoration. 200 means success, 201 means created, 400 means the client sent bad input, 401 means not authenticated, 404 means not found, 500 means the server broke. A client reads the code first and the body second.
REST is the dominant style: resources have URLs and standard verbs act on them. GraphQL is an alternative where the client asks for exactly the fields it wants in one query. gRPC uses binary Protocol Buffers over HTTP/2 for fast service-to-service calls. All three are APIs; they just differ in shape and tradeoffs.