API Documentation

Welcome to the comprehensive documentation for the Ivyi Platform API. This guide covers everything you need to integrate with our backend services.

๐ŸŽ About Ivyi API

The Ivyi API provides the backend infrastructure for managing users, occasions, gifts, and social interactions. It follows RESTful conventions and is built with modern, scalable technologies designed for performance and reliability.

๐Ÿ—๏ธ Technology Stack

๐ŸŽฏ Core API Domains

๐Ÿ‘ฅ Users API

Complete user management system with:

๐ŸŽ‰ Occasions API

Full event lifecycle management:

๐ŸŽ Gifts API

Comprehensive gifting coordination:

๐Ÿš€ Getting Started

Prerequisites

Quick Setup

  1. Navigate to API directory

    cd apps/api
  2. Install dependencies

    npm install
  3. Configure environment

    cp .env.example .env
    # Edit .env with your database and JWT settings
  4. Setup database

    npm run db:setup
    npm run db:migrate
    npm run db:seed
  5. Start development

    npm run dev

๐Ÿ“š API Documentation

Core Documentation

Architecture Documentation

The Ivyi API is fully documented using OpenAPI 3.0 and accessible through an interactive Swagger UI. This is the recommended way to explore and test all available endpoints.

Accessing Documentation

When running the API locally, access the interactive documentation at:

What You Can Do

The interactive Swagger UI provides:

API Domains Available

Why Use Interactive Docs?

๐Ÿ”’ Authentication & Security

JWT Token Management

Request Validation

๐Ÿ“Š Response Format

JSON:API Standard

All API responses follow JSON:API specification:

{
  "data": {
    "type": "user",
    "id": "uuid",
    "attributes": { ... }
  },
  "meta": {
    "total": 1,
    "page": 1
  }
}

Error Handling

Standardized error responses:

{
  "errors": [
    {
      "title": "Validation Error",
      "detail": "Email is required",
      "status": "400"
    }
  ]
}

๐Ÿ› ๏ธ Development Tools

Available Scripts

Code Quality Assurance

๐ŸŒ Interactive Documentation

When running the API locally, access:

Interactive documentation includes: