Toolkit V1 API

Complete Swagger-style HTML documentation generated from the supplied Toolkit V1 Postman collection. It documents every request entry, authentication, headers, Idempotency-Key, parameters, request bodies, and reusable schemas. Response contracts are only documented where the source supports them.

BASE URL   http://127.0.0.1:8000/api/v1

Authentication

All requests use Bearer authentication.

Authorization: Bearer <BEARER_TOKEN>

The template-details endpoint additionally uses X-API-KEY. The collection does not define scopes, token expiry, permissions, or the relationship between these credentials.

Headers

Header Required Observed on Description
Authorization Yes All requests Bearer authentication.
Content-Type Yes for JSON POST Signature request POSTs Use application/json.
Idempotency-Key Yes for POST examples Both POST variants Unique key for one logical create operation.
X-API-KEY Yes as observed Template details Additional API-key credential.

Idempotency-Key

Use a unique opaque key per logical create request. Reuse the same key only when retrying the same operation. Never reuse it for a different payload or operation.

Important: The Postman collection does not define retention period, duplicate-key status, payload mismatch behavior, replay behavior, or server-side idempotency semantics. These must be confirmed from the API implementation.

API Reference

GET/signature-requests/{signature_request_id}

Get Signature Request Status

No request body. The collection contains no saved response.

Base URLhttp://127.0.0.1:8000/api/v1AuthenticationBearer

Headers

Header Required Example Description
Authorization Yes Bearer <BEARER_TOKEN> Bearer authentication token.

Parameters

Name In Type Required Description
signature_request_id path string Yes Signature request identifier. Example: 923A7-23954-C1441-7AE31.

Request Body

No request body.

Response

200 Successful Response

Observed response for: GET /signature-requests/{signature_request_id}

Response Headers

No response headers were supplied with the response example. They should be added when available.

Response Body

application/json
{
  "success": true,
  "request_id": "f531aef6-61bc-400e-8c59-a7e4b87112a4",
  "timestamp": "2026-08-14T09:58:25+00:00",
  "data": {
    "package_guid": "923A7-23954-C1441-7AE31",
    "external_id": null,
    "metadata": null,
    "created_at": "2026-08-11 07:00:07",
    "overall_status": "Completed",
    "signers": [
      {
        "signer_name": "John Doe",
        "signer_email": "sandipshirawala@gmail.com",
        "signer_status": "Completed",
        "signing_link": null,
        "assigned_documents": [
          {
            "document_title": "waiver and release.pdf",
            "role": "TL",
            "status": "Completed"
          }
        ]
      },
      {
        "signer_name": "Jane Smith",
        "signer_email": "chimanpatel@yopmail.com",
        "signer_status": "Completed",
        "signing_link": null,
        "assigned_documents": [
          {
            "document_title": "waiver and release.pdf",
            "role": "PM",
            "status": "Completed"
          }
        ]
      }
    ],
    "files": {
      "certificate": "base64 blob pdf"
    }
  }
}

Response Object

Field Type Nullable Description
success boolean No Indicates whether the API operation was successful. Supplied value: true.
request_id string No Unique request/correlation identifier returned by the API.
timestamp string No Response timestamp. Supplied value uses ISO-8601 format with UTC offset.
data object No Signature request/package details.
data.package_guid string No Signature package identifier.
data.external_id string / null Yes External client/business identifier. The supplied response is null.
data.metadata object / null Yes Client metadata. The supplied response is null.
data.created_at string No Package creation timestamp. Supplied format: YYYY-MM-DD HH:mm:ss.
data.overall_status string No Overall signature package status. Supplied value: Completed.
data.signers array No List of signers associated with the package.
data.signers[].signer_name string No Signer display/name.
data.signers[].signer_email string No Signer email address.
data.signers[].signer_status string No Current signer status. Supplied value: Completed.
data.signers[].signing_link string / null Yes Signing URL when available. The supplied completed response contains null.
data.signers[].assigned_documents array No Documents assigned to the signer.
data.signers[].assigned_documents[].document_title string No Assigned document title.
data.signers[].assigned_documents[].role string No Signer/document role. Supplied values: TL and PM.
data.signers[].assigned_documents[].status string No Document signing status.
data.files object No Generated file content associated with the request.
data.files.certificate string No Certificate PDF represented as a Base64 blob in the supplied response.
Source note: The response supplied in this message is truncated after data.files.certificate. This documentation therefore does not invent any fields that were not supplied.
POST/signature-requests

