---
title: "Element <client>"
source: https://dev.pageseeder.com/api/elements/element_client.html
description: "API Element reference for <client>"
last_updated: 2026-08-07T17:09:54+10:00
tokens: ~796
---

# \<client\>

## Summary

The XML representation of an OAuth client.

## Usage context

## Attributes

This element has the following attributes:

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| access-token-mag-age |  |  | Default max age in seconds of access tokens |
| app |  |  | App |
| confidential |  |  |  |
| client-uri |  |  |  |
| created |  |  |  |
| description |  |  |  |
| grant-type |  |  |  |
| id |  | no | Internal PageSeeder ID for the client |
| identifier |  | no | Unique identifier refered to as client\_id in Oauth |
| last-token |  |  |  |
| modified |  |  |  |
| name |  |  |  |
| scope |  |  |  |
| redirect-uri |  |  |  |
| refresh-token-max-age |  |  | Default max age in seconds of refresh tokens |
| requires-consent | `boolean` | no |  |
| webhook-secret |  |  |  |

## Examples

```lang-xml

<client id="1"
        identifier="2aa92c5a79baf3fe"
        requires-consent="false"
        confidential="false"
        name="My app"
        grant-type="authorization_code"
        [created="2020-03-08T12:34:00+10:00"]
        [modified="2020-03-10T11:24:00+10:00"]
        [last-token="2020-05-10T10:28:00+10:00"]
        [app="Timesheet"]
        [webhook-secret="S0meP@ssw0d"]
        [redirect-uri="http://example.org/login"]
        [description="My example timesheet"]
        [client-uri="http://example.org"]
        [scope="openid profile email"]
        access-token-max-age="7200"
        refresh-token-max-age="0">
  <member id="45" ...>
    <fullname>John Smith</fullname>
  </member>
</client>
```

## Schema

### XML Schema

```lang-xml

<xs:element name="client" type="client"/>

<xs:complexType name="client">
  <xs:sequence>
    <xs:element name="member" type="member-core"/>
  </xs:sequence>
  <xs:attribute name="id"
                type="id"
                use="required"/>
  <xs:attribute name="identifier"
                type="client-identifier"
                use="required"/>
  <xs:attribute name="requires-consent"
                type="xs:boolean"
                use="required"/>
  <xs:attribute name="confidential"
                type="xs:boolean"
                 use="required"/>
  <xs:attribute name="name"
                type="client-name"
                use="required"/>
  <xs:attribute name="grant-type"
                type="client-granttype"
                use="required"/>
  <xs:attribute name="app"            type="xs:string"/>
  <xs:attribute name="client-uri"     type="xs:anyURI"/>
  <xs:attribute name="created"        type="xs:date"/>
  <xs:attribute name="description"    type="xs:string"/>
  <xs:attribute name="last-token"     type="xs:date"/>
  <xs:attribute name="modified"       type="xs:date"/>
  <xs:attribute name="redirect-uri"   type="xs:anyURI"/>
  <xs:attribute name="scope"          type="xs:string"/>
  <xs:attribute name="webhook-secret" type="xs:string"/>
  <xs:attribute name="access-token-max-age"
                type="positive-long"
                use="required"/>
  <xs:attribute name="refresh-token-max-age"
                type="positive-long"
                use="required"/>
</xs:complexType>
```

## Compatibility

No change since initial API release.

