# Pages API
The Pages API allows you to retrieve and filter pages from your tenant.
Required Scope: read:pages
# Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /pages | List all pages with optional filtering |
| GET | /pages/:id | Get a specific page by ID |
# List Pages
Retrieve a list of pages from your tenant.
GET /pages
# Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
client_id | string | Yes | - | Your developer client ID |
client_secret | string | Yes | - | Your developer client secret |
grant_type | string | Yes | - | Must be client_credentials |
limit | number | No | 5 | Maximum number of pages to return |
name | string | No | - | Filter by page name (partial match) |
slug | string | No | - | Filter by page slug |
published | boolean | No | - | Filter by published status (true or false) |
# Request Examples
# Get Default Pages (5 items)
curl -X GET 'https://api.admin.novti.io/pages?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=client_credentials'
# Get N Pages (e.g., 10)
curl -X GET 'https://api.admin.novti.io/pages?limit=10&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=client_credentials'
# Filter by Name
curl -X GET 'https://api.admin.novti.io/pages?name=Home&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=client_credentials'
# Filter by Slug
curl -X GET 'https://api.admin.novti.io/pages?slug=home-page&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=client_credentials'
# Filter by Published Status
# Get only published pages
curl -X GET 'https://api.admin.novti.io/pages?published=true&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=client_credentials'
# Get only unpublished pages
curl -X GET 'https://api.admin.novti.io/pages?published=false&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=client_credentials'
# Response
Success (200 OK)
{
"status": "Success",
"data": [
{
"id": "abc123",
"name": "Donation Page",
"internalName": "Campaign Donation",
"slug": "donation",
"published": true,
"baseTemplate": "coffee-cream",
"baseLayout": "layout123",
"formId": "form456",
"counterId": "counter789",
"successPageId": "success123",
"campaignCode": "summer-2024",
"salesforceCampaignId": "701xx00000XXXXX",
"salesforceDestinationId": null,
"marketingCloudTriggeredSendCode": "welcome_email",
"customFields": [],
"metatags": [
{
"name": "description",
"content": "Support our cause",
"property": "description"
}
],
"language": "en-GB",
"supportedLanguages": ["en-GB", "nl", "fr"],
"purlRequired": false,
"createdAt": 1736765587,
"updatedAt": 1768922589,
"deletedAt": null
}
],
"meta": {
"size": 1
}
}
Notes:
- The
recipesfield is automatically removed from page data for security reasons. - Results are limited by the
limitparameter (default: 5). - Timestamps are returned as Unix timestamps (seconds since epoch).
# Get Page by ID
Retrieve a specific page by its unique identifier.
GET /pages/:id
# Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique page identifier |
# Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
client_id | string | Yes | Your developer client ID |
client_secret | string | Yes | Your developer client secret |
grant_type | string | Yes | Must be client_credentials |
# Request Example
curl -X GET 'https://api.admin.novti.io/pages/page123?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=client_credentials'
# Response
Success (200 OK)
{
"status": "Success",
"data": {
"id": "abc123",
"name": "Donation Page",
"internalName": "Campaign Donation",
"slug": "donation",
"published": true,
"baseTemplate": "coffee-cream",
"baseLayout": "layout123",
"formId": "form456",
"counterId": "counter789",
"successPageId": "success123",
"campaignCode": "summer-2024",
"salesforceCampaignId": "701xx00000XXXXX",
"salesforceDestinationId": null,
"marketingCloudTriggeredSendCode": "welcome_email",
"customFields": [],
"metatags": [
{
"name": "description",
"content": "Support our cause",
"property": "description"
}
],
"language": "en-GB",
"supportedLanguages": ["en-GB", "nl", "fr"],
"purlRequired": false,
"createdAt": 1736765587,
"updatedAt": 1768922589,
"deletedAt": null
},
"meta": {
"size": 1
}
}
Not Found (404)
{
"status": "Not Found",
"data": {},
"meta": {
"size": 0
}
}
# Page Object
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the page |
name | string | Display name of the page |
internalName | string | Internal reference name |
slug | string | URL-friendly identifier |
published | boolean | Whether the page is publicly visible |
baseTemplate | string | Visual theme/template used |
baseLayout | string | Layout configuration identifier |
formId | string | Associated form identifier (if any) |
counterId | string | Associated counter identifier (if any) |
successPageId | string | Success page redirect target (if any) |
campaignCode | string | Campaign code for tracking |
salesforceCampaignId | string | Salesforce campaign identifier |
salesforceDestinationId | string | Salesforce destination identifier |
marketingCloudTriggeredSendCode | string | Marketing Cloud triggered send code |
customFields | array | Custom page fields |
metatags | array | SEO meta tags |
language | string | Page language code |
supportedLanguages | array | Supported language codes |
purlRequired | boolean | Whether personalized URL is required |
createdAt | number (Unix timestamp) | Creation timestamp |
updatedAt | number (Unix timestamp) | Last update timestamp |
deletedAt | number (Unix timestamp) | Deletion timestamp (if soft-deleted) |