Create Signature Request — Basic

No saved response is present in the collection.

Base URLhttp://127.0.0.1:8000/api/v1AuthenticationBearer

Headers

Header Required Example Description
Authorization Yes Bearer <BEARER_TOKEN> Bearer authentication token.
Idempotency-Key Yes <UNIQUE_KEY> Unique key for one logical create operation; reuse only for the same retry.
Content-Type Yes application/json JSON request body.

Parameters

No parameters defined.

Request Body

application/json
{
  "mode": "email",
  "message": "Please sign the official documents. right now",
  "templates": [
    {
      "template_id": "<template-uuid>",
      "signers": [
        {
          "name": "John Doe",
          "email": "<signer-email-1>"
        },
        {
          "name": "Jane Smith",
          "email": "<signer-email-2>"
        }
      ]
    }
  ]
}

Response

200 Successful Response

Observed response for: POST /signature-requests — Create Signature Request — Basic

Response Headers

No response headers were supplied with the response example. Add them when available.

Response Body

application/json
{
  "success": true,
  "request_id": "f32705d9-0aee-487b-802d-bc47c395d996",
  "timestamp": "2026-08-11T07:47:01+00:00",
  "data": {
    "package_id": 833,
    "message": "Signature request sent successfully.",
    "package_guid": "AD95C-C39D9-C5467-CBF1A",
    "external_id": null,
    "metadata": null,
    "webhook_registered": false
  }
}

Response Object

Field Type Nullable Description
success boolean No Indicates whether the signature request was created successfully. Supplied value: true.
request_id string No Unique API request/correlation identifier.
timestamp string No API response timestamp in ISO-8601 format with UTC offset.
data object No Information about the newly created signature package.
data.package_id integer No Internal numeric package identifier. Supplied value: 833.
data.message string No Human-readable result message.
data.package_guid string No Public/package GUID returned for the signature request.
data.external_id string / null Yes External client/business identifier. The supplied response is null.
data.metadata object / null Yes Metadata associated with the request. The supplied response is null.
data.webhook_registered boolean No Indicates whether a webhook was registered for the signature request. Supplied value: false.
Source note: The response above is documented exactly from the response supplied for this API. No additional response fields or behavior have been invented.
POST/signature-requests

Create Signature Request — Sequential Signing / Field Visibility / Metadata / Webhook

The collection demonstrates sequential_signing and field_visibility as Yes/No strings, but does not define the complete allowed-value set.

Base URLhttp://127.0.0.1:8000/api/v1AuthenticationBearer

Headers

Header Required Example Description
Authorization Yes Bearer <BEARER_TOKEN> Bearer authentication token.
Idempotency-Key Yes <UNIQUE_KEY> Unique key for one logical create operation; reuse only for the same retry.
Content-Type Yes application/json JSON request body.

Parameters

No parameters defined.

Request Body

application/json
{
  "mode": "email",
  "message": "Please sign the official documents. right now",
  "sequential_signing": "Yes",
  "field_visibility": "No",
  "external_id": "LN-54872-2026",
  "metadata": {
    "crm_id": "003AJ00000KxA",
    "order_number": "ORD-99281",
    "department": "Home Loans",
    "processed_by": "Sarah Jenkins",
    "client_tier": "Gold"
  },
  "templates": [
    {
      "template_id": "<template-uuid-1>",
      "signers": [
        {
          "name": "John Doe",
          "email": "<signer-email-1>"
        },
        {
          "name": "Jane Smith",
          "email": "<signer-email-2>"
        }
      ]
    },
    {
      "template_id": "<template-uuid-2>",
      "signers": [
        {
          "name": "John Doe",
          "email": "<signer-email-1>"
        }
      ]
    }
  ],
  "webhook": {
    "url": "https://<your-webhook-endpoint>",
    "events": [
      "*"
    ]
  }
}

Response

200 Successful Response

