---
title: "Service: /setup [GET]"
source: https://dev.pageseeder.com/api/services/setup_get.html
description: "API endpoint for returning PageSeeder configuration information when not yet configured, or to administrators when already set up. It requires no parameters and outputs JSON or XML containing global and database properties."
last_updated: 2026-09-08T11:53:15+10:00
document_type: api_endpoint
operation_id: system-GET
resource_id: system
path_template: /setup
http_method: GET
api_category: system
implementation_version: 6.0000
api_since: 4.0100
deprecated_since: null
obsolete_since: null
api_support: experimental
cache_control: null
generated_at: 2025-08-04
tokens: ~308
---

# /setup \[GET\]

## Description

This service returns the setup information if PageSeeder is not already configured. 

## Parameters

No parameters required.

## Permission

If the value of `DBURL` [database property](../../guide/configuration/properties/database_properties.md) is empty, this service can be invoked without authentication as PageSeeder assumes that the setup has not been completed.

Otherwise, only administrators can invoke it.

## Response

The response reflects the current state of the PageSeeder setup. It includes the values from the [global](../../guide/configuration/properties/global_properties.md) and database properties used to set up PageSeeder.

The response is identical to [/setup \[POST\]](setup_post.md) except for the following fields:

| Field | Description | Type |
| --- | --- | --- |
| `loginrequired` | Always `false`  | boolean |
| `productkeyinvalid` | Set to `true` if the product key is not valid when PageSeeder is already set up | boolean |

## Error handling

| HTTP status code | Error condition |
| --- | --- |
| **401** | If PageSeeder is already set up and the user is not authenticated |
| **403** | If PageSeeder is already set up and the user is not an administrator |



