Skip to main content

Get Transaction by ID

This guide walks you through retrieving the details of a specific eSignature transaction using the eSign360 API.

When to Use​

Retrieving a transaction by ID is useful when you need to:

  • Check the current status of a transaction (e.g., draft, esign_pending, completed, canceled)
  • View participant details and signing progress
  • Get document metadata associated with the transaction
  • Verify transaction details before performing updates

Requirements​

  1. You need to have Node.js installed on your system.
  2. You'll also need the axios library. You can install it using the following command:
npm install axios
  1. A valid Bearer token (JWT) for authentication.
  2. The transaction ID of the eSignature transaction you want to retrieve.

Endpoint​

GET /transactions/{id}

ParameterTypeRequiredDescription
idstring (UUID)YesThe unique identifier of the eSignature transaction.

Code Snippet​

Use the following code snippet to retrieve a transaction by its ID. Replace <transactionId> with the actual transaction ID, and <accessToken> with your API access token.

const axios = require("axios");

const transactionId = "<transactionId>";

const config = {
method: "get",
url: `https://public-api.esign360.io/transactions/${transactionId}`,
headers: {
Authorization: "Bearer <accessToken>",
},
};

axios(config)
.then(function (response) {
console.log("Transaction retrieved successfully:", response.data);
})
.catch(function (error) {
console.log(error.response?.data || error.message);
});

Successful Response​

On success, the API returns the full transaction object including documents, participants, and status:

{
"id": "391866a6-8ebb-4533-b6ab-c7bb4d6fbd38",
"status": "esign_pending",
"documents": [
{
"id": "8d976a23-b865-4fcd-9165-ddc0aedaf614",
"title": "Purchase Agreement",
"sessionType": "esign"
}
],
"participants": [
{
"id": "37da192e-6420-4b9c-9951-a979eeaf8889",
"email": "client@example.com",
"firstName": "John",
"lastName": "Doe"
}
]
}

Error Responses​

StatusReason
401 UnauthorizedInvalid or expired Bearer token
404 Not FoundNo transaction found with the provided ID

Steps to Execute the Code Snippet​

  1. Create a new file named get_transaction.js.
  2. Copy and paste the code snippet provided above into the new file.
  3. Replace <transactionId> and <accessToken> with the appropriate values.
  4. Save the file and open a terminal or command prompt.
  5. Navigate to the folder where you saved the get_transaction.js file.
  6. Run the following command to execute the script:
node get_transaction.js

If the request is successful, you'll see the transaction details displayed in the console. In case of an error, the error details will be displayed instead.

New response fields​

The GET response now includes the following fields. All are optional except replyToOverriddenByBrand, which is always present.

FieldTypeDescription
showConfettibooleanWhether a confetti animation plays for the signer after signing completes.
useReplyTobooleanOrder-level setting: whether outgoing eSign emails include a Reply-To header. May be overridden by the brand — see below.
replyToEmailstring | nullOrder-level Reply-To address stored on the eSign. May be overridden by the brand — see effectiveReplyTo.
replyToNamestring | nullOrder-level Reply-To display name stored on the eSign. Echoed back as stored; ignored in outgoing emails when replyToOverriddenByBrand is true. There is no effectiveReplyToName — use replyToOverriddenByBrand to know whether the name applies.
replyToOverriddenByBrandbooleantrue when this transaction has a brandId whose brand has emailConfigEnabled and a resolved sender email — in which case the brand's Reply-To wins over the order-level Reply-To.
effectiveReplyTostring | nullThe Reply-To address that will actually be applied to outgoing emails, after the precedence: brand Reply-To > order-level Reply-To > null. null when useReplyTo is false and no brand override is active.
assignedGroupIdUUID | nullThe team/group this transaction is assigned to, if any. Use GET /teams to discover IDs.
allowSignerNameEditbooleanWhether signers may edit their own name during the signing process.
fileReferencestring | nullInitiator-supplied tracking identifier stored on the Transaction record.

Reply-To precedence​

The same precedence applied by the email service when sending eSign emails is reflected in the response so you can show the user what will actually be used:

ScenarioreplyToOverriddenByBrandeffectiveReplyTo
No brand, useReplyTo=true, replyToEmail setfalsereplyToEmail value
Brand with emailConfigEnabled + resolved sender emailtrueBrand's sender email
Brand with emailConfigEnabled + resolved sender email AND useReplyTo=truetrueBrand's sender email (brand wins)
Brand WITHOUT emailConfigEnabled, useReplyTo=truefalsereplyToEmail value
No brand, useReplyTo=falsefalsenull

The order-level useReplyTo / replyToEmail values are still stored on the eSign record and returned by this endpoint, but they will NOT be applied to outgoing emails when the brand Reply-To is active. Always trust effectiveReplyTo for the actual outgoing behavior.

View-only participant fields​

When a transaction includes a view-only recipient, that participant exposes the following additional fields in the participants array:

FieldTypeDescription
rolestring"view-only" for view-only recipients (vs. "signer" / "non-signer" / a custom template role).
viewStatusstring"pending" until the recipient first opens the documents, then "viewed".
viewedAtstring (ISO 8601) | nullTimestamp of the recipient's first view, or null if not yet viewed.

viewStatus and viewedAt are present only on view-only participants. See View-Only Recipients for the full request/response examples.

Additional Resources​

For more information about the eSignature API, visit the API reference.

If you need further assistance or have questions, feel free to reach out to our support team.