How to guide - Create your first Signature Request
You can create your first SR in three steps only.
Here is a step-by-step guide to create your first Signature Request.
- Initiate your Signature Request
- Add a Document
- Add a Signer
- Add a signature Field
- Activate the Signature Request
- Sign the document
- Retrieve the Signature Request status
➡️ Before getting started, make sure you have correctly setup your account. Follow this guide for more details.
➡️ To make your first steps using our API, you can use our Postman collection. Follow this guide for more details.
Step 1: Create the Signature Request
- Endpoint: Initiate a new Signature Request (
POST /signature_requests
) - Content type: application/json
The delivery_mode
is set to email
, this means we will let Yousign deliver the Signature Request to the Signer by email. Learn more about deliver modes here.
{
"name": "My Signature Request",
"delivery_mode": "email"
}
{
"id": "6f7001fc...",
"source": "public_api",
"status": "draft",
"name": "My Signature Request",
"created_at": "2025-01-10T16:59:20+00:00",
"email_custom_note": null,
"ordered_signers": false,
"timezone": "Europe/Paris",
"reminder_settings": null,
"expiration_date": "2025-07-10T21:59:59+00:00",
"delivery_mode": "email",
"documents": [],
"signers": [],
"external_id": null,
"branding_id": null,
"custom_experience_id": null,
"sender": null,
"workspace_id": "8d49eedc...",
"audit_trail_locale": "en",
"signers_allowed_to_decline": false,
"bulk_send_batch_id": null,
"email_notification": {
"sender": {
"type": "organization",
"custom_name": null
},
"custom_note": null
}
}
Step 2: Add a Document to the Signature Request
- Endpoint: Upload Document to a Signature Request (
POST /signature_requests/{signatureRequestId}/documents
) - Content type: multipart/form-data
The nature
is set to signable_document
, this means the document will be signed by a Signer (the other nature is attachment
).
--form 'file=@"/path/to/the/document/my_document.pdf"' \
--form 'nature="signable_document"'
{
"id": "c7afe88f...",
"filename": "my_document.pdf",
"nature": "signable_document",
"content_type": "application/pdf",
"sha256": "9c75416c8160...",
"is_protected": false,
"is_signed": false,
"created_at": "2025-01-10T17:01:10+00:00",
"total_pages": 3,
"is_locked": false,
"initials": null,
"total_anchors": 0
}
Step 3: Add a Signer to the Signature Request
- Endpoint: Create a new Signer (
POST /signature_requests/{signatureRequestId}/signers
) - Content type: application/json
The signature_level
is set to electronic_signature
, this means the document will be signed with the Simple Electronic Signature (SES) level. This is the simplest and fastest form of use for documents that do not require a formal identity verification process. Learn more about signature levels here.
The signature_authentication_mode
is set to no_otp
, this means the Signer will not be required to enter a one-time passowrd (OTP) to authenticate themselves before signing. Learn more about authentication modes here.
{
"info": {
"first_name": "Kelly",
"last_name": "Smith",
"email": "[email protected]",
"locale": "en"
},
"signature_level": "electronic_signature",
"signature_authentication_mode": "no_otp"
}
{
"id": "a3e3bf85...",
"info": {
"first_name": "Kelly",
"last_name": "Smith",
"email": "[email protected]",
"phone_number": null,
"locale": "en"
},
"status": "initiated",
"signature_link": null,
"signature_link_expiration_date": null,
"signature_image_preview": "https://api.yousign.tech/signature_requests/49176816...",
"fields": null,
"signature_level": "electronic_signature",
"signature_authentication_mode": "no_otp",
"redirect_urls": {
"success": null,
"error": null,
"decline": null
},
"custom_text": {
"request_subject": null,
"request_body": null,
"reminder_subject": null,
"reminder_body": null
},
"delivery_mode": null,
"identification_attestation_id": null,
"sms_notification": {
"otp_message": {
"custom_text": null
}
},
"email_notification": {
"disabled": []
}
}
Step 4: Add a signature Field
- Endpoint: Create a new Field on a Document (
POST /signature_requests/{signatureRequestId}/documents/{documentId}/fields
) - Content type: application/json
The Field type
is set to signature
, this means this field will contain the Signers’ signature image (the other types are mention
, text
, checkbox
, etc.).
Don’t forget to replace the {signerId}
variable with the actual Signer ID.
The page
parameter determines the Document page on which the Field will appear.
The x
and y
parameters are the coordinates of the Field on the page.
You can use our PlaceIt tool to help you find the coordinates.
{
"type": "signature",
"signer_id": "{signerId}",
"page": 1,
"x": 200,
"y": 400
}
{
"id": "48728d65...",
"document_id": "c7afe88f...",
"type": "signature",
"page": 1,
"x": 200,
"y": 400,
"signer_id": "a3e3bf85...",
"width": 85,
"height": 37,
"reason": null
}
Step 5: Activate the Signature Request
Endpoint: Activate a Signature Request (POST /signature_requests/{signatureRequestId}/activate
)
// no request body required
{
"id": "49176816-00d1-44e2-93dd-25306663bd40",
"status": "ongoing",
"name": "My Signature Request",
"created_at": "2025-01-10T17:22:38+00:00",
"email_custom_note": null,
"ordered_signers": false,
"timezone": "Europe/Paris",
"reminder_settings": null,
"expiration_date": "2025-07-10T21:59:59+00:00",
"signers": [
{
"id": "a3e3bf85...",
"status": "initiated",
"delivery_mode": null,
"signature_link": "https://app.yousign.tech/signatures/49176816...",
"signature_link_expiration_date": "2025-01-12T17:24:13+00:00"
}
],
"approvers": [],
"labels": [],
"documents": [
{
"id": "c7afe88f...",
"nature": "signable_document"
}
],
"delivery_mode": "email",
"external_id": null,
"branding_id": null,
"custom_experience_id": null,
"sender": null,
"workspace_id": "8d49eedc...",
"audit_trail_locale": "en",
"signers_allowed_to_decline": false,
"email_notification": {
"sender": {
"type": "organization",
"custom_name": null
},
"custom_note": null
}
}
Congratulations! You have activated your first Signature Request🎉
The Signer will receive an email inviting them to sign the Document. The Signature Request’s status is now ongoing
.
Step 6: Retrieve the Signature Request status
Endpoint: Fetch a Signature Request (GET /signature_requests/{signatureRequestId}
)
Once the Signer has signed the document, the Signature Request’s status will change from ongoing
to done
.
// no request body required
{
"approvers": [],
"labels": [],
"decline_information": null,
"id": "6f7001fc...",
"source": "public_api",
"status": "done",
"name": "My Signature Request",
"created_at": "2025-01-10T17:22:38+00:00",
"email_custom_note": null,
"ordered_signers": false,
"timezone": "Europe/Paris",
"reminder_settings": null,
"expiration_date": "2025-07-10T21:59:59+00:00",
"delivery_mode": "email",
"documents": [
{
"id": "c7afe88f...",
"nature": "signable_document"
}
],
"signers": [
{
"id": "a3e3bf85...",
"status": "signed",
"delivery_mode": null
}
],
"external_id": null,
"branding_id": null,
"custom_experience_id": null,
"sender": null,
"workspace_id": "8d49eedc...",
"audit_trail_locale": "en",
"signers_allowed_to_decline": false,
"bulk_send_batch_id": null,
"email_notification": {
"sender": {
"type": "organization",
"custom_name": null
},
"custom_note": null
}
}
You can subscribe to webhooks to can get real-time notifications about the Signature Request’s status changes.
Use Templates to create Signature Requests even more rapidly
You can create Templates in the Yousign app, and use those Templates to create Signature Requests in no time. These Templates allow you to pre-configure all aspects of a Signature Request, such as the Document, Signers, Fields, and settings.
Learn more about Templates here.
Updated 2 days ago