--- title: requests.post() function description: > `requests.post()` makes a http POST request. This identical to calling `request.do(method: "POST", ...)`. menu: flux_v0_ref: name: requests.post parent: http/requests identifier: http/requests/post weight: 201 flux/v0/tags: [http, inputs] --- `requests.post()` makes a http POST request. This identical to calling `request.do(method: "POST", ...)`. ##### Function type signature ```js ( url: string, ?body: bytes, ?config: {A with timeout: duration, insecureSkipVerify: bool}, ?headers: [string:string], ?params: [string:[string]], ) => {statusCode: int, headers: [string:string], duration: duration, body: bytes} ``` {{% caption %}} For more information, see [Function type signatures](/flux/v0/function-type-signatures/). {{% /caption %}} ## Parameters ### url ({{< req >}}) URL to request. This should not include any query parameters. ### params Set of key value pairs to add to the URL as query parameters. Query parameters will be URL encoded. All values for a key will be appended to the query. ### headers Set of key values pairs to include on the request. ### body Data to send with the request. ### config Set of options to control how the request should be performed. ## Examples - [Make a POST request with a JSON body and decode JSON response](#make-a-post-request-with-a-json-body-and-decode-json-response) - [Make a POST request with query parameters](#make-a-post-request-with-query-parameters) ### Make a POST request with a JSON body and decode JSON response ```js import "http/requests" import ejson "experimental/json" import "json" import "array" response = requests.post( url: "https://goolnk.com/api/v1/shorten", body: json.encode(v: {url: "http://www.influxdata.com"}), headers: ["Content-Type": "application/json"], ) data = ejson.parse(data: response.body) array.from(rows: [data]) ``` {{< expand-wrapper >}} {{% expand "View example output" %}} #### Output data | result_url | | ------------------------- | | https://goolnk.com/BnXAE6 | {{% /expand %}} {{< /expand-wrapper >}} ### Make a POST request with query parameters ```js import "http/requests" response = requests.post(url: "http://example.com", params: ["start": ["100"], "interval": ["1h", "1d"]]) // Full URL: http://example.com?start=100&interval=1h&interval=1d requests.peek(response: response) ``` {{< expand-wrapper >}} {{% expand "View example output" %}} #### Output data | statusCode | body | headers | duration | | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | | 200 |
This domain is for use in illustrative examples in documents. You may use this domain in literature without prior coordination or asking for permission.