Observed response for: POST /signature-requests — Create Signature Request — Sequential Signing / Field Visibility / Metadata / Webhook

Response Headers

No response headers were supplied with the response example.

Response Body

application/json
{
  "success": true,
  "request_id": "f32705d9-0aee-487b-802d-bc47c395d996",
  "timestamp": "2026-08-11T07:47:01+00:00",
  "data": {
    "package_id": 833,
    "message": "Signature request sent successfully.",
    "package_guid": "AD95C-C39D9-C5467-CBF1A",
    "external_id": null,
    "metadata": null,
    "webhook_registered": false
  }
}

Response Object

Field Type Nullable Description
success boolean No Indicates whether the signature request was created successfully. Supplied value: true.
request_id string No Unique API request/correlation identifier.
timestamp string No API response timestamp in ISO-8601 format with UTC offset.
data object No Information about the created signature package.
data.package_id integer No Internal numeric package identifier. Supplied value: 833.
data.message string No Human-readable result message.
data.package_guid string No Public/package GUID returned for the signature request.
data.external_id string / null Yes External client/business identifier. The supplied response is null.
data.metadata object / null Yes Metadata associated with the request. The supplied response is null.
data.webhook_registered boolean No Indicates whether a webhook was registered. Supplied value: false.
Source note: This response is documented exactly from the response supplied for this API variant. The response structure is currently identical to the Basic Create response supplied earlier.
GET/templates

List Templates

No query parameters/body are defined. No saved response is present.

Base URLhttp://127.0.0.1:8000/api/v1AuthenticationBearer

Headers

Header Required Example Description
Authorization Yes Bearer <BEARER_TOKEN> Bearer authentication token.

Parameters

No parameters defined.

Request Body

No request body.

Response

200 Successful Response

Observed response for: GET /templates — List Templates

Response Headers

No response headers were supplied with the response example.

Response Body

application/json
{
  "success": true,
  "request_id": "a60beb83-0e05-43f8-a5df-f5f5ce8062e3",
  "timestamp": "2026-08-14T10:07:06+00:00",
  "data": [
    {
      "template_id": "34e885c0-2792-42a3-87c6-dc732aedd610",
      "template_title": "OF2211-24.pdf",
      "template_file": "1785920230_6a72fae622975.pdf",
      "template_created_date": "2026-08-05",
      "template_status": "Active",
      "category_id": "0",
      "company_id": 76,
      "template_no_of_pdf_pages": 14,
      "template_no_of_signers": 1,
      "template_last_updated": "2026-08-05",
      "is_delete": "No",
      "template_created_at": "2026-08-05 16:57:11",
      "template_updated_at": "2026-08-05 16:57:11",
      "template_type": "Fillable",
      "template_draft": "No"
    },
    {
      "template_id": "851f47dd-490a-4c0a-9f81-f1db233a23c3",
      "template_title": "rm_activity_liability_waiver.pdf",
      "template_file": "1785921138_6a72fe72ed949.pdf",
      "template_created_date": "2026-08-05",
      "template_status": "Active",
      "category_id": "2",
      "company_id": 76,
      "template_no_of_pdf_pages": 2,
      "template_no_of_signers": 1,
      "template_last_updated": "2026-08-05",
      "template_created_at": "2026-08-05 17:12:19",
      "template_updated_at": "2026-08-05 17:12:19",
      "template_type": "Fillable",
      "template_draft": "No"
    },
    {
      "template_id": "8dc4c975-24d3-4bdf-9a69-903c5458c979",
      "template_title": "OF2211-24.pdf",
      "template_file": "1786355513_6a799f39787b5.pdf",
      "template_created_date": "2026-08-10",
      "template_status": "Active",
      "category_id": "4",
      "company_id": 76,
      "template_no_of_pdf_pages": 14,
      "template_no_of_signers": 1,
      "template_last_updated": "2026-08-10",
      "template_created_at": "2026-08-10 17:52:05",
      "template_updated_at": "2026-08-10 17:52:05",
      "template_type": "Fillable",
      "template_draft": "No"
    },
    {
      "template_id": "aaa794f9-09f4-4f3d-aa44-90e9b47c6839",
      "template_title": "waiver and release.pdf",
      "template_file": "1786358398_6a79aa7e40024.pdf",
      "template_created_date": "2026-08-10",
      "template_status": "Active",
      "category_id": "0",
      "company_id": 76,
      "template_no_of_pdf_pages": 1,
      "template_no_of_signers": 2,
      "template_last_updated": "2026-08-10",
      "template_created_at": "2026-08-10 18:40:01",
      "template_updated_at": "2026-08-10 18:40:01",
      "template_type": "Fillable",
      "template_draft": "No"
    }
  ]
}

