Skip to content

REST API Reference

Auto-generated by IssAssist Documentation Bootstrap ยท 2026-06-25 Review this page and remove [TODO: verify] markers as you verify each detail.


REST API Reference for IssAssist

Authentication

POST /api/v1/auth/login

  • Request Body: username and password

    {
        "username": "your_username",
        "password": "your_password"
    }
    

  • Response:

    • JWT token (example) eyJhbGdvcml0aGhuczpcZ2l0aHBzdGF5IjoiMjMwfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

Using Bearer Token in Authorization Header

Send a valid JWT token in the Authorization header with Bearer prefix.

Authorization: Bearer your_jwt_token

Token Expiry and Refresh

Tokens are valid for 1 hour. Tokens can be refreshed using the refresh token returned during login. Refer to the Token Management API for details on refresh tokens.

Documented Routers

Nodes Router

  • Description: Manage nodes in the backup system.
  • Endpoints:

    • GET /api/v1/nodes - List all nodes

      {
          "nodes": [
              {
                  "id": 1,
                  "name": "Node 1"
              },
              {
                  "id": 2,
                  "name": "Node 2"
              }
          ]
      }
      

    • GET /api/v1/nodes/{node_id} - Get node by ID

      {
          "id": 1,
          "name": "Node 1",
          "status": "online"
      }
      

    • POST /api/v1/nodes - Create new node

      {
          "name": "New Node",
          "status": "offline"
      }
      

    • PUT /api/v1/nodes/{node_id} - Update node status

      {
          "id": 1,
          "status": "online"
      }
      

    • DELETE /api/v1/nodes/{node_id} - Delete node by ID

  • Query Parameters:

    Parameter Description
    limit Number of nodes to return (default is 10)
    offset Offset for pagination

Alerts Router

  • Description: Manage alerts in the backup system.
  • Endpoints:

    • GET /api/v1/alerts - List all alerts

      {
          "alerts": [
              {
                  "id": 1,
                  "message": "Node 1 offline"
              },
              {
                  "id": 2,
                  "message": "Node 2 offline"
              }
          ]
      }
      

    • GET /api/v1/alerts/{alert_id} - Get alert by ID

      {
          "id": 1,
          "message": "Node 1 offline",
          "timestamp": 1643723400
      }
      

    • POST /api/v1/alerts - Create new alert

      {
          "message": "New Alert"
      }
      

    • PUT /api/v1/alerts/{alert_id} - Update alert message

      {
          "id": 1,
          "message": "Node 1 offline updated"
      }
      

    • DELETE /api/v1/alerts/{alert_id} - Delete alert by ID

  • Query Parameters:

    Parameter Description
    limit Number of alerts to return (default is 10)
    offset Offset for pagination

Common Response Formats

Success Responses

  • JSON response with a success code and message
    {
        "code": 200,
        "message": "Success"
    }
    

Error Responses

  • JSON response with an error code and message
    {
        "code": 400,
        "error": "Invalid request"
    }
    

Pagination Responses

  • JSON response with pagination metadata (e.g., total count, limit, offset)
    {
        "data": [...],
        "metadata": {
            "total_count": 100,
            "limit": 10,
            "offset": 0
        }
    }
    

Rate Limiting and Pagination

  • API has a rate limit of 50 requests per minute per IP address.
  • Each endpoint supports pagination with limit and offset query parameters.

OpenAPI / Swagger UI URL

The API is available at /docs.