Skip to main content
POST
/
packages
/
update
Update
curl --request POST \
  --url https://sandbox.syngrafii.com/api/v1/packages/update \
  --header 'Content-Type: application/json' \
  --header 'api_key: <api-key>' \
  --data '
{
  "packageId": "<string>"
}
'
{
  "packageId": "<string>",
  "package": {
    "packageId": "<string>",
    "organizationId": "<string>",
    "memberId": "<string>",
    "teamId": "<string>",
    "folderId": "<string>",
    "shared": true,
    "meetingId": "<string>",
    "templateId": "<string>",
    "formId": "<string>",
    "keyId": "<string>",
    "name": "<string>",
    "category": "<string>",
    "clientNumber": "<string>",
    "matterNumber": "<string>",
    "description": "<string>",
    "message": "<string>",
    "rescindMessage": "<string>",
    "reminderMessage": "<string>",
    "timeCreated": "<string>",
    "timeReminder": "<string>",
    "timeRetention": "<string>",
    "timeRescinded": "<string>",
    "timeDeleted": "<string>",
    "timeSignBy": "<string>",
    "timeLastModified": "<string>",
    "options": {},
    "hasSecurityPassphrase": true,
    "locale": "<string>",
    "timeZone": "<string>",
    "format": {
      "locale": "<string>"
    },
    "revisionsSigned": 123,
    "revisionsCount": 123,
    "restrictedType": "<string>",
    "api": true,
    "type": "<string>",
    "state": "<string>",
    "externalData": {},
    "version": "<string>",
    "meeting": {
      "meetingId": "<string>",
      "organizationId": "<string>",
      "packageId": "<string>",
      "timeStart": "<string>",
      "duration": "<string>",
      "isPrivate": true,
      "type": "<string>",
      "state": "<string>"
    },
    "documents": [
      {
        "documentId": "<string>",
        "packageId": "<string>",
        "fileId": "<string>",
        "autoTemplateId": "<string>",
        "autoTemplateDocumentId": "<string>",
        "externalId": "<string>",
        "index": 123,
        "name": "<string>",
        "fileName": "<string>",
        "fileType": "<string>",
        "fileSize": 123,
        "numberPages": 123,
        "timeUploaded": "<string>",
        "timeLastModified": "<string>",
        "revisionsSigned": 123,
        "revisionsCount": 123,
        "description": "<string>",
        "cac": true,
        "cacPages": 123,
        "state": "<string>",
        "revisions": [
          {
            "documentId": "<string>",
            "revisionId": "<string>",
            "revisionNumber": 123,
            "revisionBeforeId": "<string>",
            "timeLastOpened": "<string>",
            "signerId": "<string>",
            "isSigned": true,
            "timeSigned": "<string>",
            "address": "<string>",
            "latitude": "<string>",
            "longitude": "<string>",
            "state": "<string>"
          }
        ],
        "signers": [
          {
            "signerId": "<string>",
            "signerKey": "<string>",
            "name": "<string>",
            "initials": "<string>",
            "email": "<string>",
            "mobileNumber": "<string>",
            "hasSigned": true,
            "isNext": true,
            "templateRole": "<string>"
          }
        ]
      }
    ],
    "signers": [
      {
        "signerId": "<string>",
        "packageId": "<string>",
        "memberId": "<string>",
        "signerTag": "<string>",
        "timeCreated": "<string>",
        "timeDeclined": "<string>",
        "timeUpdated": "<string>",
        "index": 123,
        "locale": "<string>",
        "signCac": true,
        "verify": true,
        "firstName": "<string>",
        "lastName": "<string>",
        "email": "<string>",
        "mobileNumberCountryCode": "<string>",
        "mobileNumberOriginal": "<string>",
        "mobileNumber": "<string>",
        "declineMessage": "<string>",
        "declineReason": "<string>",
        "next": true,
        "revisionsSigned": 123,
        "revisionsCount": 123,
        "role": "<string>",
        "type": "<string>",
        "state": "<string>",
        "verification": {
          "verificationId": "<string>",
          "signerId": "<string>",
          "canSign": true,
          "canJoin": true,
          "canRetry": true,
          "hasSigned": true,
          "isLocked": true,
          "attempts": 123,
          "errors": 123,
          "continue": true,
          "continueOnError": true,
          "error": "<string>",
          "state": "<string>"
        }
      }
    ],
    "recipients": [
      {
        "recipientId": "<string>",
        "packageId": "<string>",
        "timeCreated": "<string>",
        "timeUpdated": "<string>",
        "firstName": "<string>",
        "lastName": "<string>",
        "email": "<string>",
        "mobileNumberCountryCode": "<string>",
        "mobileNumberOriginal": "<string>",
        "mobileNumber": "<string>",
        "locale": "<string>",
        "type": "<string>",
        "state": "<string>"
      }
    ],
    "verifications": [
      {
        "verificationId": "<string>",
        "signerId": "<string>",
        "canSign": true,
        "canJoin": true,
        "canRetry": true,
        "hasSigned": true,
        "isLocked": true,
        "attempts": 123,
        "errors": 123,
        "continue": true,
        "continueOnError": true,
        "error": "<string>",
        "state": "<string>"
      }
    ]
  },
  "contacts": [
    {}
  ]
}
Package updates can be broken up into the following categories:
  • Modifying Package Properties (Name, Meeting, Sign by Date, …)
  • Modifying Signers (Add, Update, and Delete)
  • Modifying Documents (Add, Update, and Delete)
  • Moving Packages (Move to Member or Team folder)

