diff --git a/doc-assets/shots/api-token.png b/doc-assets/shots/api-token.png
deleted file mode 100644
index 329363e..0000000
Binary files a/doc-assets/shots/api-token.png and /dev/null differ
diff --git a/doc-assets/shots/orgid.png b/doc-assets/shots/orgid.png
deleted file mode 100644
index 3587534..0000000
Binary files a/doc-assets/shots/orgid.png and /dev/null differ
diff --git a/doc-assets/shots/personal-token.png b/doc-assets/shots/personal-token.png
deleted file mode 100644
index 8dd7c01..0000000
Binary files a/doc-assets/shots/personal-token.png and /dev/null differ
diff --git a/doc-assets/shots/rest-orgid-1.png b/doc-assets/shots/rest-orgid-1.png
index 93fea61..71a38b4 100644
Binary files a/doc-assets/shots/rest-orgid-1.png and b/doc-assets/shots/rest-orgid-1.png differ
diff --git a/reference/api.mdx b/reference/api.mdx
deleted file mode 100644
index f1e8d17..0000000
--- a/reference/api.mdx
+++ /dev/null
@@ -1,268 +0,0 @@
----
-title: 'Get started with Axiom API'
-description: 'This section explains how to use the Axiom API.'
-tags: ['axiom documentation', 'documentation', 'axiom', 'API', 'Axiom API', 'Personal Token', 'API Token', 'Labels']
----
-
-The Axiom API allows you to ingest structured data logs, handle queries, and manage your deployments.
-
-This page covers the basics for interacting with the Axiom API, plus instructions for ingesting data and notes on some commonly used endpoints.
-
-To manage Axiom more completely via API, use [axiom-go](https://github.com/axiomhq/axiom-go).
-
-## Authentication
-
-You can generate an API token/personal token in your Axiom user settings for manual authentication in shell scripts or commands that use the Axiom API.
-
-Refer to the code sample below for an example of how to use this token in a curl request. All requests must use HTTPS.
-
-### API tokens
-
-Axiom has two types of API tokens;
-
-- Personal API tokens.
-- API tokens.
-
-### Personal token
-
-The personal token can be retrieved from the users profile page, all users have a personal token. With the personal token, users can access the Axiom API programmatically for custom integrations, management setting, or for tools such as the Axiom CLI.
-
-The personal access token grants access to all resources available to the user on his behalf.
-
-Personal Access can be created under **Profile** or **Settings > Profile > Personal Tokens.**
-
-<Frame caption="Personal token">
-  <img src="/doc-assets/shots/personal-token.png" alt="Personal token" />
-</Frame>
-
-### API token
-
-The API token is to used to send, and query data to one or more datasets. API tokens do not allow control of your organization, they are only used to ingest and query events.
-
-Using API tokens, you can **Ingest**, **Query**, or **Ingest and Query** data to one or more datasets.
-
-For security reasons it is advised to use an API token with minimal privileges only.
-
-You can obtain the API token from **Settings > API Token**.
-
-<Frame caption="Ingest token">
-  <img src="/doc-assets/shots/api-token.png" alt="Ingest token" />
-</Frame>
-
-## Send events to the Axiom API
-
-To send events directly to Axiom API, use the [Go client](https://github.com/axiomhq/axiom-go).
-
-## Ingest data
-
-`POST /api/v1/ingest/`
-
-Individual events are ingested as an HTTP POST request.
-
-### Using curl command to ingest data
-
-```bash
-curl -X POST 'https://api.axiom.co/v1/datasets/test/ingest' \
-  -H 'Authorization: Bearer $API_TOKEN' \
-  -H 'Content-Type: application/json' \
-  -d '[{"description": "string",  "name": "string",  "scopes": ["string"]}]'
-```
-
-## Body Specification
-
-The body of the POST should be a JSON encoded object containing key/value pairs. As an example, to report a GET request from the users `/download path with a duration of 231ms and a response size of 3012`.
-
-```json
-{ "path": "/download", "method": "GET", "duration_ms": 231, "res_size_bytes": 3012 }'
-```
-
-### Commonly used endpoints
-
-[Explore our REST API documentation and commonly used endpoints](/restapi/introduction).
-
-Axiom supports ingestion of different data formats:
-
-- application/json
-- application/x-ndjson
-- text/csv
-
-## Examples
-
-These examples send an API event to Axiom.
-
-## Ingest Events using JSON
-
-The following example request contains grouped events. The structure of the `JSON` payload should have the scheme of `[ { "labels": { "key1": "value1", "key2": "value12" } }, ]` in which the array comprises of one or more JSON objects describing Events.
-
-### Example Request using JSON
-
-```bash
-
-curl -X 'POST' 'https://api.axiom.co/v1/datasets/$DATASET_NAME/ingest' \
-  -H 'Authorization: Bearer $API_TOKEN' \
-  -H 'Content-Type: application/json' \
-  -d '[
-        {
-          "time":"2021-23-04302:11:23.222Z",
-          "data":{"key1":"value1","key2":"value2"}
-        },
-        {
-          "data":{"key3":"value3"},
-          "labels":{"key4":"value4"}
-        }
-      ]'
-
-```
-
-### Grouping Events with different Labels
-
-You can also group events with different labels into the same request as shown below:
-
-```bash
-curl -X 'POST' 'https://api.axiom.co/v1/datasets/$DATASET_NAME/ingest' \
-  -H 'Authorization: Bearer $API_TOKEN' \
-  -H 'Content-Type: application/json' \
-  -d '[
-  {
-    "labels": {
-      "author": "System1",
-      "model": "whip.log"
-    },
-    "data": [
-      {
-        "timestamp": "2020-05-04T11:00:00+06:00",
-        "elements": {
-          "foo": "bar"
-        }
-      },
-      {
-        "timestamp": "2020-05-04T12:00:01+03:00",
-        "attributes": {
-          "status": "202",
-          "address": "/src.php"
-        }
-      }
-    ]
-  },
-  {
-    "labels": {
-      "author": "System2",
-      "model": "whip.log"
-    },
-    "data": [
-      {
-        "timestamp": "2020-05-04T13:00:02+02:00",
-        "attributes": {
-          "key2": "value2"
-        }
-      }
-    ]
-  },
-  {
-    "labels": {
-      "author": "System3",
-      "model": "whip.log"
-    },
-    "data": [
-      {
-        "timestamp": "2020-05-04T14:00:03+02:00",
-        "attributes": {
-          "key3": "value3",
-          "status": "200"
-        }
-      }
-    ]
-  }
-]'
-
-```
-
-### Grouping Events with different tags
-
-You can also group events with different tags into the same request as shown in the following example.
-
-This request contains three events. The first two are tagged with `client1` and the third is tagged with `client2`:
-
-```bash
-curl -X 'POST' 'https://api.axiom.co/v1/datasets/$DATASET_NAME/ingest' \
-  -H 'Authorization: Bearer $API_TOKEN' \
-  -H 'Content-Type: application/json' \
-  -d '[
-  {
-    "tags": {
-      "host": "client1",
-      "origin": "data.log"
-    },
-    "data": [
-      {
-        "timestamp": "2021-05-07T12:03:05+02:00",
-        "attributes": {
-          "method": "GET"
-        }
-      },
-      {
-        "timestamp": "2021-05-07T12:03:01+02:00",
-        "attributes": {
-          "statuscode": "200",
-          "city": "Utsunomiya"
-        }
-      }
-    ]
-  },
-  {
-    "tags": {
-      "host": "client2",
-      "origin": "data.log"
-    },
-    "data": [
-      {
-        "timestamp": "2021-05-07T12:03:02+02:00",
-        "attributes": {
-          "country": "Mexico"
-        }
-      }
-    ]
-  }
-]'
-
-```
-
-### Example Response
-
-```
-A successful POST Request returns a 200 response code JSON with details
-```
-
-## Ingest Events using CSV
-
-The following example request contains events. The structure of the `CSV` payload uses a comma to separate values `'value1, value2, value3'`
-
-### Example Request using CSV
-
-```bash
-curl -X 'POST' 'https://api.axiom.co/v1/datasets/$DATASET_NAME/ingest' \
-      -H 'Authorization: Bearer $API_TOKEN' \
-      -H 'Content-Type: text/csv' \
-      -d 'user, name
-         foo, bar'
-```
-
-### Example Response
-
-```
-A successful POST Request returns a 200 response code JSON with details
-```
-
-Datasets name are usually case sensitive, Dataset names must be 1 to 128 characters, and may only contain ASCII alphanumeric characters and the '-' character.
-
-Personal tokens can also be used to ingest events, but the `org-id` must be specified.
-
-Org-ID is the unique identifier of the organization on Axiom.
-
-<Frame caption="Axiom org">
-  <img src="/doc-assets/shots/orgid.png" alt="Axiom org" />
-</Frame>
-
-In the above image, `axiom-t850` is the `Org-ID`.
-
-[Explore our REST API documentation and commonly used endpoints](/restapi/introduction).
diff --git a/reference/settings.mdx b/reference/settings.mdx
index bcf6fb2..9caaaa6 100644
--- a/reference/settings.mdx
+++ b/reference/settings.mdx
@@ -1,5 +1,5 @@
 ---
-title: 'Get started with Settings'
+title: 'Get started with settings'
 description: 'Learn how to configure your account settings.'
 sidebarTitle: 'Overview'
 tags:
diff --git a/reference/tokens.mdx b/reference/tokens.mdx
index d87a3e2..dc1ae6e 100644
--- a/reference/tokens.mdx
+++ b/reference/tokens.mdx
@@ -13,7 +13,7 @@ This reference article explains how you can authenticate your requests to the Ax
 You can use the Axiom API and CLI to programmatically ingest and query data, and manage settings and resources. For example, you can create new API tokens and change existing datasets with API requests. To prove that these requests come from you, you must include forms of authentication called tokens in your API requests. Axiom offers two types of tokens:
 
 - [API tokens](#api-tokens) let you control the actions that can be performed with the token. For example, you can specify that requests authenticated with a certain API token can only query data from a particular dataset.
-- [Personal access tokens (PATs)](#personal-access-tokens-pat) provide full control over your Axiom account. Requests authenticated with a PAT can perform every action you can perform in Axiom.
+- [Personal access tokens (PATs)](#personal-access-tokens-pat) provide full control over your Axiom account. Requests authenticated with a PAT can perform every action you can perform in Axiom. When possible, avoid using PATs.
 
 <Warning>
 Keep tokens confidential. Anyone with these forms of authentication can perform actions on your behalf such as sending data to your Axiom dataset.
@@ -77,8 +77,6 @@ To regenerate an advanced API token, follow these steps:
 
 Personal access tokens (PATs) provide full control over your Axiom account. Requests authenticated with a PAT can perform every action you can perform in Axiom. When possible, avoid using PATs.
 
-To authenticate an API request with a PAT, include the Org ID in the requests. For more information, see [Get started with Axiom API](/restapi/introduction).
-
 ### Create PAT
 
 1. Click <img src="/doc-assets/icons/settings.svg" className="inline-icon" alt="Settings icon" /> **Settings > Profile**.
@@ -91,4 +89,18 @@ To authenticate an API request with a PAT, include the Org ID in the requests. F
 
 1. Click <img src="/doc-assets/icons/settings.svg" className="inline-icon" alt="Settings icon" /> **Settings > Profile**.
 2. In the list, find the PAT that you want to delete.
-3. To the right of the PAT, click <img src="/doc-assets/icons/delete.svg" className="inline-icon" alt="Delete icon" /> **Delete**.
\ No newline at end of file
+3. To the right of the PAT, click <img src="/doc-assets/icons/delete.svg" className="inline-icon" alt="Delete icon" /> **Delete**.
+
+## Determine org ID
+
+If you authenticate requests with a PAT, you must include the org ID in the requests. For more information on including the org ID in the request, see [Axiom API](/restapi/introduction) and [Axiom CLI](/reference/cli).
+
+Determine the org ID in one of the following ways:
+
+- Click <img src="/doc-assets/icons/settings.svg" className="inline-icon" alt="Settings icon" /> **Settings**. Copy the org ID in the top right corner. In the example below, the org ID is `axiom-abcd`.
+
+    <Frame>
+        <img src="/doc-assets/shots/rest-orgid-1.png" alt="Axiom org ID" />
+    </Frame>
+
+- Go to the [Axiom app](https://app.axiom.co/) and check the URL. For example, in the URL `https://app.axiom.co/axiom-abcd/datasets`, the org ID is `axiom-abcd`.
\ No newline at end of file
diff --git a/restapi/ingest.mdx b/restapi/ingest.mdx
index 39d47ed..6eb2678 100644
--- a/restapi/ingest.mdx
+++ b/restapi/ingest.mdx
@@ -7,9 +7,9 @@ tags: ['axiom documentation', 'documentation', 'axiom', 'axiom api', 'rest api',
 
 This API allows you to send and load data into Axiom. You can use different methods to ingest logs depending on your requirements and log format.
 
-## Authorization and Headers
+## Authorization and headers
 
-The only expected headers are the `Authorization: Bearer`, which is your API or personal token. Learn more about [API Token](/reference/tokens) and [Org ID](/restapi/introduction#organization-id).
+The only expected header is `Authorization: Bearer` which is your to token to authenticate the request. For more information, see [Tokens](/reference/tokens).
 
 ## Using Axiom JS library to ingest data
 
@@ -23,14 +23,13 @@ npm install @axiomhq/js
 
 If you use the [Axiom CLI](https://github.com/axiomhq/cli), run `eval $(axiom config export -f)` to configure your environment variables.
 
-Otherwise create a personal token in [the Axiom settings](https://app.axiom.co/profile) and export it as `AXIOM_TOKEN`. Set `AXIOM_ORG_ID` to the organization ID from the settings page of the organization you want to access.
+Otherwise, create an [API token](/reference/tokens) and export it as `AXIOM_TOKEN`.
 
 You can also configure the client using options passed to the constructor of the Client:
 
 ```ts
 const client = new Client({
-    token: process.env.AXIOM_TOKEN,
-    orgId: process.env.AXIOM_ORG_ID,
+    token: process.env.AXIOM_TOKEN
 });
 ```
 
@@ -42,8 +41,7 @@ import { Axiom } from '@axiomhq/js';
 
 async function main() {
     const axiom = new Axiom({
-        token: process.env.AXIOM_TOKEN,
-        orgId: process.env.AXIOM_ORG_ID,
+        token: process.env.AXIOM_TOKEN
     });
 
     await axiom.ingest('my-dataset', [{ foo: 'bar' }]);
@@ -66,7 +64,7 @@ curl -X 'POST' 'https://api.axiom.co/v1/datasets/$DATASET_NAME/ingest' \
   -H 'Content-Type: application/json' \
   -d '[
         {
-          "time":"2021-23-04302:11:23.222Z",
+          "time":"2025-01-12T00:00:00.000Z",
           "data":{"key1":"value1","key2":"value2"}
         },
         {
diff --git a/restapi/introduction.mdx b/restapi/introduction.mdx
index 265798d..23c9e94 100644
--- a/restapi/introduction.mdx
+++ b/restapi/introduction.mdx
@@ -1,6 +1,6 @@
 ---
-title: 'Get Started with Axiom API'
-description: 'Learn how to ingest structured data logs, handle queries, and manage your deployments using the API.'
+title: 'Get started with Axiom API'
+description: 'This section explains how to send data to Axiom, query data, and manage resources using the Axiom API.'
 overview: 'Standard interface for HTTP-based application programming'
 sidebarTitle: Introduction
 tags:
@@ -11,17 +11,17 @@ isPopular: true
 popularityOrder: 1
 ---
 
-Axiom understands your resources and provides an API to ingest structured data logs, handle queries, and manage your deployments. This REST-style API uses JSON for serialization and gives you complete control over the entire Axiom platform.
+import Prerequisites from "/snippets/minimal-prerequisites.mdx"
 
-This page covers the basics for interacting with the Axiom API, instructions for ingesting data, and notes on some commonly used endpoints.
+You can use the Axiom API (Application Programming Interface) to send data to Axiom, query data, and manage resources programmatically. This page covers the basics for interacting with the Axiom API.
 
-You can use the API commands with `curl` by providing your [Access Token](/reference/tokens).
+<Prerequisites />
 
-## API Basics
+## API basics
 
-All our endpoints live under the url `https://api.axiom.co` and follow the REST architectural style.
+Axiom API follows the REST architectural style and uses JSON for serialization. You can send API requests to Axiom with curl or API tools such as [Postman](https://www.postman.com/).
 
-Here’s an example in **curl**:
+For example, the following curl command ingests data to an Axiom dataset:
 
 ```bash
 curl -X 'POST' 'https://api.axiom.co/v1/datasets/{id}/ingest' \
@@ -29,56 +29,44 @@ curl -X 'POST' 'https://api.axiom.co/v1/datasets/{id}/ingest' \
   -H 'Content-Type: application/json' \
   -d '[
     {
-      "axiom": "logging"
+      "axiom": "logs"
     }
   ]'
 ```
 
-## Content Type
-
-All requests must be encoded as JSON with the `Content-Type` header set to `application/json`. If not otherwise specified, responses from the Axiom API, including errors, are encoded exclusively as JSON as well.
+## Regions
 
-## Datasets
+All examples in the Axiom API reference use the base domain `https://api.axiom.co`, which is the default for the US region. If your organization uses the EU region, change the base domain in the examples to `https://api.eu.axiom.co`.
 
-Datasets are required to send, query, and retrieve requests. Datasets are a collection of similar events. When data is sent to Axiom, it is stored in a dataset.
+For more information on regions, see [Regions](/reference/regions).
 
-You will need to create or use an existing Dataset to get started with Axiom REST API.
+## Content type
 
-See [Creating a Dataset](/reference/datasets#create-dataset) to get started.
+Encode the body of API requests as JSON objects and set the `Content-Type` header to `application/json`. Unless otherwise specified, Axiom encodes all responses (including errors) as JSON objects.
 
 ## Authentication
 
-Requests to the Axiom API must provide an API token through the `Authorization` header:
-
-```bash
-Authorization: Bearer {api_token}
-```
-
-The `Authorization` header with an access token:
-
-API Tokens can be created and managed from **Settings --> API Tokens** on Axiom UI.
-
-See [Access Tokens](/reference/tokens) for more detail.
-
-## Organization ID
+To prove that API requests come from you, you must include forms of authentication called tokens in your API requests. Axiom offers two types of tokens:
 
-Organization identification is required for you to send requests using [Personal Tokens](/reference/tokens#personal-access-tokens-pat).
+- [API tokens](/reference/tokens#api-tokens) let you control the actions that can be performed with the token. For example, you can specify that requests authenticated with a certain API token can only query data from a particular dataset.
+- [Personal access tokens (PATs)](/reference/tokens#personal-access-tokens-pat) provide full control over your Axiom account. Requests authenticated with a PAT can perform every action you can perform in Axiom. When possible, avoid using PATs.
 
-The `org id` credentials can be obtained on the **Settings** page.
+If you use an API token for authentication, include the API token in the `Authorization` header.
 
-<Frame caption="Axiom">
-  <img src="/doc-assets/shots/rest-orgid-1.png" alt="Axiom" />
-</Frame>
-
-The `org id` can also be obtained from the `url` of your Axiom deployment.
+```bash
+Authorization: Bearer {token}
+```
 
-In your Axiom deployment url `https://app.axiom.co/axiom-wt8j/datasets`, the credential `axiom-wt8j` is the organization ID.
+If you use a PAT for authentication, include the PAT in the `Authorization` header and the org ID in the `x-axiom-org-id` header. For more information, see [Determine org ID](/reference/tokens#determine-org-id).
 
-## Failed Authentication
+```bash
+Authorization: Bearer {token}
+x-axiom-org-id: {org_id}
+```
 
-If authentication is unsuccessful for a request, the error status code `403` is returned.
+If authentication is unsuccessful for a request, Axiom returns the error status code `403`.
 
-## Types
+## Data types
 
 Below is a list of the types of data used within the Axiom API:
 
@@ -90,10 +78,4 @@ Below is a list of the types of data used within the Axiom API:
 | **Integer** | A number without decimals.                                        | 4567                   |
 | **Float**   | A number with decimals.                                           | 15.67                  |
 | **Map**     | A data structure with a list of values assigned to a unique key.  | \{ "key": "value" \}   |
-| **List**    | A data structure with only a list of values separated by a comma. | ["value", 4567, 45.67] |
-
-## Regions
-
-All examples in the Axiom API reference use the base domain `https://api.axiom.co`, which is the default for the US region. If your organization uses the EU region, change the base domain in the examples to `https://api.eu.axiom.co`.
-
-For more information on regions, see [Regions](/reference/regions).
\ No newline at end of file
+| **List**    | A data structure with only a list of values separated by a comma. | ["value", 4567, 45.67] |
\ No newline at end of file
diff --git a/restapi/pagination.mdx b/restapi/pagination.mdx
index 0674791..768a760 100644
--- a/restapi/pagination.mdx
+++ b/restapi/pagination.mdx
@@ -28,7 +28,7 @@ The parameters and mechanisms differ between the current and legacy endpoints.
 ### Run Query
 
 To use timestamp-based pagination with the Run Query endpoint:
-- Include the [`limit` operator](/apl/tabular-operators/limit-operator) in the APL query of your API request. The argument of this operator determines the number of events to display per page.
+- Include the [limit operator](/apl/tabular-operators/limit-operator) in the APL query of your API request. The argument of this operator determines the number of events to display per page.
 - Use `sort by _time asc` or `sort by _time desc` in the APL query. This returns the results in ascending or descending chronological order. For more information, see [sort operator](/apl/tabular-operators/sort-operator).
 - Specify `startTime` and `endTime` in the body of your API request.
 
diff --git a/restapi/query.mdx b/restapi/query.mdx
index dbe506c..2ee9abb 100644
--- a/restapi/query.mdx
+++ b/restapi/query.mdx
@@ -8,9 +8,9 @@ tags:
 
 Use Axiom querying API to create and get query objects.
 
-## Authorization and Headers
+## Authorization and headers
 
-The only expected headers are the `Authorization: Bearer`, which is your **API or Personal Token**. Learn more about [API Token](/reference/tokens) and [Org ID](/restapi/introduction#organization-id).
+The only expected header is `Authorization: Bearer` which is your token to authenticate the request. For more information, see [Tokens](/reference/tokens).
 
 ## Using Axiom Node.js library to query data
 
@@ -24,7 +24,7 @@ npm install @axiomhq/js
 
 If you use the [Axiom CLI](https://github.com/axiomhq/cli), run `eval $(axiom config export -f)` to configure your environment variables.
 
-Otherwise create a personal token in [the Axiom settings](https://app.axiom.co/profile) and export it as `AXIOM_TOKEN`. Set `AXIOM_ORG_ID` to the organization ID from the settings page of the organization you want to access.
+Otherwise, create an [API token](/reference/tokens) and export it as `AXIOM_TOKEN`.
 
 Create and use a client like this:
 
@@ -34,8 +34,7 @@ Create and use a client like this:
 import { Axiom } from '@axiomhq/js';
 
 const axiom = new Axiom({
-    token: process.env.AXIOM_TOKEN,
-    orgId: process.env.AXIOM_ORG_ID,
+    token: process.env.AXIOM_TOKEN
 });
 
 async function query() {