POST Returns PDF document.
{{baseUrl}}/perfectpdf/api
BODY json

{
  "api_key": "",
  "html": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/perfectpdf/api");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"api_key\": \"abc123\",\n  \"html\": \"my title
My PDF
\"\n}"); CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/perfectpdf/api" {:content-type :json
                                                           :form-params {:api_key "abc123"
                                                                         :html "my title
My PDF
"}})
require "http/client"

url = "{{baseUrl}}/perfectpdf/api"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"api_key\": \"abc123\",\n  \"html\": \"my title
My PDF
\"\n}" response = HTTP::Client.post url, headers: headers, body: reqBody puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Post,
    RequestUri = new Uri("{{baseUrl}}/perfectpdf/api"),
    Content = new StringContent("{\n  \"api_key\": \"abc123\",\n  \"html\": \"my title
My PDF
\"\n}") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } } }; using (var response = await client.SendAsync(request)) { response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body); }
var client = new RestClient("{{baseUrl}}/perfectpdf/api");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"api_key\": \"abc123\",\n  \"html\": \"my title
My PDF
\"\n}", ParameterType.RequestBody); var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/perfectpdf/api"

	payload := strings.NewReader("{\n  \"api_key\": \"abc123\",\n  \"html\": \"my title
My PDF
\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("content-type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) }
POST /baseUrl/perfectpdf/api HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 192

{
  "api_key": "abc123",
  "html": "my title
My PDF
" }
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/perfectpdf/api")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"api_key\": \"abc123\",\n  \"html\": \"my title
My PDF
\"\n}") .execute() .toCompletableFuture() .thenAccept(System.out::println) .join(); client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/perfectpdf/api"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"api_key\": \"abc123\",\n  \"html\": \"my title
My PDF
\"\n}")) .build(); HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"api_key\": \"abc123\",\n  \"html\": \"my title
My PDF
\"\n}"); Request request = new Request.Builder() .url("{{baseUrl}}/perfectpdf/api") .post(body) .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/perfectpdf/api")
  .header("content-type", "application/json")
  .body("{\n  \"api_key\": \"abc123\",\n  \"html\": \"my title
My PDF
\"\n}") .asString();
const data = JSON.stringify({
  api_key: 'abc123',
  html: 'my title
My PDF
' }); const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener('readystatechange', function () { if (this.readyState === this.DONE) { console.log(this.responseText); } }); xhr.open('POST', '{{baseUrl}}/perfectpdf/api'); xhr.setRequestHeader('content-type', 'application/json'); xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/perfectpdf/api',
  headers: {'content-type': 'application/json'},
  data: {
    api_key: 'abc123',
    html: 'my title
My PDF
' } }; try { const { data } = await axios.request(options); console.log(data); } catch (error) { console.error(error); }
const url = '{{baseUrl}}/perfectpdf/api';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"api_key":"abc123","html":"my title
My PDF
"}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); }
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/perfectpdf/api',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "api_key": "abc123",\n  "html": "my title
My PDF
"\n}' }; $.ajax(settings).done(function (response) { console.log(response); });
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"api_key\": \"abc123\",\n  \"html\": \"my title
My PDF
\"\n}") val request = Request.Builder() .url("{{baseUrl}}/perfectpdf/api") .post(body) .addHeader("content-type", "application/json") .build() val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/perfectpdf/api',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  api_key: 'abc123',
  html: 'my title
My PDF
' })); req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/perfectpdf/api',
  headers: {'content-type': 'application/json'},
  body: {
    api_key: 'abc123',
    html: 'my title
My PDF
' }, json: true }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
const unirest = require('unirest');

const req = unirest('POST', '{{baseUrl}}/perfectpdf/api');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  api_key: 'abc123',
  html: 'my title
My PDF
' }); req.end(function (res) { if (res.error) throw new Error(res.error); console.log(res.body); });
const axios = require('axios').default;

const options = {
  method: 'POST',
  url: '{{baseUrl}}/perfectpdf/api',
  headers: {'content-type': 'application/json'},
  data: {
    api_key: 'abc123',
    html: 'my title
My PDF
' } }; try { const { data } = await axios.request(options); console.log(data); } catch (error) { console.error(error); }
const fetch = require('node-fetch');

const url = '{{baseUrl}}/perfectpdf/api';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"api_key":"abc123","html":"my title
My PDF
"}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); }
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"api_key": @"abc123",
                              @"html": @"my title
My PDF
" }; NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/perfectpdf/api"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10.0]; [request setHTTPMethod:@"POST"]; [request setAllHTTPHeaderFields:headers]; [request setHTTPBody:postData]; NSURLSession *session = [NSURLSession sharedSession]; NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { if (error) { NSLog(@"%@", error); } else { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response; NSLog(@"%@", httpResponse); } }]; [dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/perfectpdf/api" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"api_key\": \"abc123\",\n  \"html\": \"my title
My PDF
\"\n}" in Client.call ~headers ~body `POST uri >>= fun (res, body_stream) -> (* Do stuff with the result *)
 "{{baseUrl}}/perfectpdf/api",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'api_key' => 'abc123',
    'html' => 'my title
My PDF
' ]), CURLOPT_HTTPHEADER => [ "content-type: application/json" ], ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
request('POST', '{{baseUrl}}/perfectpdf/api', [
  'body' => '{
  "api_key": "abc123",
  "html": "my title
My PDF
" }', 'headers' => [ 'content-type' => 'application/json', ], ]); echo $response->getBody();
setUrl('{{baseUrl}}/perfectpdf/api');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'api_key' => 'abc123',
  'html' => 'my title
My PDF
' ])); try { $response = $request->send(); echo $response->getBody(); } catch (HttpException $ex) { echo $ex; }
append(json_encode([
  'api_key' => 'abc123',
  'html' => 'my title
My PDF
' ])); $request->setRequestUrl('{{baseUrl}}/perfectpdf/api'); $request->setRequestMethod('POST'); $request->setBody($body); $request->setHeaders([ 'content-type' => 'application/json' ]); $client->enqueue($request)->send(); $response = $client->getResponse(); echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/perfectpdf/api' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "api_key": "abc123",
  "html": "my title
My PDF
" }'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/perfectpdf/api' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "api_key": "abc123",
  "html": "my title
My PDF
" }'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"api_key\": \"abc123\",\n  \"html\": \"my title
My PDF
\"\n}" headers = { 'content-type': "application/json" } conn.request("POST", "/baseUrl/perfectpdf/api", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/perfectpdf/api"

payload = {
    "api_key": "abc123",
    "html": "my title
My PDF
" } headers = {"content-type": "application/json"} response = requests.post(url, json=payload, headers=headers) print(response.json())
library(httr)

url <- "{{baseUrl}}/perfectpdf/api"

payload <- "{\n  \"api_key\": \"abc123\",\n  \"html\": \"my title
My PDF
\"\n}" encode <- "json" response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode) content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/perfectpdf/api")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"api_key\": \"abc123\",\n  \"html\": \"my title
My PDF
\"\n}" response = http.request(request) puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
  headers: {'Content-Type' => 'application/json'}
)

response = conn.post('/baseUrl/perfectpdf/api') do |req|
  req.body = "{\n  \"api_key\": \"abc123\",\n  \"html\": \"my title
My PDF
\"\n}" end puts response.status puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/perfectpdf/api";

    let payload = json!({
        "api_key": "abc123",
        "html": "my title
My PDF
" }); let mut headers = reqwest::header::HeaderMap::new(); headers.insert("content-type", "application/json".parse().unwrap()); let client = reqwest::Client::new(); let response = client.post(url) .headers(headers) .json(&payload) .send() .await; let results = response.unwrap() .json::() .await .unwrap(); dbg!(results); }
curl --request POST \
  --url {{baseUrl}}/perfectpdf/api \
  --header 'content-type: application/json' \
  --data '{
  "api_key": "abc123",
  "html": "my title
My PDF
" }'
echo '{
  "api_key": "abc123",
  "html": "my title
My PDF
" }' | \ http POST {{baseUrl}}/perfectpdf/api \ content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "api_key": "abc123",\n  "html": "my title
My PDF
"\n}' \ --output-document \ - {{baseUrl}}/perfectpdf/api
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "api_key": "abc123",
  "html": "my title
My PDF
" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/perfectpdf/api")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume()