diff --git a/docs.json b/docs.json
index 36323e36..ddc99cd1 100644
--- a/docs.json
+++ b/docs.json
@@ -604,6 +604,16 @@
"restapi/api-limits"
]
},
+ {
+ "group": "Manage resources",
+ "pages": [
+ "restapi/manage-resources/overview",
+ "restapi/manage-resources/manage-datasets",
+ "restapi/manage-resources/manage-monitors",
+ "restapi/manage-resources/manage-notifiers",
+ "restapi/manage-resources/manage-users"
+ ]
+ },
{
"group": "Annotation endpoints",
"pages": [
diff --git a/restapi/manage-resources/manage-datasets.mdx b/restapi/manage-resources/manage-datasets.mdx
new file mode 100644
index 00000000..19f845f1
--- /dev/null
+++ b/restapi/manage-resources/manage-datasets.mdx
@@ -0,0 +1,181 @@
+---
+title: Manage datasets via API
+sidebarTitle: "Datasets"
+description: "Learn how to manage Axiom datasets via API."
+---
+
+import Prerequisites from "/snippets/minimal-prerequisites.mdx"
+import ReplaceDomain from "/snippets/replace-domain.mdx"
+import ReplaceToken from "/snippets/replace-token.mdx"
+
+This page explains how to manage datasets programmatically via the API.
+
+
+- [Create an API token in Axiom](/reference/tokens) with permissions to create, read, update, and delete datasets.
+- In the code samples below, replace `API_TOKEN` with the Axiom API token you have generated. For added security, store the API token in an environment variable.
+
+## Create datasets
+
+To create a dataset, send a POST request to the `datasets` endpoint. In the body of the request, specify the name and the description of the dataset. For example:
+
+```bash
+curl -X 'POST' 'https://AXIOM_DOMAIN/v2/datasets' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN' \
+-d '{
+ "description": "This is a test dataset.",
+ "name": "test_dataset"
+ }'
+```
+
+
+
+
+
+
+The example response contains the dataset ID that you can later use to access the dataset programmatically.
+
+```json
+{
+ "canWrite": true,
+ "created": "2025-07-02T09:40:53.327Z",
+ "description": "This is a test dataset.",
+ "id": "test_dataset",
+ "mapFields": null,
+ "name": "test_dataset",
+ "retentionDays": 0,
+ "useRetentionPeriod": false,
+ "who": ""
+}
+```
+
+For more information, see the [API reference](/restapi/endpoints/createDataset).
+
+## Get information about datasets
+
+### Get information about all datasets
+
+To get information about all the datasets in your Axiom organization, send a GET request to the `datasets` endpoint. For example:
+
+```bash
+curl -X 'GET' 'https://AXIOM_DOMAIN/v2/datasets' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN'
+```
+
+
+
+
+
+
+The example response is a list of dataset objects. Each object contains a unique dataset ID that you can later use to access the dataset programmatically.
+
+```json
+[
+ {
+ "canWrite": true,
+ "created": "2025-05-26T09:39:47.909Z",
+ "description": "This is a test dataset.",
+ "id": "test_dataset1",
+ "mapFields": null,
+ "name": "test_dataset1",
+ "retentionDays": 0,
+ "useRetentionPeriod": false,
+ "who": ""
+ },
+ {
+ "canWrite": true,
+ "created": "2025-07-02T09:40:53.327Z",
+ "description": "This is another test dataset.",
+ "id": "test_dataset2",
+ "mapFields": null,
+ "name": "test_dataset2",
+ "retentionDays": 0,
+ "useRetentionPeriod": false,
+ "who": ""
+ }
+]
+```
+
+For more information, see the [API reference](/restapi/endpoints/getDatasets).
+
+### Get information about specific dataset
+
+To get information about a specific dataset, send a GET request to the `datasets/DATASET_ID` endpoint where `DATASET_ID` is the unique ID of the dataset. For example:
+
+```bash
+curl -X 'GET' 'https://AXIOM_DOMAIN/v2/datasets/test_dataset' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN'
+```
+
+
+
+
+
+
+Example response:
+
+```json
+{
+ "canWrite": true,
+ "created": "2025-07-02T09:40:53.327Z",
+ "description": "This is a test dataset.",
+ "id": "test_dataset",
+ "mapFields": null,
+ "name": "test_dataset",
+ "retentionDays": 0,
+ "useRetentionPeriod": false,
+ "who": ""
+}
+```
+
+For more information, see the [API reference](/restapi/endpoints/getDataset).
+
+## Update datasets
+
+To update a dataset, send a PUT request to the `datasets/DATASET_ID` endpoint where `DATASET_ID` is the unique ID of the dataset. In the body of the request, specify the properties you want to update. For example:
+
+```bash
+curl -X 'PUT' 'https://AXIOM_DOMAIN/v2/datasets/test_dataset' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN' \
+-d '{
+ "description": "This is a production dataset."
+ }'
+```
+
+
+
+
+
+
+Example response:
+
+```json
+{
+ "canWrite": true,
+ "created": "2025-07-02T09:40:53.327Z",
+ "description": "This is a production dataset.",
+ "id": "test_dataset",
+ "mapFields": null,
+ "name": "test_dataset",
+ "retentionDays": 0,
+ "useRetentionPeriod": false,
+ "who": ""
+}
+```
+
+For more information, see the [API reference](/restapi/endpoints/updateDataset).
+
+## Delete datasets
+
+To delete a dataset, send a DELETE request to the `datasets/DATASET_ID` endpoint where `DATASET_ID` is the unique ID of the dataset. For example:
+
+```bash
+curl -X 'DELETE' 'https://AXIOM_DOMAIN/v2/datasets/test_dataset' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN'
+```
+
+For more information, see the [API reference](/restapi/endpoints/deleteDataset).
\ No newline at end of file
diff --git a/restapi/manage-resources/manage-monitors.mdx b/restapi/manage-resources/manage-monitors.mdx
new file mode 100644
index 00000000..cb04f1a1
--- /dev/null
+++ b/restapi/manage-resources/manage-monitors.mdx
@@ -0,0 +1,257 @@
+---
+title: Manage monitors via API
+sidebarTitle: "Monitors"
+description: "Learn how to manage Axiom monitors via API."
+---
+
+import Prerequisites from "/snippets/minimal-prerequisites.mdx"
+import ReplaceDomain from "/snippets/replace-domain.mdx"
+import ReplaceToken from "/snippets/replace-token.mdx"
+
+This page explains how to manage monitors programmatically via the API.
+
+
+- [Create an API token in Axiom](/reference/tokens) with permissions to create, read, update, and delete monitors.
+- In the code samples below, replace `API_TOKEN` with the Axiom API token you have generated. For added security, store the API token in an environment variable.
+
+## Create threshold monitors
+
+To create a threshold monitor, send a POST request to the `monitors` endpoint. In the body of the request, specify the following:
+- `name` of your monitor.
+- `aplQuery` is the APL query that the monitor periodically runs to aggregate data. Axiom alerts you when the results from your query cross the threshold.
+- `threshold` is the value to compare the results of the query to. This can be any numeric value.
+- `operator` is the rule to apply when comparing the results to the threshold. The possible values are `Below`, `BelowOrEqual`, `Above`, and `AboveOrEqual`.
+- `intervalMinutes` is how often the monitor runs. This is a positive integer number of minutes.
+- `rangeMinutes` is the time range for your query. This is a positive integer number of minutes. The end time is the time the monitor runs.
+- `alertOnNoData` triggers the monitor when your query doesn’t return any data. Your query returns no data if no events match your filters and an aggregation used in the query is undefined. For example, you take the average of a field not present in any matching events.
+
+The following fields are optional:
+- `description` explains what your monitor does.
+- `notifierIds` is a list of notifier IDs. The related notifiers define how you want to receive notifications for this monitor. For more information, see [Manage notifiers](/restapi/manage-resources/manage-notifiers).
+- You can group by attributes when defining your query. By default, your monitor enters the alert state if any of the values returned for the group-by attributes cross the threshold, and remains in the alert state until none of the values returned cross the threshold. To trigger the monitor separately for each group that crosses the threshold, set `notifyByGroup` to true. At most one trigger notification is sent per monitor run. This option only has an effect if the monitor’s query groups by a non-time field.
+
+For example:
+
+```bash
+curl -X 'POST' 'https://AXIOM_DOMAIN/v2/monitors' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN' \
+-d '{
+ "name": "test_monitor",
+ "description": "This is a test monitor.",
+ "aplQuery": "test_dataset | summarize count() by bin_auto(_time)",
+ "threshold": 1,
+ "operator": "Above",
+ "intervalMinutes": 5,
+ "rangeMinutes": 5,
+ "notifierIds": ["test_notifier"],
+ "alertOnNoData": false,
+ "type": "Threshold"
+ }'
+```
+
+
+
+
+
+
+The example response contains the monitor ID that you can later use to access the monitor programmatically.
+
+```json
+{
+ "aplQuery": "test_dataset | summarize count() by bin_auto(_time)",
+ "createdAt": "2025-07-02T09:55:26.440Z",
+ "description": "This is a test monitor.",
+ "intervalMinutes": 5,
+ "name": "test_monitor",
+ "notifierIds": ["test_notifier"],
+ "operator": "Above",
+ "rangeMinutes": 5,
+ "threshold": 1,
+ "triggerFromNRuns": 1,
+ "type": "Threshold",
+ "id": "abc123"
+}
+```
+
+For more information, see the [API reference](/restapi/endpoints/createMonitor).
+
+## Get information about monitors
+
+### Get information about all monitors
+
+To get information about all the monitors in your Axiom organization, send a GET request to the `monitors` endpoint. For example:
+
+```bash
+curl -X 'GET' 'https://AXIOM_DOMAIN/v2/monitors' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN'
+```
+
+
+
+
+
+
+The example response is a list of monitor objects. Each object contains a unique monitor ID that you can later use to access the monitor programmatically.
+
+```json
+[
+ {
+ "aplQuery": "test_dataset | summarize count() by bin_auto(_time)",
+ "createdAt": "2024-09-04T13:56:22.222Z",
+ "description": "This is a test monitor.",
+ "id": "abc123",
+ "intervalMinutes": 5,
+ "name": "test_monitor1",
+ "notifierIds": ["test_notifier"],
+ "operator": "Above",
+ "rangeMinutes": 5,
+ "threshold": 1,
+ "triggerFromNRuns": 1,
+ "type": "Threshold"
+ },
+ {
+ "aplQuery": "test_dataset | summarize count() by bin_auto(_time)",
+ "createdAt": "2024-09-04T13:56:22.222Z",
+ "description": "This is another test monitor.",
+ "id": "abc321",
+ "intervalMinutes": 5,
+ "name": "test_monitor2",
+ "notifierIds": ["test_notifier"],
+ "operator": "Above",
+ "rangeMinutes": 5,
+ "threshold": 1,
+ "triggerFromNRuns": 1,
+ "type": "Threshold"
+ }
+]
+```
+
+For more information, see the [API reference](/restapi/endpoints/getMonitors).
+
+### Get information about specific monitor
+
+To get information about a specific monitor, send a GET request to the `monitors/MONITOR_ID` endpoint where `MONITOR_ID` is the unique ID of the monitor. For example:
+
+```bash
+curl -X 'GET' 'https://AXIOM_DOMAIN/v2/monitors/abc123' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN'
+```
+
+
+
+
+
+
+Example response:
+
+```json
+{
+ "aplQuery": "test_dataset | summarize count() by bin_auto(_time)",
+ "createdAt": "2024-09-04T13:56:22.222Z",
+ "description": "This is a test monitor.",
+ "id": "abc123",
+ "intervalMinutes": 5,
+ "name": "test_monitor",
+ "notifierIds": ["test_notifier"],
+ "operator": "Above",
+ "rangeMinutes": 5,
+ "threshold": 1,
+ "triggerFromNRuns": 1,
+ "type": "Threshold"
+}
+```
+
+For more information, see the [API reference](/restapi/endpoints/getMonitor).
+
+{/*
+### Get information about monitor history
+
+To get information about the history of a specific monitor, send a GET request to the `monitors/MONITOR_ID/history` endpoint where `MONITOR_ID` is the unique ID of the monitor. For example:
+
+```bash
+curl -X 'GET' 'https://AXIOM_DOMAIN/v2/monitors/abc123/history' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN'
+```
+
+
+
+
+
+
+Example response:
+
+```json
+
+```
+
+For more information, see the [API reference](/restapi/endpoints/getMonitor).
+*/}
+
+## Update monitors
+
+To update a monitor, send a PUT request to the `monitors/MONITOR_ID` endpoint where `MONITOR_ID` is the unique ID of the monitor. In the body of the request, specify the properties you want to update. For example:
+
+```bash
+curl -X 'PUT' 'https://AXIOM_DOMAIN/v2/monitors/abc123' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN' \
+-d '{
+ "name": "test_monitor",
+ "description": "This is a production monitor.",
+ "aplQuery": "test_dataset | summarize count() by bin_auto(_time)",
+ "threshold": 1,
+ "operator": "Above",
+ "intervalMinutes": 5,
+ "rangeMinutes": 5,
+ "notifierIds": ["test_notifier"],
+ "alertOnNoData": false,
+ "type": "Threshold"
+ }'
+```
+
+
+
+
+
+
+Example response:
+
+```json
+{
+ "aplQuery": "test_dataset | summarize count() by bin_auto(_time)",
+ "createdAt": "2024-09-04T13:56:22.222Z",
+ "description": "This is a production monitor.",
+ "id": "abc123",
+ "intervalMinutes": 5,
+ "name": "test_monitor",
+ "notifierIds": ["test_notifier"],
+ "operator": "Above",
+ "rangeMinutes": 5,
+ "threshold": 1,
+ "triggerFromNRuns": 1,
+ "type": "Threshold"
+}
+```
+
+For more information, see the [API reference](/restapi/endpoints/updateMonitor).
+
+## Delete monitors
+
+To delete a monitor, send a DELETE request to the `monitors/MONITOR_ID` endpoint where `MONITOR_ID` is the unique ID of the monitor. For example:
+
+```bash
+curl -X 'DELETE' 'https://AXIOM_DOMAIN/v2/monitors/abc123' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN'
+```
+
+
+
+
+
+
+For more information, see the [API reference](/restapi/endpoints/deleteMonitor).
\ No newline at end of file
diff --git a/restapi/manage-resources/manage-notifiers.mdx b/restapi/manage-resources/manage-notifiers.mdx
new file mode 100644
index 00000000..f7c013ff
--- /dev/null
+++ b/restapi/manage-resources/manage-notifiers.mdx
@@ -0,0 +1,219 @@
+---
+title: Manage notifiers via API
+sidebarTitle: "Notifiers"
+description: "Learn how to manage Axiom notifiers via API."
+---
+
+import Prerequisites from "/snippets/minimal-prerequisites.mdx"
+import ReplaceDomain from "/snippets/replace-domain.mdx"
+import ReplaceToken from "/snippets/replace-token.mdx"
+
+This page explains how to manage notifiers programmatically via the API.
+
+
+- [Create an API token in Axiom](/reference/tokens) with permissions to create, read, update, and delete datasets.
+- In the code samples below, replace `API_TOKEN` with the Axiom API token you have generated. For added security, store the API token in an environment variable.
+
+## Create notifiers
+
+To create a notifier, send a POST request to the `notifiers` endpoint. In the body of the request, specify the following:
+- `name` of the notifier.
+- The `properties` field takes an object that defines the attributes of the notifier. The required attributes depend on the type of notifier you create. For example, to create an email notifier, specify the list of emails to be notified.
+
+For example:
+
+```bash
+curl -X 'POST' 'https://AXIOM_DOMAIN/v2/notifiers' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN' \
+-d '{
+ "name": "test_notifier",
+ "properties": {
+ "email": {
+ "emails": [
+ "example1@abc.com",
+ "example2@abc.com"
+ ]
+ }
+ }
+ }'
+```
+
+
+
+
+
+
+The example response contains the notifier ID that you can later use to access the notifier programmatically.
+
+```json
+{
+ "createdAt":"2024-09-04T11:42:50.225Z",
+ "disabledUntil": "0001-01-01T00:00:00Z",
+ "id": "abc123",
+ "name": "test_notifier",
+ "properties": {
+ "email": {
+ "emails": [
+ "example1@abc.com",
+ "example2@abc.com"
+ ]
+ }
+ }
+}
+```
+
+For more information, see the [API reference](/restapi/endpoints/createNotifier).
+
+## Get information about notifiers
+
+### Get information about all notifiers
+
+To get information about all the notifiers in your Axiom organization, send a GET request to the `notifiers` endpoint. For example:
+
+```bash
+curl -X 'GET' 'https://AXIOM_DOMAIN/v2/notifiers' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN'
+```
+
+
+
+
+
+
+The example response is a list of notifier objects. Each object contains a unique notifier ID that you can later use to access the notifier programmatically.
+
+```json
+[
+ {
+ "createdAt":"2024-09-04T11:42:50.225Z",
+ "disabledUntil": "0001-01-01T00:00:00Z",
+ "id": "abc123",
+ "name": "test_notifier1",
+ "properties": {
+ "email": {
+ "emails": [
+ "example1@abc.com",
+ "example2@abc.com"
+ ]
+ }
+ }
+ },
+ {
+ "createdAt":"2024-09-04T11:42:50.225Z",
+ "disabledUntil": "0001-01-01T00:00:00Z",
+ "id": "abc321",
+ "name": "test_notifier2",
+ "properties": {
+ "email": {
+ "emails": [
+ "example3@abc.com",
+ "example4@abc.com"
+ ]
+ }
+ }
+ }
+]
+```
+
+For more information, see the [API reference](/restapi/endpoints/getNotifiers).
+
+### Get information about specific notifier
+
+To get information about a specific notifier, send a GET request to the `notifiers/NOTIFIER_ID` endpoint where `NOTIFIER_ID` is the unique ID of the notifier. For example:
+
+```bash
+curl -X 'GET' 'https://AXIOM_DOMAIN/v2/notifiers/abc123' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN'
+```
+
+
+
+
+
+
+Example response:
+
+```json
+{
+ "createdAt":"2024-09-04T11:42:50.225Z",
+ "disabledUntil": "0001-01-01T00:00:00Z",
+ "id": "abc123",
+ "name": "test_notifier",
+ "properties": {
+ "email": {
+ "emails": [
+ "example1@abc.com",
+ "example2@abc.com"
+ ]
+ }
+ }
+}
+```
+
+For more information, see the [API reference](/restapi/endpoints/getNotifier).
+
+## Update notifiers
+
+To update a notifier, send a PUT request to the `notifiers/NOTIFIER_ID` endpoint where `NOTIFIER_ID` is the unique ID of the notifier. In the body of the request, specify the properties you want to update. Include the `name` field even if you don’t want to change it. For example:
+
+```bash
+curl -X 'PUT' 'https://AXIOM_DOMAIN/v2/notifiers/abc123' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN' \
+-d '{
+ "name": "test_notifier",
+ "properties": {
+ "email": {
+ "emails": [
+ "example3@abc.com",
+ "example4@abc.com"
+ ]
+ }
+ }
+ }'
+```
+
+
+
+
+
+
+Example response:
+
+```json
+{
+ "disabledUntil": "0001-01-01T00:00:00Z",
+ "id": "abc123",
+ "name": "test_notifier",
+ "properties": {
+ "email": {
+ "emails": [
+ "example3@abc.com",
+ "example4@abc.com"
+ ]
+ }
+ }
+}
+```
+
+For more information, see the [API reference](/restapi/endpoints/updateNotifier).
+
+## Delete notifiers
+
+To delete a notifier, send a DELETE request to the `notifiers/NOTIFIER_ID` endpoint where `NOTIFIER_ID` is the unique ID of the notifier. For example:
+
+```bash
+curl -X 'DELETE' 'https://AXIOM_DOMAIN/v2/notifiers/abc123' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN'
+```
+
+
+
+
+
+
+For more information, see the [API reference](/restapi/endpoints/deleteNotifier).
\ No newline at end of file
diff --git a/restapi/manage-resources/manage-users.mdx b/restapi/manage-resources/manage-users.mdx
new file mode 100644
index 00000000..70b8a081
--- /dev/null
+++ b/restapi/manage-resources/manage-users.mdx
@@ -0,0 +1,131 @@
+---
+title: Manage users via API
+sidebarTitle: "Users"
+description: "Learn how to manage Axiom users via API."
+---
+
+import Prerequisites from "/snippets/minimal-prerequisites.mdx"
+import ReplaceDomain from "/snippets/replace-domain.mdx"
+import ReplaceToken from "/snippets/replace-token.mdx"
+
+This page explains how to manage users programmatically via the API.
+
+
+- [Create an API token in Axiom](/reference/tokens) with permissions to create, read, update, and delete users.
+- In the code samples below, replace `API_TOKEN` with the Axiom API token you have generated. For added security, store the API token in an environment variable.
+
+## Create users
+
+To create a user, send a POST request to the `users` endpoint. In the body of the request, specify the following:
+- `name`
+- `email`
+- `role`
+
+For example:
+
+```bash
+curl -X 'POST' 'https://AXIOM_DOMAIN/v2/users' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN' \
+-d '{
+ "name": "test_user",
+ "email": "example@abc.com",
+ "role": "admin"
+ }'
+```
+
+
+
+
+
+
+The example response contains the user ID that you can later use to access the user programmatically.
+
+```json
+{
+ "email": "example@abc.com",
+ "id": "abc123",
+ "name": "test_user",
+ "role": {
+ "id": "admin",
+ "name": "admin"
+ }
+}
+```
+
+For more information, see the [API reference](/restapi/endpoints/createUser).
+
+## Get information about users
+
+### Get information about all users
+
+To get information about all the users in your Axiom organization, send a GET request to the `users` endpoint. For example:
+
+```bash
+curl -X 'GET' 'https://AXIOM_DOMAIN/v2/users' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN'
+```
+
+
+
+
+
+
+The example response is a list of user objects. Each object contains a unique user ID that you can later use to access the user programmatically.
+
+```json
+[
+ {
+ "email": "example1@abc.com",
+ "id": "abc123",
+ "name": "test_user1",
+ "role": {
+ "id": "admin",
+ "name": "admin"
+ }
+ },
+ {
+ "email": "example2@abc.com",
+ "id": "abc321",
+ "name": "test_user2",
+ "role": {
+ "id": "admin",
+ "name": "admin"
+ }
+ }
+]
+```
+
+For more information, see the [API reference](/restapi/endpoints/getUsers).
+
+### Get information about specific user
+
+To get information about a specific user, send a GET request to the `users/USER_ID` endpoint where `USER_ID` is the unique ID of the user. For example:
+
+```bash
+curl -X 'GET' 'https://AXIOM_DOMAIN/v2/users/abc123' \
+-H 'Content-Type: application/json' \
+-H 'Authorization: Bearer API_TOKEN'
+```
+
+
+
+
+
+
+Example response:
+
+```json
+{
+ "email": "example@abc.com",
+ "id": "abc123",
+ "name": "test_user",
+ "role": {
+ "id": "admin",
+ "name": "admin"
+ }
+}
+```
+
+For more information, see the [API reference](/restapi/endpoints/getUser).
diff --git a/restapi/manage-resources/overview.mdx b/restapi/manage-resources/overview.mdx
new file mode 100644
index 00000000..7975e860
--- /dev/null
+++ b/restapi/manage-resources/overview.mdx
@@ -0,0 +1,14 @@
+---
+title: "Manage Axiom resources via API"
+description: "Learn how to manage Axiom resources via API."
+sidebarTitle: Overview
+---
+
+This section explains how to manage Axiom resources programmatically via the API.
+
+You can create, read, update, and delete resources using the API. For example:
+
+- [Datasets](/restapi/manage-resources/manage-datasets)
+- [Monitors](/restapi/manage-resources/manage-monitors)
+- [Notifiers](/restapi/manage-resources/manage-notifiers)
+- [Users](/restapi/manage-resources/manage-users)
\ No newline at end of file