Skip to main content

 API elements

Service API elements from <alias> to <workflow>

<alias>

Summary

Defines an alternative hostname (alias) for an existing host in PageSeeder.

Host aliases allow you to access the same PageSeeder host using different domain names – useful for supporting multiple branded URLs, migration scenarios, or local development environments.

Usage context

Permitted contentnone (empty)
Permitted parent<aliases>

The <alias> element is always nested within an <aliases> container under a <host> element.

Attributes

This element includes the following attributes.

NameTypeRequiredDescription
idxs:longyesThe ID of the group
namexs:stringyesThe hostname of the alias

@id

The PageSeeder database identifier for the alias. It is always an immutable positive long value that is unique on a specific PageSeeder server within the set all aliases.

@name

The actual hostname that will serve as an alias, for example, app.example.org or local.example.com.

Requirements:

  • Must be a valid domain name
  • Case-insensitive
  • Maximum length: 255 characters
  • Must follow standard hostname conventions (alphanumeric characters and hyphens, no spaces)

Examples

Imagine you're running a PageSeeder instance for a company that uses multiple domains:

  • Primary domain: app.example.com
  • Legacy domain: app.example.org
  • Content delivery network: app.example.net
  • Local development: app.localhost

XML Example

Here's a host configured with multiple aliases:

<host id="1" name="app.example.com" external="false">
  <aliases>
    <alias id="1" name="app.example.org"/>
    <alias id="2" name="app.example.net"/>
    <alias id="3" name="app.localhost"/>
    <alias id="4" name="local.example.org"/>
  </aliases>
</host>

JSON Example

The same configuration in JSON format:

{
  "host": {
    "id": 1,
    "name": "app.example.com",
    "external": false,
    "aliases": [
      {
        "id": 1,
        "name": "app.example.org"
      },
      {
        "id": 2,
        "name": "app.example.net"
      },
      {
        "id": 3,
        "name": "app.localhost"
      },
      {
        "id": 4,
        "name": "local.example.org"
      }
    ]
  }
}

Schema

XML Schema

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

<xs:complexType name="alias">
  <xs:attribute name="id"   type="id"       use="required"/>
  <xs:attribute name="name" type="hostname" use="required"/>
</xs:complexType>

<xs:simpleType name="hostname">
  <xs:restriction base="xs:string">
    <xs:maxLength value="255"/>
    <xs:pattern
value="([a-z0-9]([a-z0-9-]*[a-z0-9])?\.?)+[a-z0-9]([a-z0-9-]*[a-z0-9])?"/>
  </xs:restriction>
</xs:simpleType>

JSON Schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "minimum": 1,
      "description": "The PageSeeder database identifier for the alias"
    },
    "name": {
      "type": "string",
      "maxLength": 255,
      "pattern": "^([a-z0-9]([a-z0-9-]*[a-z0-9])?\\.?)+[a-z0-9]([a-z0-9-]*[a-z0-9])?$",
      "description": "The hostname of the alias (valid domain name, case-insensitive, max 255 characters)"
    }
  },
  "required": ["id", "name"],
  "additionalProperties": false
}

Compatibility

Stable since initial API release. No breaking changes.

Created on , last edited on