Copy as Markdown[Open in ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fdocs-docusaurus.kinsta.page%2Fdataprime%2FAPI%2Fapi-queries.md%20and%20help%20me%20with%20my%20question%20about%20this%20Coralogix%20documentation%20page.)[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fdocs-docusaurus.kinsta.page%2Fdataprime%2FAPI%2Fapi-queries.md%20and%20help%20me%20with%20my%20question%20about%20this%20Coralogix%20documentation%20page.)

# API queries

Run **DataPrime** or **Lucene** queries directly from your code—no need to open the Coralogix UI.

Choose the API architecture that best fits your workflow:

* **JSON over HTTP**
* **gRPC**

For large or recurring analytics jobs (like monthly or quarterly reports), use **background queries** that run asynchronously. These are available via both [JSON-over-HTTP](https://docs-docusaurus.kinsta.page/dataprime/API/direct-archive-query-http/.md) and [gRPC](https://docs-docusaurus.kinsta.page/dataprime/API/direct-archive-query-grpc/.md).

## Quick comparison[​](#quick-comparison "Direct link to Quick comparison")

| Feature                | JSON over HTTP                                   | gRPC              |
| ---------------------- | ------------------------------------------------ | ----------------- |
| **Transport Security** | HTTPS                                            | HTTPS             |
| **Request Format**     | JSON (POST body)                                 | Protobuf message  |
| **Response Format**    | NDJSON for streaming<br />JSON for non-streaming | Protobuf stream   |
| **Status Codes**       | Standard HTTP                                    | gRPC status codes |

## Setup & authentication[​](#setup--authentication "Direct link to Setup & authentication")

All requests must be sent over HTTPS, regardless of whether you're using HTTP or gRPC.

To get started:

1. Choose the
   <!-- -->
   https\://api./api/v1/dataprime/query
   <!-- -->
   endpoint that corresponds to your Coralogix [domain](https://docs-docusaurus.kinsta.page/user-guides/account-management/account-settings/coralogix-domain/.md) using the domain selector at the top of the page.
2. Create a personal or team [API key](https://docs-docusaurus.kinsta.page/user-guides/account-management/api-keys/api-keys/.md).
3. Include your API key in the Authorization header of your request:

```
Authorization: Bearer <YOUR_API_KEY>
```

Note

Select the DataQuerying permission preset to keep your key automatically aligned with future permission updates.

## Required permissions[​](#required-permissions "Direct link to Required permissions")

| Action                           | Purpose                             |
| -------------------------------- | ----------------------------------- |
| `LEGACY-ARCHIVE-QUERIES:EXECUTE` | Query archived data                 |
| `LOGS.DATA-API#HIGH:READDATA`    | Query frequent‑search logs          |
| `LOGS.DATA-API#LOW:READDATA`     | Query monitoring & compliance logs  |
| `METRICS.DATA-API#HIGH:READDATA` | Query metrics                       |
| `SPANS.DATA-API#HIGH:READDATA`   | Query frequent‑search spans         |
| `SPANS.DATA-API#LOW:READDATA`    | Query monitoring & compliance spans |

## Next steps[​](#next-steps "Direct link to Next steps")

Choose your guide and jump straight into examples:

* [JSON over HTTP reference](https://docs-docusaurus.kinsta.page/dataprime/API/direct-archive-query-http/.md) – request/response schema, examples, and error handling.

* [gRPC reference](https://docs-docusaurus.kinsta.page/dataprime/API/direct-archive-query-grpc/.md) – proto definitions and streaming examples.

## Additional resources[​](#additional-resources "Direct link to Additional resources")

|                     |                                                                                                 |
| ------------------- | ----------------------------------------------------------------------------------------------- |
| Coralogix Endpoints | [Coralogix Endpoints](https://docs-docusaurus.kinsta.page/integrations/coralogix-endpoints/.md) |
