---
title: "Retrieve public link details"
method: GET
path: "/links/{linkId}"
tags: ["links"]
---

# Retrieve public link details

`GET /links/{linkId}`

## Request

- Base URL: `https://docs-api.formify.eu/v1`
- URL: `https://docs-api.formify.eu/v1/links/{linkId}`
- Auth: OAuth 2 (authorization code, authorization URL `https://docs-api.formify.eu/v1/oauth/authorize`, token URL `https://docs-api.formify.eu/v1/oauth/token`)

Retrieves a public link's full configuration, including its signature slots and the URL to share.

## Path parameters

- `linkId` string, uuid, required

## Query parameters

- `errorLanguage` 'en' | 'sv' | 'es'

## Response `200`

Public link details retrieved successfully

- PublicLinkDetail
  - `linkId` string, uuid: Unique identifier of the public link
  - `name` string: Name of the link
  - `createdAt` string, date-time: When the link was created
  - `updatedAt` string, date-time, nullable: When the link was last edited
  - `userId` string, uuid: User ID of the link owner
  - `sharingSetting` 'shared' | 'private': Who on the account may administer the link
  - `status` 'active' | 'disabled' | 'processing': - `active`: the link is live and can be opened and signed. - `disabled`: the link has been switched off and no longer accepts new signers. Documents already produced by it are unaffected. There is no way to switch it back on. - `processing`: the AI assistant is still reading the document. `linkUrl` is `null` and the link cannot be edited until this finishes. Note this is a different set of values from a document's `status` — a link is a source of documents rather than a signature request, so it has no signing progress of its own.
  - `linkUrl` string, nullable: The link to share. `null` while `status` is `processing`, because the document is not servable yet. Uses the account's custom domain when one is configured. Formify never sends this to anyone — distributing it is up to you.
  - `fileId` string, uuid, nullable: The uploaded file the link was built from, when it is still available
  - `language` 'en' | 'sv' | 'es': Language of the signing experience
  - `aiAssistant` AiAssistantResponse, nullable: AI Assistant configuration for this document. Only included in the response if the document was created with AI Assistant enabled.
    - `enabled` boolean: Whether AI Assistant is enabled for this document.
    - `textToSpeech` boolean: Whether text-to-speech is enabled for the AI Assistant.
    - `language` 'ar' | 'bg' | 'zh' | 'hr' | 'cs' | 'da' | 'nl' | 'en' | 'fil' | 'fi' | 'fr' | 'de' | 'el' | 'hi' | 'id' | 'it' | 'ja' | 'ko' | 'ms' | 'pl' | 'pt' | 'ro' | 'ru' | 'es' | 'sv' | 'ta' | 'tr' | 'uk': The language configured for the AI Assistant.
  - `signeeDetails` PublicLinkSignatureField[]: The link's signature slots, in order. Every property round-trips: what you read here can be sent straight back to `PUT /links/{linkId}` without losing anything.
    - `fullName` string: A **label** pre-filled on the signature line, not an identity. A public link has no known signer, so this is normally a role — `"Buyer"`, `"Witness"` — and whoever signs can overwrite it. Leave it empty and the signer is asked to type their own name instead.
    - `signatureType` 'digital_ink' | 'bankid_identification' | 'digital_ink_id_scan' | 'face_liveness': Type of signature / identity verification used by whoever signs this slot. Same values and the same capability requirements as on a document — see `SignatureField.signatureType`.
    - `signaturePlacement` 'existing' | 'new_page': Place the signature on an existing page (`existing`, default) or on a dedicated A4 page appended to the document (`new_page`). `digital_ink_id_scan` does not support `new_page`.
    - `requireNameClarification` boolean: Ask the signer to type their name next to the signature. Defaults to `true`, which is normally what you want on a public link, since the slot has no identity of its own.
    - `hidePersonalNumber` boolean: Leave the signer's personal number out of the rendered signature. Only meaningful for signature types that collect one.
    - `useInitials` boolean: Render the signature as initials rather than a full signature.
    - `paymentLink` object, nullable: Collect a payment before this slot can be signed. `null` when the slot requires no payment. The payment link must allow multiple use — one public link is signed by many different people, so a single-use payment link would stop working after the first of them. Payment links themselves are set up in the Formify client, not through this API. This property is returned as well as accepted so that a read-modify-write round trip does not drop a payment requirement configured there. Requires the `signAndPay` capability.
      - `id` string, uuid: Identifier of an existing payment link on the account.
      - `requireEmailVerification` boolean: Require the payer to verify their email address before paying.
    - `signatureBox` object: Placement of the signature field. **Required** when `signaturePlacement` is `existing`. Base size before scaling: - Width: 219 points - Height: 58 points
      - `page` integer: Page number where the signature box should be placed. The first page has index 0.
      - `x` integer: X-coordinate for the signature box placement (minimum value 0)
      - `y` integer: Y-coordinate for the signature box placement (minimum value 0)
      - `scale` number, float: Scales the entire signature field. Applies only when `signaturePlacement` is `existing`.
    - `idScanBox` object: Placement of the scanned ID placeholder, required when `signatureType` is `digital_ink_id_scan` and unused otherwise. Base size before scaling: - Width: 218 points - Height: 138 points
      - `page` integer: Page number where the ID scan placeholder should be placed. The first page has index 0.
      - `x` integer: X-coordinate for the ID scan placeholder placement (minimum value 0)
      - `y` integer: Y-coordinate for the ID scan placeholder placement (minimum value 0)
      - `scale` number, float: Scales the entire ID scan placeholder.

## Other responses

- `401`: Unauthorized - Missing or invalid access token.
- `403`: Forbidden - the link is private and belongs to another user, or the capability is missing.
- `404`: Public link not found
- `500`: Internal server error

---

[API](https://skmtc.dev/formify/apis/formify-api.md) · [All operations](https://skmtc.dev/formify/apis/formify-api/llms.txt) · [OpenAPI document](https://skmtc.dev/formify/apis/formify-api/revisions/571c4c0d4f4f?raw)
