HTTP API

Authentication

GreptimeDB supports the built-in Basic authentication scheme in HTTP API for SQL language and OpenTSDB protocol. To set up authentication, do the following:

  1. Encode your username and password using Base64 algorithm.
  2. Attach your encoded credentials to the HTTP request header using the format Authorization: Basic <base64-encoded-credentials>.

Here’s an example:

  1. curl -X POST \
  2. -H 'Authorization: Basic Z3JlcHRpbWVfdXNlcjpncmVwdGltZV9wd2Q=' \
  3. -H 'Content-Type: application/x-www-form-urlencoded' \
  4. -d 'sql=show tables' \
  5. http://localhost:4000/v1/sql?db=public
  1. {
  2. "code": 0,
  3. "output": [
  4. {
  5. "records": {
  6. "schema": {
  7. "column_schemas": [
  8. {
  9. "name": "Tables",
  10. "data_type": "String"
  11. }
  12. ]
  13. },
  14. "rows": [
  15. ["numbers"]
  16. ]
  17. }
  18. }
  19. ],
  20. "execution_time_ms": 1
  21. }
  • Z3JlcHRpbWVfdXNlcjpncmVwdGltZV9wd2Q= is greptime_user:greptime_pwd encoded using Base64. Remember to replace it with your own configured username and password and encode them using Base64.
  • The public in the URL is the name of your database, which is required with authorization.

HTTP API - 图1NOTE

InfluxDB uses its own authentication format, see InfluxDB for details.

Time zone

GreptimeDB supports the X-Greptime-Timezone header in HTTP requests. It is used to specify the timezone for the current SQL query.

For example, the following request uses the time zone +1:00 for the query:

  1. curl -X POST \
  2. -H 'X-Greptime-Timezone: +1:00' \
  3. -H 'Content-Type: application/x-www-form-urlencoded' \
  4. -d 'sql=SHOW VARIABLES time_zone;' \
  5. http://localhost:4000/v1/sql?db=public

After the query, the result will be:

  1. {
  2. "output": [
  3. {
  4. "records": {
  5. "schema": {
  6. "column_schemas": [
  7. {
  8. "name": "TIME_ZONE",
  9. "data_type": "String"
  10. }
  11. ]
  12. },
  13. "rows": [
  14. [
  15. "+01:00"
  16. ]
  17. ]
  18. }
  19. }
  20. ],
  21. "execution_time_ms": 27
  22. }

For information on how the time zone affects data inserts and queries, please refer to the SQL documents in the write data and query data sections.

Write data

Query data