Add legally binding e-signatures to a Ruby app in four steps with the GetSigned REST API: get a token, create an envelope with a multipart upload, send the signing link, and handle the completion webhook in Sinatra or Rails.
Exchange your OAuth2 client credentials for a short-lived access token using Ruby's standard Net::HTTP library.
Upload the PDF with signers and fields as a multipart/form-data request. Use the multipart-post gem for clean multipart handling.
Sending generates a tokenized, single-use link per signer and emails it. Signers verify identity with email/SMS OTP.
When the last signer finishes, GetSigned POSTs envelope.completed to your endpoint. Verify the HMAC-SHA256 signature first. Works with Sinatra or Rails.
Use Ruby's Net::HTTP (standard library) and the multipart-post gem to call the GetSigned REST API: POST client credentials to /oauth/token for a bearer token, create an envelope by uploading a PDF with signers and fields as a multipart request, send it to generate signing links, then handle the envelope.completed webhook in Sinatra or Rails. No dedicated e-signature SDK is required.
The multipart-post gem (Net::HTTP::Post::Multipart) is the standard Ruby approach for multipart/form-data file uploads without pulling in a full HTTP client library like Faraday or HTTParty. If you already use one of those in your project, they handle multipart uploads natively and you can use those instead.
Yes. The Net::HTTP calls work in any Ruby environment — Rails, Sinatra, or a plain Ruby script. For the webhook handler in Rails, define a route in routes.rb and a controller action that reads request.raw_post, verifies the HMAC-SHA256 signature, then processes the event. Skip CSRF verification for the webhook route.
Yes. The free Starter plan includes full REST API access, PKCS#7 sealing, OTP verification, and webhooks, with 5 envelopes per month — enough to build and test a complete Ruby integration.
Other stacks: Node.js · Python · PHP · Go · Language-agnostic guide