http post for network

Post a body to a URL.


> http post {flags} (URL) (data)


  • --user, -u {any}: the username when authenticating
  • --password, -p {any}: the password when authenticating
  • --content-type, -t {any}: the MIME type of content to post
  • --max-time, -m {int}: timeout period in seconds
  • --headers, -H {any}: custom headers you want to add
  • --raw, -r: return values as a string instead of a table
  • --insecure, -k: allow insecure server connections when using SSL
  • --full, -f: returns the full response instead of only the body
  • --allow-errors, -e: do not fail if the server returns an error code
  • --redirect-mode, -R {string}: What to do when encountering redirects. Default: 'follow'. Valid options: 'follow' ('f'), 'manual' ('m'), 'error' ('e').


  • URL: The URL to post to.
  • data: The contents of the post body. Required unless part of a pipeline.

Input/output types:



Post content to

> http post 'body'

Post content to, with username and password

> http post --user myuser --password mypass 'body'

Post content to, with custom header

> http post --headers [my-header-key my-header-value]

Post content to, with JSON body

> http post --content-type application/json { field: value }

Post JSON content from a pipeline to

> open foo.json | http post


Performs HTTP POST operation.