1. A method for handling a user request for invoking a computer service through an Application Programming Interface, comprising: performing a first natural language (NL) analysis by a computer on one or more computer service user programming documents, wherein the API user documents describe in structured natural language one or more structured Application Programming Interfaces (API's) with one or more API elements, and wherein each API element corresponds to a parameter or argument to use or invoke the computer service; extracting by a computer the one or more API elements from the user programming document according to the first NL analysis; performing a second NL analysis by a computer on an unstructured request from a client to use or invoke the computer service, the unstructured request comprising natural language containing one or more request components; matching by a computer the one or more request components to the one or more API elements; constructing by a computer a structured API call suing the matching request components for API elements; and performing by a computer one or more operations selected from the group consisting of submitting the constructed structured API call to the computer service on behalf of the client, returning the constructed structured API call to the requesting client, and returning a result from an invoked corresponding computer service to the requesting client.