[role="xpack"] [testenv="basic"] [[sql-translate]] == SQL Translate API The SQL Translate API accepts SQL in a JSON document and translates it into native {es} queries. For example: [source,console] -------------------------------------------------- POST /_sql/translate { "query": "SELECT * FROM library ORDER BY page_count DESC", "fetch_size": 10 } -------------------------------------------------- // TEST[setup:library] Which returns: [source,console-result] -------------------------------------------------- { "size" : 10, "docvalue_fields" : [ { "field": "release_date", "format": "epoch_millis" } ], "_source": { "includes": [ "author", "name", "page_count" ], "excludes": [] }, "sort" : [ { "page_count" : { "order" : "desc", "missing" : "_first", "unmapped_type" : "short" } } ] } -------------------------------------------------- Which is the request that SQL will run to provide the results. In this case, SQL will use the <> API. If the result contained an aggregation then SQL would use the normal <> API. The request body accepts all of the <> that the <> accepts except `cursor`.