Skip to main content

Activity Log

Overview

The Activity Log records every meaningful event in a signing process — when it was created, when signees were added, when invitations and reminders were sent, delivery receipts, signatures, and completion.

Taktikal's API returns a ProcessKey when a signing process is created. You can use the Activity Log to check the status of that process, audit who did what, and report on signing activity across your whole company.

When all signees have signed, a web-hook request is sent containing the signed document. See Webhooks.

Environments & Base URLs

The examples below use {baseUrl} as a placeholder for the API base URL of your environment:

Use the correct API credentials (companyKey and apiKey) for each environment. See the Introduction page for all available paths.

Querying the Activity Log

There is a single, company-wide endpoint for reading the Activity Log:

GET {baseUrl}/signing/activity

The endpoint is scoped to the company that owns the API credentials, so a single request returns activity across all of that company's signing processes within the requested date range. Use the optional filters below to narrow the result down to a single process, a single user, a flow type, or a free-text search — there is no longer a separate endpoint per process or per user.

Authentication

This endpoint requires basic authentication. Include your API credentials in the request header:

Authorization: Basic base64(companyKey:ApiKey)

Where base64(companyKey:ApiKey) is the Base64 encoding of your companyKey and ApiKey separated by a colon.

Query Parameters

ParameterTypeRequiredDescription
StartDatedatetimeYesStart of the date range to search. Must be earlier than EndDate.
EndDatedatetimeYesEnd of the date range to search. Must be later than StartDate.
TakeintNoPage size — return at most N results. Defaults to 10,000.
SkipintNoPage offset — skip the first N results. Defaults to 0.
UserstringNoFilter to activity for a single user (the email of the user that started the process).
ProcessKeystringNoFilter to a single signing process.
FlowTypeenumNoFilter to a specific flow type.
FlowKeystringNoFilter to a specific flow key.
SearchstringNoFree-text search across process key, signee name / email / phone / SSN, and file name.
StatusFilterenumNoFilter by signing process status: All (default), Completed, Active, or InActive.

Paging

For large date ranges, page through the results with Take and Skip. To build a pager you need the total number of matching records, which is available from a companion endpoint that accepts the same filters:

GET {baseUrl}/signing/activity/total

It returns the total count so you can calculate the number of pages:

{
"total": 1342
}

Examples

# Set the base URL for your environment (see "Environments & Base URLs" above)
BASE_URL="https://core.taktikal.com/api"

curl -G "$BASE_URL/signing/activity" \
-H "Authorization: Basic $(echo -n 'your_companyKey:your_ApiKey' | base64)" \
--data-urlencode "StartDate=2024-01-01" \
--data-urlencode "EndDate=2024-01-31" \
--data-urlencode "Take=100" \
--data-urlencode "Skip=0"

Response

The endpoint returns an array of signing processes. Each entry wraps the process, its ordered list of activity entries, its signees, and any attachments.

Example response for a SigningProcess with one signee that has signed:

