Add legally binding e-signatures to a Go app in four steps using only the standard library: get a token, create an envelope with a multipart upload, send the signing link, and handle the completion webhook. Zero external dependencies.
Exchange your OAuth2 client credentials for a short-lived access token using Go's standard net/http package.
Upload the PDF and declare signers and fields with a multipart/form-data request using mime/multipart.
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, then fetch the sealed PDF from /v1/envelopes/{id}/document.
Use Go's standard library — net/http, mime/multipart, and encoding/json — to call the GetSigned REST API: POST client credentials to /oauth/token for a bearer token, create an envelope with a multipart form upload of your PDF plus JSON-encoded signers and fields, send it to generate signing links, then handle the envelope.completed webhook with an http.HandleFunc to fetch the sealed PDF. No external SDK or dependency is required.
No. GetSigned is a plain REST API. Go's standard library handles everything: net/http for requests, mime/multipart for file uploads, encoding/json for serialization. The full integration compiles with zero external dependencies.
Use mime/multipart.NewWriter, call CreateFormFile to create the file field, write the PDF bytes into it, then WriteField for the JSON-encoded signers and fields strings. Set the request Content-Type to w.FormDataContentType() and the body to the multipart buffer. This is the standard Go pattern for multipart/form-data uploads.
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 Go integration.
Other stacks: Node.js guide · Python guide · PHP guide · Language-agnostic guide