📕
[ARCHIVED] Cape Agulhas App
  • Home
  • User guide
    • Installation
    • User accounts and service requests
    • Supported devices
    • Troubleshooting
    • How do I reset notification preferences?
    • Enable Notifications from Settings Page
  • Administrator guide
    • Managing content
    • Pages
      • Councillors
      • Services
    • Snippets
    • Notices and Notifications
    • Important Contacts
    • Icons
    • App Environments
    • Administrator accounts
  • API
    • Overview
    • Web hooks
    • Web push
    • Accounts
    • User authentication (JWT Token)
    • Service Requests
  • Development
  • Software Development
  • Architectural Decision Records
    • ADR01: Single page app vs server-side templating
    • ADR02: custom web push backend or which service
  • Collaborator Service Requests Integration
  • Deployment
  • Design System and Component Library
    • Webflow exports & changelog
    • Component library
    • Link Blocks
    • Form Elements
    • Grids
Powered by GitBook
On this page
  • Production endpoint
  • Find a page by path
  • Get a specific page detail
  • Find children of a page
  • Get pages matching a particular type and include the fields specific to this page type

Was this helpful?

  1. API

Overview

PreviousAdministrator accountsNextWeb hooks

Last updated 4 years ago

Was this helpful?

Production endpoint

/api/wagtail/v2/pages/

Find a page by path

/pages/path/find?html_path=...path... responds with 302 to the page detail


 $ curl -i localhost:8000/api/wagtail/v2/pages/find/?html_path=/services/
HTTP/1.1 302 Found
Date: Mon, 19 Oct 2020 18:06:27 GMT
Server: WSGIServer/0.2 CPython/3.8.1
Content-Type: text/html; charset=utf-8
Location: http://localhost:8000/api/wagtail/v2/pages/4/
Vary: Accept, Cookie, Origin
Allow: GET, HEAD, OPTIONS
X-Frame-Options: SAMEORIGIN
Content-Length: 0


 $ curl -i localhost:8000/api/wagtail/v2/pages/find/?html_path=/my-muni/ 
HTTP/1.1 302 Found
Date: Mon, 19 Oct 2020 18:07:03 GMT
Server: WSGIServer/0.2 CPython/3.8.1
Content-Type: text/html; charset=utf-8
Location: http://localhost:8000/api/wagtail/v2/pages/7/
Vary: Accept, Cookie, Origin
Allow: GET, HEAD, OPTIONS
X-Frame-Options: SAMEORIGIN
Content-Length: 0

Get a specific page detail

GET https://muni-portal-backend.openup.org.za/api/wagtail/v2/pages/:id/

Path Parameters

Name
Type
Description

id

string

{
    "id": 15,
    "meta": {
        "type": "core.CouncillorPage",
        "detail_url": "http://localhost:8000/api/wagtail/v2/pages/15/",
        "html_url": "http://localhost:8080/my-muni/political-representatives/councillors/mr-busy-guy/",
        "slug": "mr-busy-guy",
        "show_in_menus": false,
        "seo_title": "",
        "search_description": "",
        "first_published_at": "2020-10-19T16:27:39.827587Z",
        "parent": {
            "id": 14,
            "meta": {
                "type": "core.CouncillorListPage",
                "detail_url": "http://localhost:8000/api/wagtail/v2/pages/14/",
                "html_url": "http://localhost:8080/my-muni/political-representatives/councillors/"
            },
            "title": "Councillors"
        }
    },
    "title": "Mr busy guy",
    "overview": "<p>stuff</p>",
    "councillor_groups": [
        {
            "id": 12,
            "meta": {
                "type": "core.CouncillorGroupPage",
                "detail_url": "http://localhost:8000/api/wagtail/v2/pages/12/"
            },
            "title": "Mayor"
        },
        {
            "id": 13,
            "meta": {
                "type": "core.CouncillorGroupPage",
                "detail_url": "http://localhost:8000/api/wagtail/v2/pages/13/"
            },
            "title": "Some committee"
        }
    ],
    "person_contacts": [
        {
            "value": "1 Dirkie Uys",
            "type": {
                "label": "Physical address",
                "slug": "physical_address",
                "icon_classes": "fas fa-map-marked-alt"
            },
            "annotation": null
        }
    ]
}

Find children of a page

/pages/?child_of=...pageid... responds with the pages below the given page.

curl http://localhost:8000/api/wagtail/v2/pages/?child_of=7

{
    "meta": {
        "total_count": 2
    },
    "items": [
        {
            "id": 8,
            "meta": {
                "type": "core.AdministrationIndexPage",
                "detail_url": "http://localhost:8000/api/wagtail/v2/pages/8/",
                "html_url": "http://localhost:8080/my-muni/administration/",
                "slug": "administration",
                "first_published_at": "2020-10-19T16:13:03.981972Z"
            },
            "title": "Administration"
        },
        {
            "id": 9,
            "meta": {
                "type": "core.PoliticalRepsIndexPage",
                "detail_url": "http://localhost:8000/api/wagtail/v2/pages/9/",
                "html_url": "http://localhost:8080/my-muni/political-representatives/",
                "slug": "political-representatives",
                "first_published_at": "2020-10-19T16:13:25.372792Z"
            },
            "title": "Political representatives"
        }
    ]
}

Get pages matching a particular type and include the fields specific to this page type

GET http://localhost:8000/api/wagtail/v2/pages/?type=core.ServicePage&fields=*'

Query Parameters

Name
Type
Description

fields

string

type

string

{
    "meta": {
        "total_count": 2
    },
    "items": [
        {
            "id": 5,
            "meta": {
                "type": "core.ServicePage",
                "detail_url": "http://localhost:8000/api/wagtail/v2/pages/5/",
                "html_url": "http://localhost:8080/services/electrical-services/",
                "slug": "electrical-services",
                "show_in_menus": false,
                "seo_title": "",
                "search_description": "",
                "first_published_at": "2020-10-06T17:48:07.823000Z"
            },
            "title": "Electrical services",
            "icon_classes": "fas fa-bolt",
            "overview": "<p>The Department is responsible for all electricity services, including electrical infrastructure development.</p><p>The Municipality provides electrical distribution and reticulation services and street lighting to all towns in its area of jurisdiction except Struisbaai North (part of Struisbaai), Protem, Klipdale, Kassiesbaai (part of Arniston) and Elim.</p>",
            "service_contacts": []
        },
        {
            "id": 6,
            "meta": {
                "type": "core.ServicePage",
                "detail_url": "http://localhost:8000/api/wagtail/v2/pages/6/",
                "html_url": "http://localhost:8080/services/water-and-sanitation/",
                "slug": "water-and-sanitation",
                "show_in_menus": false,
                "seo_title": "",
                "search_description": "",
                "first_published_at": "2020-10-06T17:48:46.915000Z"
            },
            "title": "Water and sanitation",
            "icon_classes": "fas fa-tint",
            "overview": "<p>Ensuring our residents have access to clean water is our priority. Fresh water is a scarce resource in the Western Cape that is heavily dependent on rainfall. We all have a part to play in conserving water as much as possible.</p>",
            "service_contacts": [
                {
                    "value": "012 345 1244",
                    "type": {
                        "label": "Phone",
                        "slug": "phone",
                        "icon_classes": "fas fa-phone-alt"
                    },
                    "annotation": "Landline"
                },
.../
https://muni-portal-backend.openup.org.za