{
  "format": "dataset-manifest/1",
  "slug": "database-for-api-management-platform",
  "version": 2,
  "seed": "database-for-api-management-platform:1",
  "spec": {
    "format": "dataset/1",
    "slug": "database-for-api-management-platform",
    "name": "API Management Insights",
    "tagline": "API call logs, user authentications, deployments, and support tickets from a SaaS API management platform.",
    "description": "Users interact with an API management platform to ensure that their applications communicate effectively. Each API call generates data that includes details such as response time, error rates, and associated user activity. This data allows developers to monitor the performance and reliability of their APIs while making informed decisions for optimization. When users authenticate their access to the services, details are logged in the user_authentications table, capturing instances of both successful and failed login attempts. This interplay between API calls and user authentications provides insights into user behavior and application usage patterns.\n\nThe organization of data into various tables allows for a comprehensive analysis of operations. The api_calls table records every interaction with the APIs, while the user_authentications table reflects the access attempts by users. The users table contains core user information, linking to the authentication records to identify who is using the API. Deployments track the rollout of software updates and new features, ensuring that users always access the latest version of the API. Support_tickets capture incidents where users require assistance, offering a view into common issues and user satisfaction. These tables can be joined to answer essential analytical questions by connecting users to their API interactions and support requests.\n\nDevelopers can leverage this data to answer questions such as which APIs are most popular, what common authentication issues arise, and how effectively support queries are resolved. Furthermore, trends in API usage can be discerned from analyzing the relationships between api_calls and deployments, and understanding the impact of new features on user engagement. This dataset is synthetic, providing a safe environment for testing queries, developing insights, and practicing data analytics skills.",
    "domain": "saas",
    "shape": "event-log",
    "useCases": [
      "analytics-demo",
      "etl-pipelines"
    ],
    "keywords": [
      "API management",
      "event logs",
      "SaaS",
      "user authentication",
      "performance metrics",
      "support tickets",
      "analytics",
      "ETL"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "api_calls": {
        "description": "This table records each API call made, including the user and the outcome of the call. It links to user_authentications for context on user sessions.",
        "rows": 500,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the API call."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Reference to the user making the API call."
          },
          "api_endpoint": {
            "kind": "enum",
            "values": [
              "/login",
              "/data",
              "/update",
              "/delete"
            ],
            "description": "The API endpoint that was called."
          },
          "timestamp": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date and time when the API call was made.",
            "dayProfile": "waking"
          },
          "status": {
            "kind": "enum",
            "values": [
              "success",
              "failure"
            ],
            "weights": [
              0.9,
              0.1
            ],
            "description": "Outcome of the API call."
          }
        }
      },
      "user_authentications": {
        "description": "This table captures user authentication events, detailing successful and failed attempts. It connects to the users table to provide user context.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the authentication event."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Reference to the user attempting authentication."
          },
          "timestamp": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date and time of the authentication attempt.",
            "dayProfile": "waking"
          },
          "status": {
            "kind": "enum",
            "values": [
              "success",
              "failure"
            ],
            "weights": [
              0.85,
              0.15
            ],
            "description": "Outcome of the authentication attempt."
          }
        }
      },
      "users": {
        "description": "This table holds user information relevant to API interactions and authentications. It serves as a reference for other tables.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the user."
          },
          "username": {
            "kind": "words",
            "max": 3,
            "description": "Username chosen by the user.",
            "pool": [
              "user",
              "admin",
              "guest",
              "developer",
              "manager",
              "tester",
              "analyst",
              "operator",
              "superuser",
              "contributor",
              "owner",
              "member",
              "client",
              "partner",
              "support",
              "leader",
              "coder",
              "architect",
              "engineer",
              "strategist",
              "innovator"
            ],
            "min": 1
          },
          "email": {
            "kind": "email",
            "description": "User's email address."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date the user was created."
          }
        }
      },
      "deployments": {
        "description": "This table tracks deployment activities, detailing when new versions of APIs are deployed. It connects to the api_calls table to analyze performance post-deployment.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the deployment."
          },
          "version": {
            "kind": "words",
            "max": 3,
            "description": "Version identifier of the API deployed.",
            "pool": [
              "v1",
              "v2",
              "v3",
              "beta",
              "alpha",
              "release",
              "snapshot",
              "stable",
              "canary",
              "hotfix",
              "patch",
              "preview",
              "candidate",
              "test",
              "prod",
              "dev",
              "rc",
              "build",
              "update",
              "revision",
              "increment"
            ],
            "min": 1
          },
          "deployment_time": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date and time when the deployment was made.",
            "dayProfile": "business"
          },
          "notes": {
            "kind": "sentence",
            "max": 50,
            "description": "Notes regarding the deployment."
          }
        }
      },
      "support_tickets": {
        "description": "This table catalogs support tickets raised by users, connecting to the users table for context on the user raising the ticket. It provides insights into user experience and issues faced.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the support ticket."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Reference to the user raising the support ticket."
          },
          "issue_description": {
            "kind": "paragraph",
            "max": 200,
            "description": "Detailed description of the issue faced by the user."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date and time the support ticket was created.",
            "dayProfile": "waking",
            "trend": "growing"
          },
          "status": {
            "kind": "enum",
            "values": [
              "open",
              "resolved"
            ],
            "weights": [
              0.7,
              0.3
            ],
            "description": "Current status of the support ticket."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "timestamped",
      "categorical",
      "nullable"
    ],
    "analysisQuestions": [
      "What percentage of API calls result in success versus failure?",
      "How do user authentication success rates vary over time?",
      "What are the most common issues reported in support tickets?",
      "How do deployment times correlate with API call performance?",
      "What trends can be observed in user engagement based on support ticket creation?"
    ],
    "suggestedQueries": [
      {
        "title": "Join API Calls and User Authentications",
        "sql": "SELECT ac.timestamp, ac.api_endpoint, ua.status FROM api_calls ac JOIN user_authentications ua ON ac.user_id = ua.user_id;",
        "dialect": "postgres"
      },
      {
        "title": "Aggregate Successful API Calls by Endpoint",
        "sql": "SELECT api_endpoint, COUNT(*) AS success_count FROM api_calls WHERE status = 'success' GROUP BY api_endpoint;",
        "dialect": "postgres"
      },
      {
        "title": "User Authentication Success Rate Over Time",
        "sql": "SELECT DATE(timestamp) AS date, COUNT(*) FILTER (WHERE status = 'success') AS success_count, COUNT(*) AS total_count FROM user_authentications GROUP BY date;",
        "dialect": "postgres"
      },
      {
        "title": "Average Time Between Deployments",
        "sql": "SELECT AVG(EXTRACT(EPOCH FROM (d2.deployment_time - d1.deployment_time))) AS avg_time_between FROM deployments d1 JOIN deployments d2 ON d1.id < d2.id;",
        "dialect": "postgres"
      },
      {
        "title": "Support Tickets Resolved Over Time",
        "sql": "SELECT DATE(created_at) AS date, COUNT(*) FILTER (WHERE status = 'resolved') AS resolved_count FROM support_tickets GROUP BY date;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Data Analysts Monitoring API Performance",
        "body": "Data analysts can utilize the API Management Insights dataset to monitor and analyze API performance metrics. By querying the API calls and user authentications, they can identify trends in usage and failures, helping to optimize API performance and enhance user satisfaction."
      },
      {
        "title": "Developers Testing ETL Pipelines",
        "body": "Developers can employ this dataset to test ETL pipelines by extracting data from the various tables, transforming it according to business requirements, and loading it into a data warehouse. This allows for real-world testing of data processing workflows without compromising sensitive information."
      },
      {
        "title": "Customer Support Teams Analyzing User Issues",
        "body": "Customer support teams can leverage the support tickets table to analyze user-reported issues. By examining the trends and outcomes of support tickets, they can identify common pain points and enhance the overall user experience with the API management platform."
      },
      {
        "title": "Product Managers Evaluating Deployment Impact",
        "body": "Product managers can access deployment data to evaluate the impact of new API versions on performance. By analyzing the correlation between deployment times and API call success rates, they can make informed decisions about future updates and improvements."
      }
    ]
  },
  "counts": {
    "deployments": 100,
    "users": 200,
    "api_calls": 500,
    "support_tickets": 150,
    "user_authentications": 300
  },
  "stats": {
    "api_calls": {
      "rows": 500,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "user_id": {
          "nulls": 0,
          "distinct": 181,
          "min": 1,
          "max": 199
        },
        "api_endpoint": {
          "nulls": 0,
          "distinct": 4,
          "min": "/data",
          "max": "/update"
        },
        "timestamp": {
          "nulls": 0,
          "distinct": 500,
          "min": "2023-01-01 19:35:56",
          "max": "2023-12-31 20:51:34"
        },
        "status": {
          "nulls": 0,
          "distinct": 2,
          "min": "failure",
          "max": "success"
        }
      }
    },
    "user_authentications": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "user_id": {
          "nulls": 0,
          "distinct": 147,
          "min": 1,
          "max": 200
        },
        "timestamp": {
          "nulls": 0,
          "distinct": 300,
          "min": "2023-01-01 13:41:00",
          "max": "2023-12-30 12:14:03"
        },
        "status": {
          "nulls": 0,
          "distinct": 2,
          "min": "failure",
          "max": "success"
        }
      }
    },
    "users": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "username": {
          "nulls": 0,
          "distinct": 139
        },
        "email": {
          "nulls": 0,
          "distinct": 200
        },
        "created_at": {
          "nulls": 0,
          "distinct": 200,
          "min": "2023-01-01 04:08:01",
          "max": "2023-12-31 06:02:21"
        }
      }
    },
    "deployments": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "version": {
          "nulls": 0,
          "distinct": 81
        },
        "deployment_time": {
          "nulls": 0,
          "distinct": 100,
          "min": "2023-01-01 17:39:36",
          "max": "2023-12-31 06:31:35"
        },
        "notes": {
          "nulls": 0,
          "distinct": 100
        }
      }
    },
    "support_tickets": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "user_id": {
          "nulls": 0,
          "distinct": 109,
          "min": 1,
          "max": 198
        },
        "issue_description": {
          "nulls": 0,
          "distinct": 150
        },
        "created_at": {
          "nulls": 0,
          "distinct": 150,
          "min": "2023-01-02 07:49:01",
          "max": "2023-12-31 18:43:42"
        },
        "status": {
          "nulls": 0,
          "distinct": 2,
          "min": "open",
          "max": "resolved"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/deployments.csv",
      "format": "csv",
      "table": "deployments",
      "key": "datasets/database-for-api-management-platform/v2/csv/deployments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/database-for-api-management-platform/v2/csv/deployments.csv",
      "bytes": 9390,
      "sha256": "0519a0cad0edeb4428aa5b04bff5689755246483fcdde0924a6329f5d7473db8",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/database-for-api-management-platform/v2/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/database-for-api-management-platform/v2/csv/users.csv",
      "bytes": 12933,
      "sha256": "3941c7256156d3175bdb5cdcf5dfc621633703e71f5759dcfd1097e07a9107fe",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/api_calls.csv",
      "format": "csv",
      "table": "api_calls",
      "key": "datasets/database-for-api-management-platform/v2/csv/api_calls.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/database-for-api-management-platform/v2/csv/api_calls.csv",
      "bytes": 21814,
      "sha256": "40fbd3e7fbe60f9d13968a7954104769cfbd4cf59d210967aa5c34b724f44d5c",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/support_tickets.csv",
      "format": "csv",
      "table": "support_tickets",
      "key": "datasets/database-for-api-management-platform/v2/csv/support_tickets.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/database-for-api-management-platform/v2/csv/support_tickets.csv",
      "bytes": 30068,
      "sha256": "f1cfd2ffdb70d0a09e318b95fa74497c78cfd6369caaf946f38b9ce07aea4d21",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_authentications.csv",
      "format": "csv",
      "table": "user_authentications",
      "key": "datasets/database-for-api-management-platform/v2/csv/user_authentications.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/database-for-api-management-platform/v2/csv/user_authentications.csv",
      "bytes": 10860,
      "sha256": "d8522f01fed032a28a6bfa82e01211706468e0c0c80acafa45de094a78967626",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "database-for-api-management-platform.json",
      "format": "json",
      "table": null,
      "key": "datasets/database-for-api-management-platform/v2/database-for-api-management-platform.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/database-for-api-management-platform/v2/database-for-api-management-platform.json",
      "bytes": 207037,
      "sha256": "dc7b9cc1e427d9844e4c3d2ac836b989d925ed0c76b1c3f379018e8b78f835c6",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/database-for-api-management-platform/v2/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/database-for-api-management-platform/v2/sql/postgres.sql",
      "bytes": 106484,
      "sha256": "8ae54eb68eadc8d06d920386f3054afdbea99c687c09071357727fdcaabf56c1",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/database-for-api-management-platform/v2/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/database-for-api-management-platform/v2/sql/mysql.sql",
      "bytes": 105896,
      "sha256": "46c792e888a78368db402bdac86894da2ac0d98d53fc1d6d97a2bbfef9b90f79",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/database-for-api-management-platform/v2/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/database-for-api-management-platform/v2/sql/mssql.sql",
      "bytes": 109721,
      "sha256": "587489493e04d89c1e59827848ce73cdfb84c9d4d834fedbb89cbb522dbb8cbc",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/database-for-api-management-platform/v2/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/database-for-api-management-platform/v2/sql/sqlite.sql",
      "bytes": 105682,
      "sha256": "2146f644aab72b7cec6814a244f9ca8091a7a0aa3cc523d24f279b2246dfdcb7",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/database-for-api-management-platform/v2/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/database-for-api-management-platform/v2/prisma/seed.ts",
      "bytes": 181534,
      "sha256": "cb7db8daca543d1cdc72eeec23d3ae08a57b51f4bcc7393661e4988cee0b8d37",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/database-for-api-management-platform/v2/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/database-for-api-management-platform/v2/django/fixtures.json",
      "bytes": 264217,
      "sha256": "d45e97fb53c4ff8b992c5885f0217bd71c93e596b692441d8321913e68f6bceb",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788734000610,
  "updatedAt": 1788778273625
}