Response Object

Field Type Nullable Description
success boolean No Indicates whether the templates request was successful.
request_id string No Unique API request/correlation identifier.
timestamp string No API response timestamp in ISO-8601 format with UTC offset.
data array No Array containing the templates available to the authenticated context.
data[].template_id string No Unique template identifier.
data[].template_title string No Template/document title.
data[].template_file string No Stored template file name.
data[].template_created_date string No Template creation date in YYYY-MM-DD format.
data[].template_status string No Template status. Supplied value: Active.
data[].category_id string No Category identifier associated with the template.
data[].company_id integer No Company identifier associated with the template.
data[].template_no_of_pdf_pages integer No Number of PDF pages in the template.
data[].template_no_of_signers integer No Number of signers configured for the template.
data[].template_last_updated string No Last update date in YYYY-MM-DD format.
data[].is_delete string No Deletion flag. Supplied value: No.
data[].template_created_at string No Template creation timestamp in YYYY-MM-DD HH:mm:ss format.
data[].template_updated_at string No Template update timestamp in YYYY-MM-DD HH:mm:ss format.
data[].template_type string No Template type. Supplied value: Fillable.
data[].template_draft string No Draft flag. Supplied value: No.
Source note: This response schema is derived directly from the supplied API response. No additional fields or behavior have been invented.
GET/templates/{template_id}

Get Template Details

No request body. No saved response is present.

Base URLhttp://127.0.0.1:8000/api/v1AuthenticationBearer

Headers

Header Required Example Description
Authorization Yes Bearer <BEARER_TOKEN> Bearer authentication token.
X-API-KEY Yes <API_KEY> Additional API-key header observed on this endpoint.

Parameters

Name In Type Required Description
template_id path string Yes Template identifier; example is UUID-shaped.

Request Body

No request body.

Response

200 Successful Response

Observed response for: GET /templates/{template_id} — Get Template Details

Response Headers

No response headers were supplied with the response example.

Response Body

application/json
{
  "success": true,
  "request_id": "6f1b2cd1-2001-487b-a95d-9d3a1cc575f9",
  "timestamp": "2026-08-14T10:11:29+00:00",
  "data": {
    "template_id": "aaa794f9-09f4-4f3d-aa44-90e9b47c6839",
    "template_title": "waiver and release.pdf",
    "template_file": "1786358398_6a79aa7e40024.pdf",
    "template_created_date": "2026-08-10",
    "template_status": "Active",
    "category_id": "0",
    "company_id": 76,
    "template_no_of_pdf_pages": 1,
    "template_no_of_signers": 2,
    "template_last_updated": "2026-08-10",
    "is_delete": "No",
    "template_created_at": "2026-08-10 18:40:01",
    "template_updated_at": "2026-08-10 18:40:01",
    "template_type": "Fillable",
    "template_draft": "No",
    "signers_with_fields": [
      {
        "id": "prefill",
        "name": "Prefill (Sender)",
        "initials": "P",
        "role_color": "#64748b",
        "fields": []
      },
      {
        "id": "tl",
        "name": "TL",
        "initials": "T",
        "role_color": "#ef4444",
        "fields": [
          {
            "id": "sig_9550",
            "group": null,
            "name": "Signature Field",
            "type": "Signature",
            "page": 1,
            "required": true,
            "placeholder": null,
            "location": {
              "x_position": 513,
              "y_position": 38,
              "width": 150,
              "height": 50
            },
            "recipient": {
              "id": "tl",
              "name": "TL"
            }
          },
          {
            "id": "init_76",
            "group": null,
            "name": "Initials Field",
            "type": "Initials",
            "page": 1,
            "required": true,
            "placeholder": null,
            "location": {
              "x_position": 248,
              "y_position": 745,
              "width": 80,
              "height": 50
            },
            "recipient": {
              "id": "tl",
              "name": "TL"
            }
          }
        ]
      },
      {
        "id": "pm",
        "name": "PM",
        "initials": "P",
        "role_color": "#8b5cf6",
        "fields": [
          {
            "id": "sig_5164",
            "group": null,
            "name": "Signature Field",
            "type": "Signature",
            "page": 1,
            "required": true,
            "placeholder": null,
            "location": {
              "x_position": 484,
              "y_position": 750,
              "width": 150,
              "height": 50
            },
            "recipient": {
              "id": "pm",
              "name": "PM"
            }
          }
        ]
      }
    ]
  }
}

