> ## 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.

# Signature Requests

> API reference for signature request operations

## Create Signature Request

Create a new signature request.

<CodeGroup>
  ```python Python theme={null}
  skribble.signature_request.create(signature_request: SignatureRequest) -> SignatureRequestResponse
  ```

  ```typescript TypeScript theme={null}
  skribble.signature_request.create(signatureRequest: Types.SignatureRequest): Promise<Types.SignatureRequestResponse>
  ```
</CodeGroup>

<ResponseField name="request" type="Request Object">
  <Expandable title="SignatureRequest properties">
    <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[]" />
  </Expandable>
</ResponseField>

<ResponseField name="response" type="Response Object">
  <Expandable title="SignatureRequestResponse properties">
    <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>
  </Expandable>
</ResponseField>

## Get Signature Request

Retrieve a signature request by ID.

<CodeGroup>
  ```python Python theme={null}
  skribble.signature_request.get(signature_request_id: str) -> SignatureRequestResponse
  ```

  ```typescript TypeScript theme={null}
  skribble.signature_request.get(signatureRequestId: string): Promise<Types.SignatureRequestResponse>
  ```
</CodeGroup>

<ResponseField name="response" type="Response Object">
  <Expandable title="SignatureRequestResponse properties">
    <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>
  </Expandable>
</ResponseField>

## List Signature Requests

List all signature requests with optional pagination.

<CodeGroup>
  ```python Python theme={null}
  skribble.signature_request.list(page_size: int = None) -> List[SignatureRequestResponse]
  ```

  ```typescript TypeScript theme={null}
  skribble.signature_request.list({ page_size?: number }): Promise<Types.SignatureRequestResponse[]>
  ```
</CodeGroup>

<ResponseField name="response" type="Response Object">
  <Expandable title="SignatureRequestResponse properties">
    <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>
  </Expandable>
</ResponseField>

## Withdraw Signature Request

Withdraw a pending signature request.

<CodeGroup>
  ```python Python theme={null}
  skribble.signature_request.withdraw(signature_request_id: str, message: str = None) -> SignatureRequestResponse
  ```

  ```typescript TypeScript theme={null}
  skribble.signature_request.withdraw(signatureRequestId: string, message?: string): Promise<Types.SignatureRequestResponse>
  ```
</CodeGroup>

<ResponseField name="response" type="Response Object">
  <Expandable title="SignatureRequestResponse properties">
    <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>
  </Expandable>
</ResponseField>

## Delete Signature Request

Delete a signature request.

<CodeGroup>
  ```python Python theme={null}
  skribble.signature_request.delete(signature_request_id: str) -> None
  ```

  ```typescript TypeScript theme={null}
  skribble.signature_request.delete(signatureRequestId: string): Promise<void>
  ```
</CodeGroup>

## Remind Signers

Send a reminder to signers of a signature request.

<CodeGroup>
  ```python Python theme={null}
  skribble.signature_request.remind(signature_request_id: str) -> None
  ```

  ```typescript TypeScript theme={null}
  skribble.signature_request.remind(signatureRequestId: string): Promise<void>
  ```
</CodeGroup>

## Add Signer

Add a new signer to an existing signature request.

<CodeGroup>
  ```python Python theme={null}
  skribble.signature_request.signer.add(signature_request_id: str, signer: SignerRequest) -> SignatureRequestResponse
  ```

  ```typescript TypeScript theme={null}
  skribble.signature_request.signer.add(signatureRequestId: string, signer: Types.SignerRequest): Promise<Types.SignatureRequestResponse>
  ```
</CodeGroup>

<ResponseField name="request" type="Request Object">
  <Expandable title="SignerRequest properties">
    <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" />

    <ResponseField name="notify" type="boolean" />

    <ResponseField name="language" type="string" />
  </Expandable>
</ResponseField>

<ResponseField name="response" type="Response Object">
  <Expandable title="SignatureRequestResponse properties">
    <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>
  </Expandable>
</ResponseField>

## Remove Signer

Remove a signer from a signature request.

<CodeGroup>
  ```python Python theme={null}
  skribble.signature_request.signer.remove(signature_request_id: str, signer_id: str) -> None
  ```

  ```typescript TypeScript theme={null}
  skribble.signature_request.signer.remove(signatureRequestId: string, signerId: string): Promise<void>
  ```
</CodeGroup>

## Replace Signers

Replace all signers in a signature request.

<CodeGroup>
  ```python Python theme={null}
  skribble.signature_request.signer.replace(signature_request_id: str, signers: List[SignerRequest]) -> SignatureRequestResponse
  ```

  ```typescript TypeScript theme={null}
  skribble.signature_request.signer.replace(signatureRequestId: string, signers: Types.SignerRequest[]): Promise<Types.SignatureRequestResponse>
  ```
</CodeGroup>

<ResponseField name="request" type="Request Object">
  <Expandable title="SignerRequest properties">
    <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" />

    <ResponseField name="notify" type="boolean" />

    <ResponseField name="language" type="string" />
  </Expandable>
</ResponseField>

<ResponseField name="response" type="Response Object">
  <Expandable title="SignatureRequestResponse properties">
    <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>
  </Expandable>
</ResponseField>

## Add Attachment

Add an attachment to a signature request.

<CodeGroup>
  ```python Python theme={null}
  skribble.signature_request.attachment.add(signature_request_id: str, attachment: AttachmentRequest) -> List[AttachmentResponse]
  ```

  ```typescript TypeScript theme={null}
  skribble.signature_request.attachment.add(signatureRequestId: string, attachment: Types.AttachmentRequest): Promise<Types.AttachmentResponse[]>
  ```
</CodeGroup>

<ResponseField name="request" type="Request Object">
  <Expandable title="AttachmentRequest properties">
    <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>
  </Expandable>
</ResponseField>

<ResponseField name="response" type="Response Object">
  <Expandable title="AttachmentResponse properties">
    <ResponseField name="attachment_id" type="string" required>
      ID of the attachment
    </ResponseField>

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

## List Attachments

List all attachments for a signature request.

<CodeGroup>
  ```python Python theme={null}
  skribble.signature_request.attachment.list(signature_request_id: str) -> List[AttachmentResponse]
  ```

  ```typescript TypeScript theme={null}
  skribble.signature_request.attachment.list(signatureRequestId: string): Promise<Types.AttachmentResponse[]>
  ```
</CodeGroup>

<ResponseField name="response" type="Response Object">
  <Expandable title="AttachmentResponse properties">
    <ResponseField name="attachment_id" type="string" required>
      ID of the attachment
    </ResponseField>

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

## Download Attachment

Download an attachment's content.

<CodeGroup>
  ```python Python theme={null}
  skribble.signature_request.attachment.download(signature_request_id: str, attachment_id: str) -> bytes
  ```

  ```typescript TypeScript theme={null}
  skribble.signature_request.attachment.download(signatureRequestId: string, attachmentId: string): Promise<Buffer>
  ```
</CodeGroup>

## Delete Attachment

Delete an attachment from a signature request.

<CodeGroup>
  ```python Python theme={null}
  skribble.signature_request.attachment.delete(signature_request_id: str, attachment_id: str) -> None
  ```

  ```typescript TypeScript theme={null}
  skribble.signature_request.attachment.delete(signatureRequestId: string, attachmentId: string): Promise<void>
  ```
</CodeGroup>
