Ruby

Call the Create a Fillable PDF API from Ruby.

require "net/http"
require "uri"
require "json"

uri = URI("https://api.createafillablepdf.com/v1/convert")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer #{ENV['CAFP_KEY']}"

form = [
  ["file", File.open("applicant.pdf"), { filename: "applicant.pdf", content_type: "application/pdf" }],
  ["detect", "fields"],
]
request.set_form(form, "multipart/form-data")

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(request) }

if res.code == "200"
  data = JSON.parse(res.body)
  puts "#{data['fields']} fields → #{data['document_url']}"
else
  err = JSON.parse(res.body)["error"]
  warn "#{err['type']}: #{err['message']}"
end

Fill with POST /v1/fill (JSON body { conversion_id:, values: }).