---
title: "Get folder by id"
method: GET
path: "/folder/{folder_id}"
---

# Get folder by id

`GET /folder/{folder_id}`

## Request

- Base URL: `https://api.signnow.com`
- URL: `https://api.signnow.com/folder/{folder_id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/signnow/apis/signnow-api/docs/folder/:folder_id/get.ts> (a function with typed inputs; its response is checked against the schema)

This endpoint allows API users to retrieve the details of a folder, including its subfolders and the documents it contains. Use query parameters to filter, sort, and paginate the document list.

**Notes**

* `total_documents` is the total number of documents in the folder. The `documents` array contains only the page selected by `limit` and `offset`.
* To include document group templates, set `entity_type` to `dgt` or `all`. By default, a templates folder returns only templates.
* Each document's `document_group_template_info` lists the active document group templates that include it. For a document that isn't part of any document group template, the array is empty.

## Response `200`

* Success
* With document group where user is a signer (+email group)
* With document group where user is the owner (+email group)
* With viewer field invites (+email group)
* With `entity_type=document-group` query
* With `entity_type=dgt` query

- object
  - `id` string: ID of the folder.
  - `name` string: Name of the folder.
  - `shared` boolean: Whether the folder is shared.
  - `created` string: Folder creation time as a Unix timestamp.
  - `folders` object[]: Subfolders of the folder. Empty if the folder has no subfolders.
    - `id` string: ID of the subfolder.
    - `name` string: Name of the subfolder.
    - `shared` boolean: Whether the subfolder is shared.
    - `created` string: Unix timestamp of when the subfolder was created, as a string.
    - `team_id` string: ID of the team. Team folders only.
    - `user_id` string: ID of the subfolder owner.
    - `team_name` string: Name of the team. Team folders only.
    - `team_type` string: Access type of the team folder, for example `VIEWABLE`. Team folders only.
    - `folder_count` string: Number of subfolders inside the subfolder, as a string.
    - `document_count` string: Number of documents in the subfolder, as a string.
    - `template_count` string: Number of templates in the subfolder, as a string.
  - `team_id` string: ID of the team. Team folders only.
  - `user_id` string: ID of the folder owner.
  - `documents` object[]: Entities in the folder, limited by `limit` and `offset`. Depending on `entity_type`, the array can contain documents, templates, document groups, and document group templates. Fields marked as documents-only or groups-only appear only for that entity type.
    - `id` string: ID of the document, template, document group, or document group template.
    - `tags` object[]: List of tags assigned to the document. Documents and templates only.
      - `name` string: Name of the tag.
      - `type` string: Type of the tag, for example `system`.
    - `lines` object[]: List of line elements drawn on the document. Documents and templates only.
    - `owner` string: Email address of the owner.
    - `roles` object[]: List of signer roles defined for the document. Documents and templates only.
      - `name` string: Name of the role, for example `Signer 1`.
      - `unique_id` string: ID of the role.
      - `signing_order` string: Position of the role in the signing order, as a string.
    - `seals` object[]: List of applied seal elements on the document. Documents and templates only.
    - `state` string: State of the document group, such as `created`, `pending`, or `completed`. Can be `null` for document group templates. Document groups and document group templates only.
    - `texts` object[]: List of text elements added to the document. Documents and templates only.
    - `checks` object[]: List of checkmark elements added to the document. Documents and templates only.
    - `fields` object[]: List of fillable fields defined on the document. Documents and templates only.
      - `id` string: ID of the field.
      - `role` string: Name of the role the field is assigned to.
      - `type` string: Field type, for example `text`, `signature`, `initials`, `checkbox`, or `enumeration`.
      - `role_id` string: ID of the role the field is assigned to.
      - `field_id` string: ID of the field the element belongs to. Can be `null`.
      - `fulfiller` string: Email address of the user who filled in the field. `null` until the field is filled.
      - `element_id` string: ID of the element that fills the field. `null` until the field is filled.
      - `originator` string: Email address of the document owner.
      - `json_attributes` object: Position, size, and settings of the field. The set of keys depends on the field type.
        - `x` integer: Horizontal position of the field on the page, in pixels.
        - `y` integer: Vertical position of the field on the page, in pixels.
        - `bold` boolean: `true` if the text is bold.
        - `font` string: Font name, for example `Arial`.
        - `name` string: Name of the field.
        - `size` integer: Font size in the SignNow editor scale.
        - `align` string: Horizontal text alignment, for example `left`.
        - `color` string: Text color as a 6-character hex code without `#`, for example `000000`.
        - `label` string: Label of the field shown to the recipient. Returned only if a label is set.
        - `width` integer: Width of the field, in pixels.
        - `height` integer: Height of the field, in pixels.
        - `italic` boolean: `true` if the text is italic.
        - `valign` string: Vertical text alignment, for example `top`.
        - `required` boolean: `true` if the recipient must fill in the field.
        - `font_size` integer: Font size on the document page, in PDF points.
        - `max_chars` integer: Maximum number of characters. `0` means no limit.
        - `max_lines` integer: Maximum number of lines. `0` means no limit.
        - `underline` boolean: `true` if the text is underlined.
        - `arrangement` string: How the text is laid out in the field. `none`: regular text. `cells`: one character per cell.
        - `page_number` integer: Zero-based number of the page the field is on.
        - `stretch_mode` string: How the field resizes to fit its content, for example `fixed`.
        - `validator_id` string: ID of the validator applied to the field. See `field_validators`.
        - `allowed_types` string[]: For `signature` fields: the ways the recipient can add a signature. Possible values: `type`, `draw`, `upload`.
        - `prefilled_text` string: Default value of the field. Returned only if set.
        - `lock_to_sign_date` boolean: For date fields: `true` if the field is filled with the signing date and cannot be changed.
        - `lock_to_sign_prefill` boolean: `true` if the prefilled value cannot be changed by the recipient.
      - `field_request_id` string: ID of the field invite the field belongs to. Can be `null`.
      - `template_field_id` string: ID of the corresponding field in the source template. Can be `null`.
      - `field_request_canceled` string: Whether the field request was canceled. Can be `null`.
    - `pinned` boolean: Whether the entity is pinned.
    - `status` string: Status of the document group. Document groups only.
    - `created` unknown
    - `inserts` object[]: List of text inserts added to the document. Documents and templates only.
    - `invites` object[]: Invites sent for the document group. Document groups and document group templates only.
      - `id` string: ID of the invite.
      - `email` string: Email address of the recipient.
      - `order` integer: Step of the invite in the signing order.
      - `action` string: Action requested from the recipient.
      - `status` string: Status of the invite.
      - `created` integer: Unix timestamp of when the invite was created.
      - `updated` integer: Unix timestamp of the last invite update.
      - `compliance` object: Compliance settings of the invite.
        - `cfr` unknown
      - `document_id` string: ID of the document.
      - `email_group` object: Email group the invite was sent to. `id` and `name` are `null` if the invite was sent to a single recipient.
        - `id` string: ID of the email group. Can be `null`.
        - `name` string: Name of the email group. Can be `null`.
      - `is_embedded` boolean: Whether the invite is an embedded invite.
      - `document_name` string: Name of the document.
      - `authentication` string: Authentication method required from the recipient, for example `password`. `null` if none.
      - `signature_type` unknown
      - `expiration_time` integer: Unix timestamp of when the invite expires. Can be `null`.
      - `is_draft_exists` unknown
      - `password_method` string: Method used to deliver the invite password. Empty if no password is set.
      - `payment_request` unknown
      - `is_full_declined` boolean: Whether the recipient declined the invite.
      - `sms_sent_statuses` object[]: SMS delivery events for the invite. Empty for email invites.
      - `is_document_locked` string: `"1"` if the document is locked for this recipient, otherwise `"0"`.
      - `password_protected` string: `"1"` if the invite is password-protected, otherwise `"0"`.
      - `email_sent_statuses` object[]: Delivery statuses of the invite email.
        - `status` string: Delivery status.
        - `created_at` integer: Unix timestamp of when the status was first recorded.
        - `last_reaction_at` integer: Unix timestamp of the latest status update.
      - `signer_phone_invite` string: Phone number the SMS invite was sent to. `null` for email invites.
    - `updated` unknown
    - `user_id` string: ID of the owner.
    - `requests` object[]: List of document requests. Documents and templates only.
    - `settings` object: Account and organization settings that apply to the document, keyed by setting name, for example `require_drawn_signatures` or `restrict_download`. The set of keys depends on the account and can change. Documents and templates only. Can be `null`.
    - `template` boolean: Indicates whether the document is a template. `true` if it is a template, `false` otherwise. Documents and templates only.
    - `documents` object[]: Documents in the group. Document groups and document group templates only.
      - `id` string: ID of the document.
      - `name` string: Name of the document.
      - `roles` string[]: Names of the roles in the document.
      - `updated` integer: Unix timestamp of the last document update.
      - `settings` object: Settings of the document in the group, for example `advanced_signing_flow`. Can be `null`.
      - `thumbnail` object: Links to the document thumbnail images.
        - `large` string: URL of the large thumbnail.
        - `small` string: URL of the small thumbnail.
        - `medium` string: URL of the medium thumbnail.
      - `has_fields` boolean: Whether the document has fillable fields.
      - `page_count` integer: Number of pages in the document. Can be `null` for templates in a document group template.
      - `signatures` object[]: Signatures applied to the document.
        - `id` string: ID of the signature.
        - `created` string: Unix timestamp of when the signature was added.
        - `user_id` string: ID of the signer.
    - `invite_id` string: ID of the document group invite. Can be `null`. Document groups and document group templates only.
    - `parent_id` string: ID of the folder that contains the entity.
    - `thumbnail` object: Links to the document thumbnail images in `small`, `medium`, and `large` sizes. Documents and templates only.
      - `large` string: URL of the large thumbnail.
      - `small` string: URL of the small thumbnail.
      - `medium` string: URL of the medium thumbnail.
    - `page_count` string: Number of pages in the document, as a string. Documents and templates only.
    - `share_info` object: Sharing information. Templates only.
      - `role` string: Access level of the current user. Possible values: `sender`, `viewer`, `owner`.
    - `signatures` object[]: List of applied signature elements on the document. Documents and templates only.
      - `x` string: Horizontal position of the signature, in pixels, as a string.
      - `y` string: Vertical position of the signature, in pixels, as a string.
      - `id` string: ID of the signature.
      - `data` string: Base64-encoded image of the signature.
      - `email` string: Email address of the user who added the signature.
      - `width` string: Width of the signature, in pixels, as a string.
      - `height` string: Height of the signature, in pixels, as a string.
      - `created` string: Unix timestamp of when the signature was added, as a string.
      - `user_id` string: ID of the user who added the signature.
      - `page_number` string: Zero-based number of the page the signature is on, as a string.
    - `attachments` object[]: List of file attachments on the document. Documents and templates only.
    - `entity_type` string: Type of the entity. Possible values: `document`, `template`, `document-group`, `dgt`.
    - `is_favorite` boolean: Whether the entity is marked as a favorite.
    - `integrations` object[]: List of third-party integrations associated with the document. Documents and templates only.
    - `radiobuttons` object[]: List of radio button groups on the document. Documents and templates only.
    - `version_time` string: Unix timestamp of the document version. Documents and templates only.
    - `viewer_roles` object[]: List of viewer roles defined for the document. Documents and templates only.
    - `document_name` string: Name of the document. Documents and templates only.
    - `entity_labels` object[]: System labels assigned to the entity, such as `declined` or `undelivered`.
    - `field_invites` object[]: List of signer field invites for the document. Documents and templates only.
      - `id` string: ID of the field invite.
      - `role` string: Name of the signer role.
      - `email` string: Email address of the signer. For an SMS invite, a generated placeholder address.
      - `pfrid` string: ID of the payment request.
      - `status` string: Status of the invite, for example `pending`, `fulfilled`, or `declined`.
      - `created` string: Unix timestamp of when the invite was created, as a string.
      - `pfrtype` string: Type of the payment request.
      - `role_id` string: ID of the signer role.
      - `updated` string: Unix timestamp of the last invite update, as a string.
      - `declined` object[]: Decline details. Empty if the signer has not declined.
      - `reassign` string: `"1"` if the signer can reassign the invite, otherwise `"0"`.
      - `reminder` string: `"1"` if reminders are enabled for the invite, otherwise `"0"`.
      - `pframount` string: Amount of the payment request.
      - `pfrstatus` string: Status of the payment request.
      - `compliance` object: Compliance settings of the invite.
        - `cfr` object: 21 CFR Part 11 settings. Can be `null`.
      - `pfrcreated` string: Unix timestamp of when the payment request was created.
      - `email_group` object: Email group the invite was sent to. `id` and `name` are `null` if the invite was sent to a single recipient.
        - `id` string: ID of the email group. Can be `null`.
        - `name` string: Name of the email group. Can be `null`.
      - `id_verified` string: ID verification status of the signer, for example `UNVERIFIED`.
      - `is_embedded` boolean: Whether the invite is an embedded invite.
      - `redirect_uri` string: URL the signer is redirected to after signing.
      - `delivery_type` string: How the invite is delivered. Possible values: `email`, `sms`.
      - `password_type` string: Type of the invite password. Empty if no password is set.
      - `pfrmerchant_id` string: ID of the merchant account.
      - `signature_type` string: Type of signature required from the signer. Can be `null`.
      - `signer_user_id` string: ID of the signer user.
      - `expiration_time` string: Unix timestamp of when the invite expires, as a string.
      - `is_draft_exists` string: `"1"` if the signer has saved a draft, otherwise `"0"`.
      - `password_method` string: Method used to deliver the invite password. Empty if no password is set.
      - `payment_request` string: Payment request attached to the invite. Can be `null`.
      - `is_full_declined` boolean: Whether the signer declined the invite.
      - `pfrcurrency_name` string: Currency of the payment request.
      - `pfrmerchant_type` string: Type of the merchant account.
      - `sms_sent_statuses` object[]: SMS delivery events for the invite. Empty for email invites.
        - `status` string: SMS delivery status, for example `sent`.
        - `created_at` integer: Unix timestamp of when the event was recorded.
        - `updated_at` integer: Unix timestamp of the last status update.
      - `verification_type` string: Type of signer verification.
      - `is_document_locked` string: `"1"` if the document is locked for this signer, otherwise `"0"`.
      - `password_protected` string: `"1"` if the invite is password-protected, otherwise `"0"`.
      - `pfrjson_attributes` string: Additional attributes of the payment request.
      - `email_sent_statuses` object[]: List of email delivery events recorded for this invite. Each object represents one event. The array is empty (`[]`) if no email events have been recorded yet.
        - `status` 'sent' | 'mail_open' | 'bounce' | 'mail_click' | 'reminder_sent' | 'undefined': Email delivery event status. Possible values: `sent` — email was successfully sent to the recipient; `mail_open` — email was opened by the recipient; `bounce` — email bounced, delivery failed (e.g. invalid address); `mail_click` — a link in the email was clicked by the recipient; `reminder_sent` — a reminder email was sent to the recipient; `undefined` — the event status is unknown.
        - `created_at` integer: Unix timestamp when the event was recorded.
        - `last_reaction_at` integer: Unix timestamp of the last status update.
      - `force_new_signature` integer: `1` if the signer must create a new signature instead of reusing a saved one. Can be `null`.
      - `signer_phone_invite` string: Phone number the SMS invite was sent to. `null` for email invites.
      - `decline_by_signature` boolean: Whether the signer can decline by signature. Can be `null`.
      - `signing_instructions` string: Instructions shown to the signer. Can be `null`.
      - `electronic_consent_id` string: ID of the electronic consent the signer accepted. Can be `null`.
      - `prefill_signature_name` string: Name prefilled in the signature field. Can be `null`.
      - `id_verification_required` string: Whether ID verification is required, for example `NO`.
      - `pfrmerchant_account_name` string: Name of the merchant account that receives the payment.
      - `pfrpayment_transaction_id` string: ID of the payment transaction.
      - `electronic_consent_required` integer: `1` if the signer must accept the electronic consent before signing, otherwise `0`.
      - `required_preset_signature_name` string: Name the signer must use in the signature. Can be `null`.
      - `stripe_ach_bank_account_present` string: Whether a Stripe ACH bank account is connected for the payment request.
      - `stripe_ach_bank_account_verified` string: Whether the Stripe ACH bank account is verified.
    - `own_as_merged` boolean: Whether the document group template has merged status: `true` if merged, `false` if not. Document groups and document group templates only.
    - `recently_used` unknown
    - `approver_roles` object[]: List of approver roles defined for the document. Documents and templates only.
    - `notary_invites` object[]: List of notary invites on the document. Documents and templates only.
    - `origin_user_id` string: Identifier of the user who owns the source document. Can be `null`. Documents and templates only.
    - `sign_as_merged` boolean: Whether the documents in the group are signed as one merged document. Document groups and document group templates only.
    - `routing_details` object[]: Invite routing configuration, including signer order, `cc` recipients, and invite link instructions. Documents and templates only.
      - `cc` object[]: Email addresses that receive a copy of the completed document.
      - `id` string: ID of the routing details record.
      - `data` object[]: Signer roles and their invite settings.
        - `name` string: Name of the role.
        - `role_id` string: ID of the role.
        - `reassign` boolean: Whether the recipient can reassign the invite.
        - `reminder` object: Reminder settings for the invite.
          - `remind_after` integer: Days after the invite is sent to send the first reminder. `0` means no reminder.
          - `remind_before` integer: Days before expiration to send a reminder. `0` means no reminder.
          - `remind_repeat` integer: Interval in days between repeated reminders. `0` means no repeat.
        - `attributes` object[]: Additional attributes of the role.
        - `inviter_role` boolean: `true` if the document owner is the recipient for this role.
        - `phone_invite` string: Phone number for SMS delivery. Can be `null`.
        - `default_email` string: Default email address of the recipient for this role. Empty if not set.
        - `delivery_type` string: How the invite is delivered. Possible values: `email`, `sms`.
        - `signing_order` integer: Position of the role in the signing order.
        - `expiration_days` integer: Number of days before the invite expires.
        - `decline_by_signature` boolean: Whether the recipient can decline by signature.
      - `cc_step` object[]: Steps after which `cc` recipients are notified.
      - `created` string: Unix timestamp of when the routing details were created, as a string.
      - `updated` string: Unix timestamp of the last update, as a string.
      - `viewers` object[]: Viewer roles and their invite settings. Empty if the document has no viewers.
      - `approvers` object[]: Approver roles and their invite settings. Empty if the document has no approvers.
      - `attributes` object: Additional routing attributes. Can be `null`.
      - `invite_link_instructions` string: Instructions shown with the invite link. Can be `null`.
    - `field_validators` object[]: List of field validation rules. Documents and templates only.
      - `id` string: ID of the validator.
      - `name` string: Name of the validator.
      - `scope` string: Scope of the validator. `system` for built-in validators.
      - `description` string: Description of the expected value.
      - `error_message` string: Message shown when the value does not match.
      - `regex_expression` string: Regular expression the value must match.
      - `display_json_attributes` object: Display settings of the validator in the SignNow web app.
        - `common` boolean: Whether the validator is shown in the common list.
        - `disabled` boolean: Whether the validator is disabled.
        - `web_locale_key` string: Localization key of the validator.
        - `web_short_name` string: Short name shown in the web app.
        - `web_description` string: Description shown in the web app.
        - `date_time_field_order` integer: Order of the validator in the date and time list.
    - `freeform_actions` object[]: Freeform invite actions. Document groups and document group templates only.
      - `id` string: ID of the action.
      - `email` string: Email address of the recipient.
      - `status` string: Status of the action.
      - `created` integer: Unix timestamp of when the action was created.
      - `user_id` string: ID of the recipient.
      - `document_id` string: ID of the document.
      - `email_sent_statuses` object[]: Delivery statuses of the invite email.
        - `status` string: Delivery status, for example `sent`.
        - `created_at` integer: Unix timestamp of when the status was first recorded.
        - `last_reaction_at` integer: Unix timestamp of the latest status update.
    - `scheduled_invite` object: Scheduled invite configuration. Can be `null` if no invite is scheduled. Documents and templates only.
    - `original_filename` string: Original filename of the uploaded document. Documents and templates only.
    - `freeform_invite_id` string: ID of the freeform invite. Can be `null`. Document groups and document group templates only.
    - `origin_document_id` string: Identifier of the source document if this document was created as a copy. Can be `null`. Documents and templates only.
    - `document_group_info` object: Document group information if this document belongs to a group. Documents and templates only.
      - `state` string: State of the document group, for example `created` or `pending`. `null` if the document is not in a group.
      - `invite_id` string: ID of the document group invite. `null` if no invite has been sent.
      - `invite_status` string: Status of the document group invite. `null` if no invite has been sent.
      - `sign_as_merged` boolean: `true` if the documents in the group are signed as a single merged document.
      - `freeform_invite` object: Freeform invite sent for the document group.
        - `id` string: ID of the freeform invite. `null` if no freeform invite has been sent.
      - `document_group_id` string: ID of the document group. `null` if the document is not in a group.
      - `doc_count_in_group` integer: Number of documents in the document group. `0` if the document is not in a group.
      - `document_group_name` string: Name of the document group. `null` if the document is not in a group.
    - `document_group_name` string: Name of the document group or document group template. Document groups and document group templates only.
    - `enumeration_options` object[]: List of enumeration options for dropdown fields. Documents and templates only.
    - `viewer_field_invites` object[]: List of viewer field invites for the document. Documents and templates only.
    - `approver_field_invites` object[]: List of approver field invites for the document. Documents and templates only.
    - `email_action_on_complete` string: Email action to perform when the group is completed. Can be `null`. Document groups and document group templates only.
    - `document_group_template_info` object[]: Active document group templates that include this document. Empty if the document isn't part of any document group template.
      - `shared` integer: Always `0` in this response. To check whether a document group template is shared with a team, use [`GET /document/{document_id}`](/docs/document/operations/get-document).
      - `own_as_merged` boolean: Whether the document group template has merged status: `true` if the template is merged, `false` if not.
      - `document_group_template_id` string: ID of the document group template.
      - `document_group_template_name` string: Name of the document group template.
    - `originator_organization_settings` object[]: Organization-level settings that apply to the document's originator. Each item has a `setting` name and its `value`.
      - `value` string: Value of the setting, as a string.
      - `setting` string: Name of the organization setting.
  - `parent_id` string: ID of the parent folder.
  - `team_name` string: Name of the team. Team folders only.
  - `team_type` string: Type of the team. Team folders only.
  - `system_folder` boolean: Whether the folder is a system folder, such as `Documents` or `Templates`.
  - `total_documents` integer: Total number of documents in the folder, across all pages.

## Other responses

- `400`: The folder does not exist or does not belong to the user.

---

[API](https://skmtc.dev/signnow/apis/signnow-api.md) - [All operations](https://skmtc.dev/signnow/apis/signnow-api/llms.txt) - [OpenAPI document](https://skmtc.dev/signnow/apis/signnow-api/revisions/1c9c30a6142b?raw)
