import Prerequisites from "/snippets/minimal-prerequisites.mdx" import ReplaceDomain from "/snippets/replace-domain.mdx" import ReplaceDatasetToken from "/snippets/replace-dataset-token.mdx" import BaseDomains from "/snippets/base-domains.mdx"

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.

API basics

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.

For example, the following curl command ingests data to an Axiom dataset:

curl -X 'POST' 'https://AXIOM_DOMAIN/v1/ingest/DATASET_NAME' \
  -H 'Authorization: Bearer API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "axiom": "logs"
    }
  ]'

For more information, see Send data to Axiom via API and Ingest data endpoint.

Base domain

The base domain of an API request depends on the following:

  • To ingest data, use the Ingest data endpoint with the base domain of your edge deployment.

    For more information on edge deployments, see Edge deployments.

  • For all other API endpoints, use the base domain https://api.axiom.co.

Content type

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

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:

  • 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) provide full control over your Axiom account. Requests authenticated with a PAT can perform every action you can perform in Axiom. When possible, use API tokens instead of PATs.

If you use an API token for authentication, include the API token in the Authorization header.

Authorization: Bearer API_TOKEN

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.

Authorization: Bearer API_TOKEN
x-axiom-org-id: ORG_ID

If authentication is unsuccessful for a request, Axiom returns the error status code 403.

Data types

Below is a list of the types of data used within the Axiom API:

Name Definition Example
ID A unique value used to identify resources. "io12h34io1h24i"
String A sequence of characters used to represent text. "string value"
Boolean A type of two possible values representing true or false. true
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]

What’s next

Good afternoon

I'm here to help you with the docs.

I
AIBased on your context