> ## Documentation Index
> Fetch the complete documentation index at: https://skribblesdk.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Types Reference

> Complete reference for all types and models in the Skribble SDK

All types are provided by the SDK - you don't need to define them yourself. Import them as follows:

<CodeGroup>
  ```python Python theme={null}
  from skribble.models import Document, SignatureRequest, Seal, SignerIdentityData, VisualSignature
  ```

  ```typescript TypeScript theme={null}
  import { Types } from 'skribble-sdk';
  ```
</CodeGroup>

## Common Types

### Position

Position details for visual elements

<ResponseField name="x" type="number" required />

<ResponseField name="y" type="number" required />

<ResponseField name="width" type="number" required />

<ResponseField name="height" type="number" required />

<ResponseField name="page" type="string" required />

<ResponseField name="rotation" type="number" default="0" />

### Image

Image data with content type and content

<ResponseField name="content_type" type="string" required />

<ResponseField name="content" type="string" required />

## Document Types

### Document

Represents a document

<ResponseField name="id" type="string" required>
  ID of the Document object
</ResponseField>

<ResponseField name="parent_id" type="string">
  ID of the previous version of the Document object
</ResponseField>

<ResponseField name="title" type="string" required>
  Given title of the document
</ResponseField>

<ResponseField name="content_type" type="string" required>
  Content type of the document
</ResponseField>

<ResponseField name="size" type="number" required>
  Size in bytes of the document
</ResponseField>

<ResponseField name="page_count" type="number">
  Number of pages in the document
</ResponseField>

<ResponseField name="page_width" type="number">
  Width of the document pages
</ResponseField>

<ResponseField name="page_height" type="number">
  Height of the document pages
</ResponseField>

<ResponseField name="owner" type="string" required>
  Owner of the document
</ResponseField>

### DocumentRequest

Request to create a new document

<ResponseField name="title" type="string" required>
  Title of the document
</ResponseField>

<ResponseField name="content_type" type="string">
  Content type of bytes sent in content
</ResponseField>

<ResponseField name="content" type="string">
  Base64 encoded bytes of document
</ResponseField>

<ResponseField name="file_url" type="string">
  Publicly accessible URL for document download
</ResponseField>

<ResponseField name="write_access" type="string[]">
  E-mail addresses with write access to the object
</ResponseField>

### DocumentResponse

Response object for a document

<ResponseField name="id" type="string" required>
  ID of the Document object
</ResponseField>

<ResponseField name="parent_id" type="string">
  ID of the previous version of the Document object
</ResponseField>

<ResponseField name="title" type="string" required>
  Given title of the document
</ResponseField>

<ResponseField name="content_type" type="string" required>
  Content type of the document (always application/pdf)
</ResponseField>

<ResponseField name="size" type="number" required>
  Size in bytes of the document
</ResponseField>

<ResponseField name="page_count" type="number">
  Number of pages of the document
</ResponseField>

<ResponseField name="page_width" type="number">
  Width of the document in pixel
</ResponseField>

<ResponseField name="page_height" type="number">
  Height of the document in pixel
</ResponseField>

<ResponseField name="signature_fields" type="{ name?: string; status?: string; position?: Position }[]">
  PDF AcroForm signature fields found in the document
</ResponseField>

<ResponseField name="read_access" type="string[]" required>
  Array of users with read access
</ResponseField>

<ResponseField name="write_access" type="string[]" required>
  Array of users with write access
</ResponseField>

<ResponseField name="created_at" type="string" required>
  Timestamp at which the document was created
</ResponseField>

<ResponseField name="updated_at" type="string">
  Timestamp at which the document was last updated
</ResponseField>

## Signature Request Types

### SignatureRequest

Represents a signature request

<ResponseField name="title" type="string" required>
  Title of the signature request
</ResponseField>

<ResponseField name="message" type="string">
  Message sent to the participants
</ResponseField>

<ResponseField name="content" type="string">
  Base64 encoded bytes of document
</ResponseField>

<ResponseField name="content_type" type="string">
  Content type of bytes sent in content
</ResponseField>

<ResponseField name="file_url" type="string">
  Publicly accessible URL for document download
</ResponseField>

<ResponseField name="document_id" type="string">
  Document ID of an existing document on Skribble
</ResponseField>

<ResponseField name="legislation" type="string">
  Legislation of the signatures (ZERTES or EIDAS). Only important for QES signatures
</ResponseField>

<ResponseField name="quality" type="string">
  Minimal quality of the signatures (AES, AES\_MINIMAL, SES or QES)
</ResponseField>

<ResponseField name="cc_email_addresses" type="string[]">
  CC email addresses
</ResponseField>

<ResponseField name="callback_success_url" type="string">
  Callback-URL for success
</ResponseField>

<ResponseField name="callback_error_url" type="string">
  Callback-URL for errors
</ResponseField>

<ResponseField name="callback_update_url" type="string">
  Callback-URL for updates
</ResponseField>

<ResponseField name="custom" type="string">
  Custom field for own/customer settings
</ResponseField>

<ResponseField name="write_access" type="string[]">
  Users with full write access
</ResponseField>

<ResponseField name="signatures" type="Signature[]" />

### Signature

Represents a signature in a signature request

<ResponseField name="account_email" type="string">
  Signer's e-mail address
</ResponseField>

<ResponseField name="signer_identity_data" type="SignerIdentityData" />

<ResponseField name="visual_signature" type="VisualSignature" />

<ResponseField name="sequence" type="number">
  Define a signing sequence for signers
</ResponseField>

<ResponseField name="notify" type="boolean" default="True">
  Send e-mails to notify the signer
