---
title: "Services"
source: https://dev.pageseeder.com/api/services.html
last_updated: 2026-08-07T17:09:54+10:00
tokens: ~362
---

# Services

From version 5.0, developers can access PageSeeder data and functionality through the Web service API.

Services always start with the same URL prefix. If the default [site prefix](../reference/glossary/site_prefix.md) has not been changed, all services will match the following for PageSeeder v6:

```
/ps/api/*
```

Or for v5 and v6:

```
/ps/service/*
```

To invoke a service simply expand the URL pattern and append it to the service URL prefix. For example, the following components are needed to get the details of a member with username `jsmith` or ID `17` using the [Get Member service](services/member-GET.md):

```
prefix = /ps/api
pattern = /members/{member}/details
member = ~jsmith or 17
extension = .xml
```

The resulting URLs for the service are:

```
/ps/api/members/~jsmith/details.xml
```

```
/ps/api/members/17/details.xml
```

> **Note:** Wherever a non-numeric string occurs in a URL variable it should be prefixed by ~ to prevent clashes with other URLs (e.g. ~jsmith)

The following URL variables accept a number or string:

| Variable | Number | String | Example String |
| --- | --- | --- | --- |
| \{group\} | Group ID | Group name | ~acme-specs |
| \{member\} | Member ID | Username | ~jsmith |
| \{uri\} | URI ID | Doc ID | ~spec123 |

> **Note:** Each service is mapped to a specific HTTP method. While an incorrect method will generally return an HTTP 404 error, it could invoke a different service.

