Skip to content
SignYu
TemplatesPricingAPIAboutBlogContact

Getting Started

  • Introduction
  • Authentication
  • Quickstart

API Reference

  • Documents

Webhooks

  • Webhooks

Reference

  • Errors

Getting Started

  • Introduction
  • Authentication
  • Quickstart

API Reference

  • Documents

Webhooks

  • Webhooks

Reference

  • Errors

Try the API

Run these endpoints in Postman with your own API key.

Download Postman collection

Documents

Full reference for the SignYu documents API - create, add signers, send, and retrieve documents.

Table of Contents

Create a documentRequest fieldsResponseAdd signersRequest bodyResponseSend for signatureResponseRetrieve a documentResponseList documentsQuery parametersResponse

A document represents a PDF and its signers. It moves through three states: PENDING (created, not yet sent), SENT (out for signature), and COMPLETED (all signers have signed).

Create a document

POST /api/v1/documents

Uploads a PDF and creates a document in PENDING state. Send the request as multipart/form-data.

Request fields

FieldTypeRequiredDescription
filefileYesThe PDF to be signed. Must be application/pdf and at most 10MB.
namestringNoA label for the document. Defaults to the file name.
curl -X POST https://signyu.com/api/v1/documents \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -F "file=@/path/to/agreement.pdf" \
  -F "name=Service Agreement"

Response

Returns 201 Created.

{
  "documentId": "b6b1f0e2-1c9a-4a1e-9b1a-2f3d4e5a6b7c",
  "name": "Service Agreement",
  "status": "PENDING"
}

Add signers

POST /api/v1/documents/{documentId}/signers

Adds one or more signers. Only allowed while the document is PENDING. Signers sign in the order they are added, and a document can have at most 6 signers.

Request body

FieldTypeRequiredDescription
signersarrayYesA non-empty array of signer objects.
signers[].namestringYesThe signer's full name.
signers[].phonestringYesDigits only, at least 10 characters.
signers[].emailstringYesA valid email address. The signing link is emailed here.
curl -X POST https://signyu.com/api/v1/documents/{documentId}/signers \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "signers": [{ "name": "Asha Rao", "phone": "9876543210", "email": "asha@example.com" }] }'

Response

Returns 201 Created with the created signers and their assigned signing order.

{
  "signers": [
    { "signerId": "s_1", "name": "Asha Rao", "email": "asha@example.com", "signingOrder": 1 }
  ]
}

Send for signature

POST /api/v1/documents/{documentId}/send

Deducts one credit per signer, marks the document SENT, emails a signing link to each signer, and returns those links. Requires at least one signer. The request has no body.

curl -X POST https://signyu.com/api/v1/documents/{documentId}/send \
  -H "Authorization: Bearer sk_live_your_api_key"

Response

{
  "documentId": "b6b1f0e2-1c9a-4a1e-9b1a-2f3d4e5a6b7c",
  "status": "SENT",
  "creditsRemaining": 48,
  "signers": [
    {
      "signerId": "s_1",
      "name": "Asha Rao",
      "email": "asha@example.com",
      "signingOrder": 1,
      "signUrl": "https://signyu.com/sign?did=b6b1f0e2-1c9a-4a1e-9b1a-2f3d4e5a6b7c&sid=s_1"
    }
  ]
}

If you do not have enough credits, the request returns 402 insufficient_credits and nothing is sent.

Retrieve a document

GET /api/v1/documents/{documentId}

Returns the document, each signer's progress, and a downloadUrl for the signed PDF once the document is COMPLETED. The download URL is a temporary, presigned link. Each signer's signUrl is null until the document is sent, and is populated once the status is SENT.

curl https://signyu.com/api/v1/documents/{documentId} \
  -H "Authorization: Bearer sk_live_your_api_key"

Response

{
  "documentId": "b6b1f0e2-1c9a-4a1e-9b1a-2f3d4e5a6b7c",
  "name": "Service Agreement",
  "status": "COMPLETED",
  "createdAt": "2026-07-17T06:30:00.000Z",
  "updatedAt": "2026-07-17T07:15:00.000Z",
  "downloadUrl": "https://s3.ap-south-1.amazonaws.com/...",
  "signers": [
    {
      "signerId": "s_1",
      "name": "Asha Rao",
      "email": "asha@example.com",
      "phone": "9876543210",
      "signingOrder": 1,
      "openedAt": "2026-07-17T07:00:00.000Z",
      "signedAt": "2026-07-17T07:05:00.000Z",
      "hasSigned": true,
      "signUrl": "https://signyu.com/sign?did=b6b1f0e2-1c9a-4a1e-9b1a-2f3d4e5a6b7c&sid=s_1"
    }
  ]
}

List documents

GET /api/v1/documents

Returns your documents, most recent first, with a summary of signer progress.

Query parameters

ParameterTypeDefaultDescription
limitnumber20Number of documents to return (1 to 100).
offsetnumber0Number of documents to skip.
curl "https://signyu.com/api/v1/documents?limit=20&offset=0" \
  -H "Authorization: Bearer sk_live_your_api_key"

Response

{
  "documents": [
    {
      "documentId": "b6b1f0e2-1c9a-4a1e-9b1a-2f3d4e5a6b7c",
      "name": "Service Agreement",
      "status": "SENT",
      "createdAt": "2026-07-17T06:30:00.000Z",
      "signers": { "total": 2, "signed": 1 }
    }
  ],
  "limit": 20,
  "offset": 0
}
PreviousQuickstartNextWebhooks

Table of Contents

Create a documentRequest fieldsResponseAdd signersRequest bodyResponseSend for signatureResponseRetrieve a documentResponseList documentsQuery parametersResponse
SignYu

Pay-per-use Aadhaar eSign for Indian businesses, landlords, and individuals. Sign PDFs in 2 minutes at ₹15 per signature.

LinkedIn →

Product

  • Aadhaar eSign
  • Pricing
  • Templates
  • Rent Agreement eSign
  • Verify Signature
  • eSign Quiz
  • API
  • API Docs

Company

  • About
  • eSign Guide
  • Blog
  • Press
  • FAQ
  • Contact
Powered by eMudhra (CCA-licensed ESP)·IT Act 2000 Compliant·Aadhaar OTP Authenticated·Made in India 🇮🇳

© 2026 BN Habitat Pvt Ltd·CIN: U45400CH2010PTC043443·GST: 03AAECB5185C1Z3

Regd. Office: H.NO. 3355, 2nd Floor, Sector 37-D, Chandigarh, Chandigarh - 160036

Op. Office: Office 34, 13th Floor, Sushma Infinium, Chandigarh Ambala Expressway, Zirakpur, Punjab - 140603

TermsPrivacyRefundCookie