Document regeneration & renotification

Depending on the changes made during a package update, a document may be regenerated, and update notifications may be sent to signers.
  • Updating a document that has already been signed or partially signed will result in regenerating the document and requiring the document to be re-signed. A notification will also be sent out to the affected signer(s), notifying them that the package has been updated and to re-sign the documents.
  • Updating a signer’s email address will result in sending a new notification to the signer’s new email address.
  • Updating a signer’s email address will result in all previous signer links being invalidated.
  • Updating a signer’s mobile number will result in all previous mobile signer links being invalidated.

Request

Adding

Request
POST /packages/update
{
  "packageId": "cf91071d-966d-41ea-b9bf-aa96a8e56c02",
  "addSigners": [
    {
      "firstName": "Add",
      "lastName": "Signer",
      "email": "add.signer@example.com",
      "mobileNumber": "+1 555-555-5555",
      "role": "signer",
      "signCac": true
    }
  ],
  "returnPackage": false
}

Updating

Request
POST /packages/update
{
  "packageId": "cf91071d-966d-41ea-b9bf-aa96a8e56c02",
  "name": "Updated Package Name",
  "returnPackage": false
}
Set returnPackage to false if you do not need the updated package included in the response. If you set generateSignerLinks to true, the updated package will always be returned.

Moving

You can move a package to a member or team folder by specifying the folderId along with the memberId or teamId. If you want to move the package to the root of the member or team, set the folderId to null.
You must have the necessary permissions to move packages to the specified member or team folder.
Request
POST /packages/update
{
  "packageId": "dce4e52d-3965-4260-b86d-2b62f6bdf78d",
  "move": {
    "memberId": "e4f0bce5-30fc-43c4-b9ee-364ff5b04dea",
    "teamId": null,
    "folderId": null
  },
  "returnPackage": false
}

Deleting

Request
POST /packages/update
{
  "packageId": "cf91071d-966d-41ea-b9bf-aa96a8e56c02",
  "deleteSigners": [
    {
      "signerId": "fc4df1cb-5c42-4dc1-b8ff-55679947fcf4"
    }
  ],
  "returnPackage": false
}

Body

packageId
string
required
Unique identifier of the package to update
name
string
Name of the package.
category
string
Category of the package.
description
string
Description of the package.
message
string
Message to be shared to all signers.
timeSignBy
string
Date by which the document should be signed. After this date, the package will expire and can no longer be signed unless extended.
securityPassphrase
string
Security passphrase for the package.
options
object
Additional options for the package.
state
string
There are limitations on how you can transition between package states using this endpoint:
If the current package state is select or add, the package will be automatically transitioned to the draft state when updated.To prevent this automatic transition, set the state to select or add explicitly to maintain the current state.
If the current package state is draft, you can transition back to add by setting the state to add.This is useful when using the embedded package editor and you want to maintain the add state.
If the package is in a select, add, or draft state, you can send the package to transition to the open state.
If the package is in an open state, you can rescind or delete the package.
meeting
object
Details about the meeting associated with the package.
move
object
Move a package to another member, team, or folder.
You can easily copy teamId and folderId from Teams and Folders management pages within the iinked Sign portal.
memberId
string
The member ID to move a package to.
teamId
string
The team ID to move a package to.
folderId
string
The folder ID to move a package to.
addDocuments
object[]
Documents to add to the package.
Must provide one of fileBase64, fileUrl, or fileId.
updateDocuments
object[]
Documents to update in the package.
deleteDocuments
object[]
Documents to delete from the package.
addSigners
object[]
Signers to add to the package.
updateSigners
object[]
Signers to update in the package.
deleteSigners
object[]
Signers to delete from the package.
addRecipients
object[]
Recipients to add to the package.
updateRecipients
object[]
Recipients to update in the package.
deleteRecipients
object[]
Recipients to delete from the package.
addSignersToContacts
boolean
default:false
Add new signers and update existing signers in user’s contacts.
Set to true to return links you can use to integrate document signing workflows. If you set generateSignerLinks to true during packages/add, packages/update will automatically generate new signer links unless you explicitly set generateSignerLinks to false.
returnPackage
boolean
default:false
Return updated package with response.

Response

packageId
string
Unique identifier for the package.
package
object
Full package object, returned when returnPackage is set to true on the request.
contacts
object[]
List of contacts created during package updates, returned when addSignersToContacts is set to true on the request.