Skip to content

Miscellaneous

Submit Contact Form

Endpoint: POST /contact

Description: Submit a contact us form.

Request Body:

{
    "name": "Jane Doe",
    "email": "jane.doe@example.com",
    "subject": "Question about the app",
    "message": "I have a question about the app.",
    "phone": "+1234567890"
}

Response: 201 Created

{
    "id": "contact_uuid",
    "email": "jane.doe@example.com",
    "created_at": "2025-11-27T10:00:00Z"
}

List Contact Messages

Endpoint: GET /contact

Description: Admin: List all contact messages.

Response: 200 OK

[
    {
        "id": "contact_uuid",
        "name": "Jane Doe",
        "email": "jane.doe@example.com",
        "subject": "Question about the app",
        "message": "I have a question about the app.",
        "phone": "+1234567890",
        "resolved": false,
        "created_at": "2025-11-27T10:00:00Z"
    }
]

Delete Contact Message

Endpoint: DELETE /contact/{contact_id}

Description: Admin: Delete a contact message.

Response: 200 OK

Track Download

Endpoint: POST /downloads/track

Description: Track a download event.

Request Body:

{
    "download_type": "resource",
    "resource_id": "resource_uuid",
    "file_name": "resource.pdf",
    "file_url": "https://example.com/resource.pdf",
    "source": "app"
}

Response: 201 Created

{
    "id": "download_event_uuid",
    "download_type": "resource",
    "occurred_at": "2025-11-27T10:00:00Z"
}

Get Download Stats

Endpoint: GET /downloads/stats

Description: Get download statistics.

Query Parameters: - from_dt (datetime): Start date - to_dt (datetime): End date - group_by (string): Group by field

Response: 200 OK

{
    "resource": 10,
    "image": 5
}

Get FAQs

Endpoint: GET /faqs

Description: Get a list of FAQs with optional filtering and pagination.

Query Parameters: - category (string): Filter by category - search (string): Search term - limit (integer): Number of items per page - offset (integer): Number of items to skip

Response: 200 OK

{
    "data": [
        {
            "id": "faq_uuid",
            "category": "General",
            "question": "What is Nora?",
            "answer": "Nora is a platform for mothers.",
            "keywords": [],
            "view_count": 100,
            "helpful_count": 50,
            "order_index": 1,
            "created_at": "2025-11-27T10:00:00Z"
        }
    ],
    "meta": {
        "total": 1,
        "limit": 20,
        "offset": 0
    }
}

Contact Support

Endpoint: POST /support/contact

Description: Send a support message to contact@noramum.app.

Request Body:

{
    "email": "jane.doe@example.com",
    "message": "I need help with my account."
}

Response: 201 Created

{
    "status": "success",
    "message": "Your message has been sent successfully. Our support team will get back to you soon.",
    "data": {}
}

Endpoint: GET /search

Description: Search albums and memory notes for the authenticated user.

Query Parameters: - q (string): Search query - limit (integer): Number of items per page - offset (integer): Number of items to skip

Response: 200 OK

{
    "results": [
        {
            "type": "album",
            "id": "album_uuid",
            "name": "My Album"
        },
        {
            "type": "memory",
            "id": "memory_uuid",
            "note": "This is a great memory!",
            "album_id": "album_uuid",
            "album_name": "My Album",
            "photo_url": "https://nora.s3.amazonaws.com/memories/photo_uuid.jpg"
        }
    ]
}