Response Object

Field Type Nullable Description
success boolean No Indicates whether the template details request was successful.
request_id string No Unique API request/correlation identifier.
timestamp string No API response timestamp in ISO-8601 format with UTC offset.
data object No Detailed template information and configured signer fields.
data.template_id string No Unique template identifier.
data.template_title string No Template/document title.
data.template_file string No Stored template file name.
data.template_created_date string No Template creation date in YYYY-MM-DD format.
data.template_status string No Template status.
data.category_id string No Category identifier.
data.company_id integer No Company identifier.
data.template_no_of_pdf_pages integer No Number of PDF pages.
data.template_no_of_signers integer No Number of configured signers.
data.template_last_updated string No Last update date in YYYY-MM-DD format.
data.is_delete string No Deletion flag.
data.template_created_at string No Creation timestamp in YYYY-MM-DD HH:mm:ss format.
data.template_updated_at string No Update timestamp in YYYY-MM-DD HH:mm:ss format.
data.template_type string No Template type.
data.template_draft string No Draft flag.
data.signers_with_fields array No Signer/recipient definitions together with their assigned fields.
data.signers_with_fields[].id string No Signer/recipient identifier.
data.signers_with_fields[].name string No Signer/recipient display name.
data.signers_with_fields[].initials string No Signer initials.
data.signers_with_fields[].role_color string No Role color value supplied by the API.
data.signers_with_fields[].fields array No Fields assigned to the signer. Empty for Prefill in the supplied response.
fields[].id string No Unique field identifier.
fields[].group string / null Yes Field group. Supplied value is null.
fields[].name string No Human-readable field name.
fields[].type string No Field type, such as Signature or Initials.
fields[].page integer No PDF page on which the field is located.
fields[].required boolean No Whether the field is required.
fields[].placeholder string / null Yes Placeholder value. Supplied value is null.
fields[].location object No Field position and dimensions.
fields[].location.x_position integer No Horizontal position of the field.
fields[].location.y_position integer No Vertical position of the field.
fields[].location.width integer No Field width.
fields[].location.height integer No Field height.
fields[].recipient object No Recipient associated with the field.
fields[].recipient.id string No Recipient identifier.
fields[].recipient.name string No Recipient name/role.
Source note: This response schema is derived directly from the supplied API response. The nested signer and field structures have been documented without adding fields that were not present.
GET/categories

List Categories

No query parameters/body are defined. No saved response is present.

Base URLhttp://127.0.0.1:8000/api/v1AuthenticationBearer

Headers

Header Required Example Description
Authorization Yes Bearer <BEARER_TOKEN> Bearer authentication token.

Parameters

No parameters defined.

Request Body

No request body.

Response

200 Successful Response

Observed response for: GET /categories — List Categories

Response Headers

No response headers were supplied with the response example.

Response Body

