• /ws
    • method: GET
    • path parameters:
      • name: upgrade_wait
      • type: string
      • required: false
      • description: the amount of time to wait before doing the websocket upgrade, defaults to 0s, value within range 1ms - 4m

      • name: first_msg_wait
      • type: string
      • required: false
      • description: the amount of time to wait before sending the first message, defaults to 0s, value within range 1ms - 4m

    • description: websocket server that sends a date stamp every second

  • /sse
    • methods: GET POST
    • description: server sent events that sends a date stamp every second

  • /raw
    • methods: GET POST PUT
    • description: returns a body with the raw headers, if POST / PUT request the body is also streamed back to the client after the raw headers

  • /wait
    • methods: GET POST
    • query parameter:
      • name: time
      • type: string
      • required: true
      • description: Time to wait, Eg. 15ms, 1s, 1m

    • description: Waits the set amount of time and then returns 200 OK

  • /ping
    • method: GET
    • query parameters:
      • name: host
      • type: string
      • required: true
      • description: the host to ping

      • name: count
      • type: int
      • required: false
      • description: number of ping requests to send, defaults to 4 if not specified

    • description: ping the given amount of times, otherwise defaults to 4, returns the ping statistics after completion

  • /stats
    • method: GET
    • description: returns system statistics from the machine running the server

  • /bytes
    • method: GET
    • query parameter:
      • name: bytes
      • type: int
      • required: false
      • description: set the amount of bytes that the server will send, value between 1 and 307200, value is in bytes

    • description: returns a random string of bytes, default size is 30kb

  • /ok200
    • method: GET
    • description: returns a empty body with a 200 status code

  • /upload
    • methods: GET POST
    • query parameter:
      • name: slimit
      • type: float64
      • required: false
      • description: set upload max speed limit, value between 0.25 and 50, value in megabits /s

    • description: allows you to upload any arbitrary file in the body, body size must be 1 - 200 megabytes, return body will contain data about the transfer

  • /replica
    • method: GET
    • description: returns the replica id of the app that answered the request, along with the requests ip

  • /env-vars
    • method: GET
    • query parameter:
      • name: prefix
      • type: string
      • required: false
      • description: filter variables by the provided prefix

    • description: prints all the environment variables the app has access to

  • /sse/data
    • methods: GET POST
    • query parameter:
      • name: total_size
      • type: int
      • required: false
      • description: the total size of the data to send in megabytes, defaults to 1

    • description: server sent events that sends chunks of data until the total size is reached

  • /download
    • method: GET
    • query parameters:
      • name: download-size
      • type: int64
      • required: false
      • description: set the file size that the server will send, value between 1 and 50, value is in megabytes

      • name: speed-limit
      • type: float64
      • required: false
      • description: set download max speed limit, value between 0.25 and 50, value in megabits /s

      • name: enable-chunked-transfer-encoding
      • type: boolean
      • required: false
      • description: enable chunked transfer encoding for the response, omits Content-Length header and sends data in chunks

    • description: download a null filled file, default size is 50 megabytes

  • /cidr-list
    • method: GET
    • description: returns all currently available regions and their cidr ranges

  • /dns-lookup
    • method: GET
    • query parameters:
      • name: value
      • type: string
      • required: true
      • description: the value to lookup

      • name: type
      • type: string
      • required: true
      • description: the type of lookup to perform

    • description: perform a dns lookup on the given value with the given type, supports only types: IP (A & AAAA), A, AAAA, CNAME, MX, NS, TXT, SRV

  • /port-check
    • method: GET
    • query parameters:
      • name: host
      • type: string
      • required: true
      • description: the host for the port check

      • name: port
      • type: int
      • required: false
      • description: the port for the port check

      • name: protocol
      • type: string
      • required: false
      • description: the protocol for the port check, defaults to tcp, options are tcp or udp

    • description: runs a tcp port check on the provided host and port

  • /volume-test
    • method: GET
    • description: runs a file write, read, and delete test on the attached railway volume if present, otherwise cwd is used

  • /set-headers
    • methods: GET POST
    • query parameter:
      • name: *
      • type: string
      • required: true
      • description: sets a header key value pair in the response

    • description: accepts multiple sets of headers as query parameters in the format ?foo=bar&baz=qux

  • /request-test
    • method: GET
    • query parameters:
      • name: url
      • type: string
      • required: true
      • description: the url to test

      • name: method
      • type: string
      • required: false
      • description: the http method to use for the request, defaults to the same as the incoming http method

      • name: network
      • type: string
      • required: false
      • description: the network protocol to use for the connection, options are tcp (default), tcp4 (IPv4 only), or tcp6 (IPv6 only)

      • name: host
      • type: string
      • required: false
      • description: override the Host header sent in the request, useful for testing virtual hosts

    • description: test connection to the given url, returns the status code of the request to the provided url

  • /stats/mounts
    • method: GET
    • description: returns mount points from the machine running the server

  • /status-code/:code
    • methods: GET POST PUT
    • query parameter:
      • name: skip-status-text
      • type: boolean
      • required: false
      • description: skip the status text that is sent in the body, a blank body is sent instead

    • path parameter:
      • name: code
      • type: int
      • required: true
      • description: accepts a value between 100 and 500

    • description: returns with the same status code you provide, body is the status text of the given status code if left enabled