</ResponseField>

<ResponseField name="language" type="string">
  Language for communication
</ResponseField>

### SignerIdentityData

Identity data for no-account signers

<ResponseField name="email_address" type="string" required>
  Email address of no-account-signer
</ResponseField>

<ResponseField name="mobile_number" type="string">
  Mobile number of no-account-signer
</ResponseField>

<ResponseField name="first_name" type="string">
  First name of no-account-signer
</ResponseField>

<ResponseField name="last_name" type="string">
  Last name of no-account-signer
</ResponseField>

<ResponseField name="language" type="string">
  Language for communication with the signer
</ResponseField>

### VisualSignature

Visual signature with position and optional image

<ResponseField name="form_field" type="string">
  Name of the document's form field in which the signature is placed. Takes precedence before positions
</ResponseField>

<ResponseField name="position" type="Position" required />

<ResponseField name="image" type="Image" />

### SignatureResponse

Response object for a signature

<ResponseField name="sid" type="string" required>
  ID of the SignatureRequest object
</ResponseField>

<ResponseField name="account_email" type="string">
  Email address of the signer
</ResponseField>

<ResponseField name="signer_identity_data" type="any">
  Contains the given first\_name and last\_name of the signer
</ResponseField>

<ResponseField name="sequence" type="number">
  Signing sequence for the signer
</ResponseField>

<ResponseField name="status_code" type="string" required>
  Status of the signature
</ResponseField>

<ResponseField name="notify" type="boolean">
  Given identifier, if the signer will be notified about changes on this signature request
</ResponseField>

<ResponseField name="signed_at" type="string">
  Visible only after the signature. Timestamp UTC at which the signature was executed
</ResponseField>

<ResponseField name="signed_quality" type="string">
  Visible only after the signature. Quality level with which the signature was executed
</ResponseField>

<ResponseField name="signed_legislation" type="string">
  Visible only after the signature. Legislation with which the signature was executed
</ResponseField>

<ResponseField name="last_viewed_at" type="string">
  Timestamp UTC at which the signer opened/viewed the document the last time
</ResponseField>

### SignatureRequestResponse

Response object for a signature request

<ResponseField name="id" type="string" required>
  ID of the SignatureRequest object
</ResponseField>

<ResponseField name="title" type="string" required>
  Given title for the signature request
</ResponseField>

<ResponseField name="message" type="string">
  Given message that is shown to the participants
</ResponseField>

<ResponseField name="document_id" type="string" required>
  ID of the Document object
</ResponseField>

<ResponseField name="legislation" type="string">
  Given legislation of the signatures for this signature request
</ResponseField>

<ResponseField name="quality" type="string">
  Given quality of the signatures for this signature request
</ResponseField>

<ResponseField name="signing_url" type="string">
  Deprecated. Please use the signing\_url inside the user's Signature entry
</ResponseField>

<ResponseField name="status_overall" type="string" required>
  Status of the signature request
</ResponseField>

<ResponseField name="signatures" type="SignatureResponse[]" required>
  Array of signatures within this signature request
</ResponseField>

<ResponseField name="cc_email_addresses" type="string[]">
  Given array of email-addresses that will be additionally notified upon completed signature request
</ResponseField>

<ResponseField name="owner" type="string" required>
  Creator of the SignatureRequest object
</ResponseField>

<ResponseField name="read_access" type="string[]">
  Array of users with read access on the signature request
</ResponseField>

<ResponseField name="write_access" type="string[]">
  Array of users with write access on the signature request
</ResponseField>

<ResponseField name="created_at" type="string">
  Timestamp at which the signature request was created
</ResponseField>

<ResponseField name="updated_at" type="string">
  Timestamp at which the signature request was last updated
</ResponseField>

<ResponseField name="attachments" type="AttachmentResponse[]">
  Array of attachments associated with this signature request
</ResponseField>

## Seal Types

### Seal

Seal for a document

<ResponseField name="title" type="string">
  Title of the seal document
</ResponseField>

<ResponseField name="content" type="string" required>
  Base64 encoded bytes of document
</ResponseField>

<ResponseField name="account_name" type="string">
  Specifies the seal to use for sealing
</ResponseField>

<ResponseField name="visual_signature" type="VisualSignature" />

### SealRequest

Request to seal a document

<ResponseField name="title" type="string" required>
  Title of the seal document
</ResponseField>

<ResponseField name="content" type="string" required>
  Base64 encoded bytes of document
</ResponseField>

<ResponseField name="account_name" type="string">
  Specifies the seal to use for sealing
</ResponseField>

<ResponseField name="visual_signature" type="VisualSignature" />

### SealResponse

Response from seal operations

<ResponseField name="document_id" type="string" required>
  The document ID
</ResponseField>

## Attachment Types

### Attachment

Attachment for a document

<ResponseField name="title" type="string" required>
  Title of the attachment
</ResponseField>

<ResponseField name="content" type="string" required>
  Base64 encoded bytes of the attachment
</ResponseField>

<ResponseField name="content_type" type="string" required>
  Content type of the attachment
</ResponseField>

### AttachmentRequest

Request to add an attachment to a signature request

<ResponseField name="filename" type="string" required>
  Name of the attachment file
</ResponseField>

<ResponseField name="content_type" type="string" required>
  Content type of the attachment
</ResponseField>

<ResponseField name="content" type="string" required>
  Base64 encoded content of the attachment
</ResponseField>

### AttachmentResponse

Response object for an attachment

<ResponseField name="attachment_id" type="string" required>
  ID of the attachment
</ResponseField>

<ResponseField name="filename" type="string" required>
  Name of the attachment file
</ResponseField>
