# Retrieve details of existing builder session

Returns details of the existing builder session.

Endpoint: GET /api/builder/sessions/{session_id}
Version: 1.0.0
Security: APIKey

## Security:

  - `APIKey` (unknown)
    http bearer API Key

## Path parameters:

  - `session_id` (string, required)
    The UUID of the session to retrieve.

## Header parameters:

  - `Accept` (string, required)
    Specify the response format.

## Response 200:

  - `200` (unknown)
    Successfully retrieved the session.

## Response 200 fields (application/json):

  - `data` (object)

  - `data.id` (string, required)

  - `data.status` (string, required)
    Enum: "pending", "completed", "deleted"

  - `data.participants` (array, required)

  - `data.participants.display_name` (string | null, required)

  - `data.participants.email` (string | null, required)

  - `data.participants.external_id` (string | null, required)

  - `data.participants._data_type` (string | null)

  - `data.participants.id` (string, required)

  - `data.participants.token` (string)

  - `data.trial` (any, required)

  - `data.trial.cta_url` (string, required)
    Trial CTA target URL. Must be an absolute `http` or `https` URL (for example, `http://localhost:3000/plans` in development).
    Example: https://example.com/trial

  - `data.trial.heading_text` (string, required)
    Main trial heading. HTML is sanitized and only `strong`, `b`, and `wbr` tags are preserved. Unsupported tags are stripped.
    Example: <strong>Free trial</strong> - Upgrade to unlock full preview, downloads, and e-signing.

  - `data.trial.heading_cta_text` (string, required)
    CTA label in the heading area. Plain text only (HTML not supported). Length must be 2-30 characters.
    Example: Explore plans

  - `data.trial.preview_text` (string, required)
    Text shown in preview mode lock state. Plain text only (HTML not supported).
    Example: Unlock full preview

  - `data.trial.finalize_title` (string, required)
    Title shown on the finalize step in trial mode. Plain text only (HTML not supported).
    Example: Finish and use your document

  - `data.trial.finalize_content` (string, required)
    Finalize step content. HTML is sanitized and only `strong`, `b`, `wbr`, `br`, `li`, `ul`, `h2`, `h3`, `h4`, and `p` tags are preserved. Unsupported tags are stripped.
    Example: <h3>Your document is ready.</h3><p>Upgrade to:</p><ul><li>View the full document</li><li>Download it as a PDF</li><li>Send it for signing</li></ul>

  - `data.trial.finalize_cta_text` (string, required)
    CTA label on the finalize step. Plain text only (HTML not supported). Length must be 2-30 characters.
    Example: Explore plans

  - `data.finalization` (any, required)
    Finalization confirmation settings currently configured for this session.
`null` means the default Builder UI behavior is used.

  - `data.finalization.confirmation_enabled` (boolean, required)
    Enables custom confirmation behavior in the finalize dialog.
When `true`, Builder shows either `confirmation_text` (if provided) or its default confirmation copy.

  - `data.finalization.confirmation_text` (any)

  - `data._data_type` (string)

## Response 404:

  - `404` (unknown)
    Resource not found.

## Response 404 fields (application/json):

  - `data` (null, required)
    Always null for error responses.

  - `meta` (object, required)

  - `meta.status` (object, required)

  - `meta.status.code` (integer, required)

  - `meta.status.text` (string, required)

  - `meta.error` (object, required)

  - `meta.error.text` (string, required)

  - `meta.error.details` (object)
    Validation details, when available, as a map of what failed to a message or a list of messages.