[
{
"processKey": "sp231f52f87d6f4caaa2e29ecac92d055b",
"status": "Completed",
"activityDisplayName": "demo_doc-drop-and-sign-small.pdf",
"fileName": "demo_doc-drop-and-sign-small.pdf",
"activityLog": [
{
"id": 1,
"flowKey": "3fc7848d338a",
"processKey": "sp231f52f87d6f4caaa2e29ecac92d055b",
"status": "Created",
"description": "Signing process created. ProcessKey: sp231f52f87d6f4caaa2e29ecac92d055b.",
"fileName": "demo_doc-drop-and-sign-small.pdf",
"createdAt": "2019-11-08T11:03:49.0700000Z",
"createdBy": "test@example.com"
},
{
"id": 2,
"flowKey": "3fc7848d338a",
"processKey": "sp231f52f87d6f4caaa2e29ecac92d055b",
"signeeKey": "si7abef56540bd49f9a9b8a33969a9cf8c",
"status": "SigneeAdded",
"description": "Signee added. Processkey: sp231f52f87d6f4caaa2e29ecac92d055b. Signee key: si7abef56540bd49f9a9b8a33969a9cf8c.",
"createdAt": "2019-11-08T11:03:49.1200000Z",
"createdBy": "Taktikal.Core"
},
{
"id": 3,
"flowKey": "3fc7848d338a",
"processKey": "sp231f52f87d6f4caaa2e29ecac92d055b",
"signeeKey": "si7abef56540bd49f9a9b8a33969a9cf8c",
"status": "SignupSent",
"description": "Signup sent. Processkey: sp231f52f87d6f4caaa2e29ecac92d055b. Signee: si7abef56540bd49f9a9b8a33969a9cf8c. Delivery method : Sms ",
"createdAt": "2019-11-08T11:03:49.4070000Z",
"createdBy": "Taktikal.Core"
},
{
"id": 4,
"flowKey": "3fc7848d338a",
"processKey": "sp231f52f87d6f4caaa2e29ecac92d055b",
"status": "Started",
"description": "Signing process started. ProcessKey: sp231f52f87d6f4caaa2e29ecac92d055b.",
"fileName": "demo_doc-drop-and-sign-small.pdf",
"createdAt": "2019-11-08T11:03:49.4230000Z",
"createdBy": "test@example.com"
},
{
"id": 5,
"flowKey": "3fc7848d338a",
"processKey": "sp231f52f87d6f4caaa2e29ecac92d055b",
"signeeKey": "si7abef56540bd49f9a9b8a33969a9cf8c",
"status": "SMS:DELIVERED",
"description": "SMS delivery status: DELIVERED.",
"createdAt": "2019-11-08T11:04:04.7030000Z",
"createdBy": "Taktikal.Core"
},
{
"id": 6,
"flowKey": "3fc7848d338a",
"processKey": "sp231f52f87d6f4caaa2e29ecac92d055b",
"signeeKey": "si7abef56540bd49f9a9b8a33969a9cf8c",
"status": "SigneeSigned",
"description": "Signee signed. ProcessKey: sp231f52f87d6f4caaa2e29ecac92d055b. Signee key: si7abef56540bd49f9a9b8a33969a9cf8c",
"userAgent": "Mozilla/5.0",
"createdAt": "2019-11-08T11:06:01.5600000Z",
"createdBy": "Taktikal.Core"
},
{
"id": 7,
"flowKey": "3fc7848d338a",
"processKey": "sp231f52f87d6f4caaa2e29ecac92d055b",
"signeeKey": "si7abef56540bd49f9a9b8a33969a9cf8c",
"status": "Completed",
"description": "Signing completed. ProcessKey: sp231f52f87d6f4caaa2e29ecac92d055b.",
"createdAt": "2019-11-08T11:06:01.6070000Z",
"createdBy": "Taktikal.Core"
},
{
"id": 8,
"flowKey": "3fc7848d338a",
"processKey": "sp231f52f87d6f4caaa2e29ecac92d055b",
"signeeKey": "si7abef56540bd49f9a9b8a33969a9cf8c",
"status": "Confirmation:delivered",
"description": "Mailgun webhook. Event: delivered. To:testUser@example.com. Sender:postmaster@mailgun.taktikal.is. Id:2NwQ3QahRtWZgK37JQ-I8Q. Severity: . Reason:",
"createdAt": "2019-11-08T11:06:04.9930000Z",
"createdBy": "Mailgun"
}
],
"signees": [
{
"processKey": "sp231f52f87d6f4caaa2e29ecac92d055b",
"signeeKey": "si7abef56540bd49f9a9b8a33969a9cf8c",
"ssn": "123456-7890",
"name": "Signee Number One",
"address": "Address 5",
"postalCode": "555",
"city": "Gotham City",
"phone": "1234567",
"email": "signeeOne@example.com",
"signatureType": "Qualified",
"hasReminders": false,
"createdAt": "2019-11-08T11:03:49.1000000Z",
"createdBy": "Taktikal.Core",
"updatedAt": "2019-11-08T11:03:49.1000000Z"
}
],
"sequenceSignees": [],
"attachmentReferences": []
}
]

Response Fields

Each item in the response array has the following shape.

Signing process (wrapper)

FieldTypeDescription
processKeystringThe signing process identifier.
statusstringCurrent status of the signing process.
activityDisplayNamestringDisplay name for the process (typically the document name).
fileNamestringThe document file name.
activityLogarrayOrdered list of activity entries (see below).
signeesarrayThe signees on the process (see below).
sequenceSigneesarraySequence information, populated only for sequential signing flows.
attachmentReferencesarrayReferences to any attachments associated with the process.

Activity entry (activityLog[])

FieldTypeDescription
idintUnique identifier of the activity entry.
flowKeystringUnique identifier for the flow.
processKeystringThe process this activity belongs to.
signeeKeystring(Optional) The signee involved in this activity.
statusstringStatus of the entry (see example statuses below).
descriptionstringHuman-readable description of the activity.
userAgentstring(Optional) The user agent recorded for the action, when available.
fileNamestring(Optional) Document file name.
createdAtISO8601Timestamp of the activity.
createdBystringEmail address or system name that created the entry.
requiresAuthbool(Optional) Whether the step required authentication.
signInOrderbool(Optional) Whether the process is signed in order.
signatureLocationstring(Optional) Location of the signature.
sequenceKeystring(Optional) The sequence this entry belongs to, for sequential signing.

Signee (signees[])

FieldTypeDescription
processKeystringThe process the signee belongs to.
signeeKeystringThe signee identifier.
ssnstringSocial security number.
namestringSignee name.
addressstringStreet address.
postalCodestringPostal code.
citystringCity.
phonestringPhone number.
emailstringEmail address.
signatureTypestring(Optional) The electronic signature type used: Qualified, Simple, ClickToSign, AdvancedVeriff, or BankIdSe.
hasRemindersboolWhether reminders have been scheduled for the signee.
createdAtISO8601When the signee was created.
createdBystringEmail address or system name that created the signee.
updatedAtISO8601When the signee was last updated.

Example Statuses

The status field on an activity entry describes what happened. Common values include:

  • Created — Signing process created
  • SigneeAdded — Signee added to the process
  • SignupSent — Signup / invitation sent (delivery method noted in the description)
  • Started — Signing process started
  • SMS:DELIVERED — SMS delivery status
  • SigneeSigned — Signee completed signing
  • Completed — Signing process completed
  • Confirmation:delivered — Confirmation email delivered (via Mailgun webhook)
  • SalesPerson:delivered — Salesperson notification delivered (via Mailgun webhook)