Docly Developers
Function API only Updated 23 Oct 2026

httpFormPost(url, data, [headers])

Same as httpPost, but values are posted as form fields instead of a JSON body.

Parameters

urlstringrequired

URL to call with HTTP POST.

dataobjectrequired

Object whose properties are passed as form fields.

headersobjectoptional

Name / value object that will be converted to HTTP headers.

Returns

Returns the JSON answer parsed to an object.

Errors do not throw: if the call fails, or the answer is not JSON, the result is { DoclyError: "<message>" }. The HTTP status code is not returned — use httpFetch when you need it. An empty URL throws instead of returning DoclyError. data must be an object.

Security: requests to Docly's own platform domains (and their subdomains) and to cloud metadata / link-local addresses are always blocked — also after a redirect — and the call returns { DoclyError }. The Host header cannot be set. Private networks are only blocked by httpFetch with blockPrivateNetworks: true.

Example

Normal JavaScript, running in the browser or on the Docly™ server.
export default () => {
    let config = docly.getJson("#/Config") || {};   // keep credentials in #/Config, never in code
    let headers = {
        "Authorization": "Basic " + docly.base64(config.ApiUser + ":" + config.ApiPassword)
    };
    let data = { "Field1": "123" };

    // Call some API — data is sent URL-encoded (application/x-www-form-urlencoded)
    let result = docly.httpFormPost("https://api.example.com/v1/items", data, headers);

    if (result && result.DoclyError) throw new Error("The external API did not answer");
    return result;
}