application/json
{
  "success": true,
  "request_id": "aaf19dca-2460-4dae-a9e3-bd6c8c6443c8",
  "timestamp": "2026-08-14T10:14:26+00:00",
  "data": [
    {
      "category_id": 1,
      "category_name": "Application form",
      "category_status": "Active",
      "category_description": null,
      "category_sort_order": null,
      "company_id": 76,
      "parent_id": 0,
      "category_uuid": null
    },
    {
      "category_id": 2,
      "category_name": "Staff Forms",
      "category_status": "Active",
      "category_description": null,
      "category_sort_order": null,
      "company_id": 76,
      "parent_id": 0,
      "category_uuid": null
    },
    {
      "category_id": 4,
      "category_name": "Teacher Forms",
      "category_status": "Active",
      "category_description": null,
      "category_sort_order": null,
      "company_id": 76,
      "parent_id": 2,
      "category_uuid": null
    },
    {
      "category_id": 6,
      "category_name": "1st Std Forms",
      "category_status": "Active",
      "category_description": null,
      "category_sort_order": null,
      "company_id": 76,
      "parent_id": 4,
      "category_uuid": null
    },
    {
      "category_id": 10,
      "category_name": "Test 3",
      "category_status": "Active",
      "category_description": null,
      "category_sort_order": null,
      "company_id": 76,
      "parent_id": 9,
      "category_uuid": null
    },
    {
      "category_id": 7,
      "category_name": "Test",
      "category_status": "Active",
      "category_description": "nice",
      "category_sort_order": 1,
      "company_id": 76,
      "parent_id": 6,
      "category_uuid": null
    },
    {
      "category_id": 9,
      "category_name": "Test 2",
      "category_status": "Active",
      "category_description": "helo",
      "category_sort_order": 1,
      "company_id": 76,
      "parent_id": 7,
      "category_uuid": null
    },
    {
      "category_id": 8,
      "category_name": "David",
      "category_status": "",
      "category_description": "1",
      "category_sort_order": 2,
      "company_id": 76,
      "parent_id": 1,
      "category_uuid": null
    }
  ]
}

Response Object

Field Type Nullable Description
success boolean No Indicates whether the categories request was successful.
request_id string No Unique API request/correlation identifier.
timestamp string No API response timestamp in ISO-8601 format with UTC offset.
data array No Array containing category records.
data[].category_id integer No Unique numeric category identifier.
data[].category_name string No Category display name.
data[].category_status string No Category status. Supplied values include Active and an empty string.
data[].category_description string / null Yes Optional category description.
data[].category_sort_order integer / null Yes Optional category ordering value.
data[].company_id integer No Company identifier associated with the category.
data[].parent_id integer No Parent category identifier. 0 represents the root in the supplied response.
data[].category_uuid string / null Yes Category UUID. All supplied examples contain null.
Source note: This response schema is derived directly from the supplied API response. The parent-child category relationship is represented by parent_id; no additional hierarchy rules have been inferred.

Reusable Schemas

Signer

{
  "type": "object",
  "required": [
    "name",
    "email"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "email": {
      "type": "string",
      "format": "email"
    }
  }
}

TemplateRequest

{
  "type": "object",
  "required": [
    "template_id",
    "signers"
  ],
  "properties": {
    "template_id": {
      "type": "string"
    },
    "signers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Signer"
      }
    }
  }
}

Metadata

{
  "type": "object",
  "additionalProperties": true
}

Webhook

{
  "type": "object",
  "required": [
    "url",
    "events"
  ],
  "properties": {
    "url": {
      "type": "string",
      "format": "uri"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}

SignatureRequestCreate

{
  "type": "object",
  "required": [
    "mode",
    "message",
    "templates"
  ],
  "properties": {
    "mode": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "sequential_signing": {
      "type": "string"
    },
    "field_visibility": {
      "type": "string"
    },
    "external_id": {
      "type": "string"
    },
    "metadata": {
      "$ref": "#/components/schemas/Metadata"
    },
    "templates": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TemplateRequest"
      }
    },
    "webhook": {
      "$ref": "#/components/schemas/Webhook"
    }
  }
}

Limitations / Missing Response Contract

The supplied collection has no saved response examples. Consequently, exact success status codes, response JSON schemas, error envelopes, validation errors, webhook payloads, rate limits and idempotency conflict responses are not invented here.

Contract detail Source status
Success status codes Not supplied
Success response JSON Not supplied
Error response schemas Not supplied
Validation rules / enums Not supplied
Idempotency retention/conflict behavior Not supplied
Webhook events/payloads/signatures Not supplied
Rate limits Not supplied

Security

Credential safety: The source collection contains credential-looking values. They are redacted here. Store credentials in environment variables/secrets and rotate any real credentials that were exposed.