{
  "info": {
    "name": "Swyftstack API",
    "description": "Official Postman collection for the Swyftstack public API. Set the `apiKey` collection variable to your key (Settings → API keys). All requests use bearer auth against {{baseUrl}}.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://swyftstack.com/v1"
    },
    {
      "key": "apiKey",
      "value": "sk_live_your_key_here"
    }
  ],
  "item": [
    {
      "name": "Databases",
      "item": [
        {
          "name": "List databases",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/databases",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases"
              ]
            }
          }
        },
        {
          "name": "Create database",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"project\": \"proj_xxx\",\n  \"name\": \"production\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/databases",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases"
              ]
            }
          }
        },
        {
          "name": "Get database",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/databases/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases",
                ":id"
              ]
            }
          }
        },
        {
          "name": "Delete database",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/databases/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases",
                ":id"
              ]
            }
          }
        },
        {
          "name": "Restart database",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/databases/:id/restart",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases",
                ":id",
                "restart"
              ]
            }
          }
        },
        {
          "name": "Rotate password",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/databases/:id/rotate-password",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases",
                ":id",
                "rotate-password"
              ]
            }
          }
        },
        {
          "name": "Connection details",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/databases/:id/connection",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases",
                ":id",
                "connection"
              ]
            }
          }
        },
        {
          "name": "SSL status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/databases/:id/ssl",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases",
                ":id",
                "ssl"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Network & security",
      "item": [
        {
          "name": "Get IP allow-list",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/databases/:id/allowlist",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases",
                ":id",
                "allowlist"
              ]
            }
          }
        },
        {
          "name": "Set IP allow-list",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"entries\": [\n    \"203.0.113.4\"\n  ]\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/databases/:id/allowlist",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases",
                ":id",
                "allowlist"
              ]
            }
          }
        },
        {
          "name": "RLS overview",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/databases/:id/rls",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases",
                ":id",
                "rls"
              ]
            }
          }
        },
        {
          "name": "Set RLS",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"table\": \"orders\",\n  \"enabled\": true\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/databases/:id/rls",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases",
                ":id",
                "rls"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Backups & recovery",
      "item": [
        {
          "name": "List backups",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/databases/:id/backups",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases",
                ":id",
                "backups"
              ]
            }
          }
        },
        {
          "name": "Create backup",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/databases/:id/backups",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases",
                ":id",
                "backups"
              ]
            }
          }
        },
        {
          "name": "Restore backup",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/databases/:id/backups/:backupId/restore",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases",
                ":id",
                "backups",
                ":backupId",
                "restore"
              ]
            }
          }
        },
        {
          "name": "Pin backup",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"pinned\": true\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/databases/:id/backups/:backupId/pin",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases",
                ":id",
                "backups",
                ":backupId",
                "pin"
              ]
            }
          }
        },
        {
          "name": "Recovery status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/databases/:id/recovery",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases",
                ":id",
                "recovery"
              ]
            }
          }
        },
        {
          "name": "Latest export",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/databases/:id/export",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "databases",
                ":id",
                "export"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Imports",
      "item": [
        {
          "name": "List imports",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/imports",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "imports"
              ]
            }
          }
        },
        {
          "name": "Import database",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"project\": \"proj_xxx\",\n  \"name\": \"migrated\",\n  \"source_url\": \"postgres://user:pass@host/db\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/imports",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "imports"
              ]
            }
          }
        },
        {
          "name": "Import status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/imports/:importId",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "imports",
                ":importId"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Storage",
      "item": [
        {
          "name": "List buckets",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/buckets",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "buckets"
              ]
            }
          }
        },
        {
          "name": "Create bucket",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"project\": \"proj_xxx\",\n  \"name\": \"assets\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/buckets",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "buckets"
              ]
            }
          }
        },
        {
          "name": "List objects",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/buckets/:id/objects",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "buckets",
                ":id",
                "objects"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Account & agent",
      "item": [
        {
          "name": "Usage",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/account/usage",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "account",
                "usage"
              ]
            }
          }
        },
        {
          "name": "Limits",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/account/limits",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "account",
                "limits"
              ]
            }
          }
        },
        {
          "name": "Billing",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/account/billing",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "account",
                "billing"
              ]
            }
          }
        },
        {
          "name": "API keys",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/account/api-keys",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "account",
                "api-keys"
              ]
            }
          }
        },
        {
          "name": "Audit logs",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/account/audit-logs",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "account",
                "audit-logs"
              ]
            }
          }
        },
        {
          "name": "Agent status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/agent/status",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "agent",
                "status"
              ]
            }
          }
        },
        {
          "name": "Recommendations",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/agent/recommendations",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "agent",
                "recommendations"
              ]
            }
          }
        }
      ]
    }
  ]
}