---
title: "API keys API"
description: "Administrative API for managing MapTiler Cloud API keys."
---

> For AI agents: a documentation index is available at [/llms.txt](https://docs-qmgv.pages.dev/llms.txt). Markdown versions of all pages are available by appending .md to any URL.

# API keys API

## API keys API reference

Configure your environment settings below to update code samples:

-   **Client Libraries** – select your preferred programming language of the code examples.

  Scalar API Reference

-   [
    
    Introduction
    
    ](#description/introduction)
-   [
    
    API keys
    
    ](#tag/api-keys)
    
    Close Group - API keys
    
    -   [
        
        List API keys belonging to account
        
        HTTP Method:  GET](#tag/api-keys/GET/api_keys)
    -   [
        
        Create new key
        
        HTTP Method:  POST](#tag/api-keys/POST/api_keys)
    -   [
        
        Get key
        
        HTTP Method:  GET](#tag/api-keys/GET/api_keys/{key_id})
    -   [
        
        Delete given key
        
        HTTP Method:  DEL](#tag/api-keys/DELETE/api_keys/{key_id})
    -   [
        
        Update given key
        
        HTTP Method:  POST](#tag/api-keys/POST/api_keys/{key_id}/change_settings)

[Powered by Scalar](https://www.scalar.com)

v1.0

OpenAPI 3.0.2

# MapTiler Service API

[Support](mailto:support@maptiler.com)

[](https://docs.maptiler.com/support/requests/)

[Terms of Service](https://www.maptiler.com/terms/)

Server

Server:https://service.maptiler.com/v1

MapTiler Service API

Client Libraries

Shell

Ruby

Node.js

PHP

Python

MoreSelect from all clients

Shell Curl

## API keys

​Copy link

API keys Operations

-   get/api\_keys
-   post/api\_keys
-   get/api\_keys/{key\_id}
-   delete/api\_keys/{key\_id}
-   post/api\_keys/{key\_id}/change\_settings

### List API keys belonging to account

​Copy link

Auth Required

Query Parameters

-   cursorCopy link to cursor
    
    Type: string • base64
    
    Page cursor
    
-   limitCopy link to limit
    
    Type: integer
    
    min:  
    
    10
    
    max:  
    
    100
    
    Default
    
    50
    
    Page limit
    

Responses

-   200
    
    Page of API keys
    
    application/json
    

Request Example for get/api\_keys

Shell Curl

```curl
curl https://service.maptiler.com/v1/api_keys \
  --header 'Authorization: Basic username:password'
```

cURLCopy

cURLCopy

Status: 200

Show Schema 

```json
{
  "cursor": null,
  "total_count": 1,
  "items": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "token": "string",
      "name": "string",
      "description": null,
      "user_agent": null,
      "origins": [
        "string"
      ],
      "created": "2026-08-31T17:00:00.000Z",
      "changed": "2026-08-31T17:00:00.000Z"
    }
  ]
}
```

JSONCopy

JSONCopy

Page of API keys

### Create new key

​Copy link

Auth Required

Body·APIKeySettings

application/json

-   descriptionCopy link to description
    
    Type: string | null
    
-   nameCopy link to name
    
    Type: string | null
    
    Will be generated automatically unless provided explicitly.
    
-   originsCopy link to origins
    
    Type: array string\[\]
    
    Specifies which HTTP origins are allowed to access the API.
    
    For example \[`mydomain.com`\] will ensure, that only requests coming from `mydomain.com` will be processed. Use `*.mydomain.com` to allow all subdomains.
    
    Ensure your application sends the `Origin` or `Referer` header; otherwise, requests are treated as unknown and will be rejected if any origin is specified.
    
    Use `?` placeholder to explicitly allow unknown origins.
    
-   user\_agentCopy link to user\_agent
    
    Type: string | null
    
    Processes only requests where the `User-Agent` HTTP header contains this exact, case-sensitive substring.
    
    Wildcards are not supported; only a single string is allowed.
    
    Useful for increasing security of your key used in custom mobile or desktop applications.
    
    Leave empty to allow requests from any user-agent.
    

Responses

-   200
    
    API key
    
    application/json
    

Request Example for post/api\_keys

Shell Curl

```curl
curl https://service.maptiler.com/v1/api_keys \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Basic username:password' \
  --data '{
  "name": null,
  "description": null,
  "user_agent": null,
  "origins": [
    ""
  ]
}'
```

cURLCopy

cURLCopy

Status: 200

Show Schema 

```json
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "token": "string",
  "name": "string",
  "description": null,
  "user_agent": null,
  "origins": [
    "string"
  ],
  "created": "2026-08-31T17:00:00.000Z",
  "changed": "2026-08-31T17:00:00.000Z"
}
```

JSONCopy

JSONCopy

API key

### Get key

​Copy link

Auth Required

Path Parameters

-   key\_idCopy link to key\_id
    
    Type: string Format: uuid
    
    required
    
    Identifier of API Key.
    

Responses

-   200
    
    API key
    
    application/json
    

Request Example for get/api\_keys/_{key\_id}_

Shell Curl

```curl
curl https://service.maptiler.com/v1/api_keys/123e4567-e89b-12d3-a456-426614174000 \
  --header 'Authorization: Basic username:password'
```

cURLCopy

cURLCopy

Status: 200

Show Schema 

```json
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "token": "string",
  "name": "string",
  "description": null,
  "user_agent": null,
  "origins": [
    "string"
  ],
  "created": "2026-08-31T17:00:00.000Z",
  "changed": "2026-08-31T17:00:00.000Z"
}
```

JSONCopy

JSONCopy

API key

### Delete given key

​Copy link

Auth Required

Path Parameters

-   key\_idCopy link to key\_id
    
    Type: string Format: uuid
    
    required
    
    Identifier of API Key.
    

Responses

-   200
    
    Successfully deleted
    

Request Example for delete/api\_keys/_{key\_id}_

Shell Curl

```curl
curl https://service.maptiler.com/v1/api_keys/123e4567-e89b-12d3-a456-426614174000 \
  --request DELETE \
  --header 'Authorization: Basic username:password'
```

cURLCopy

cURLCopy

Status: 200

No Body

Successfully deleted

### Update given key

​Copy link

Auth Required

Path Parameters

-   key\_idCopy link to key\_id
    
    Type: string Format: uuid
    
    required
    
    Identifier of API Key.
    

Body·APIKeySettings

application/json

-   descriptionCopy link to description
    
    Type: string | null
    
-   nameCopy link to name
    
    Type: string | null
    
    Will be generated automatically unless provided explicitly.
    
-   originsCopy link to origins
    
    Type: array string\[\]
    
    Specifies which HTTP origins are allowed to access the API.
    
    For example \[`mydomain.com`\] will ensure, that only requests coming from `mydomain.com` will be processed. Use `*.mydomain.com` to allow all subdomains.
    
    Ensure your application sends the `Origin` or `Referer` header; otherwise, requests are treated as unknown and will be rejected if any origin is specified.
    
    Use `?` placeholder to explicitly allow unknown origins.
    
-   user\_agentCopy link to user\_agent
    
    Type: string | null
    
    Processes only requests where the `User-Agent` HTTP header contains this exact, case-sensitive substring.
    
    Wildcards are not supported; only a single string is allowed.
    
    Useful for increasing security of your key used in custom mobile or desktop applications.
    
    Leave empty to allow requests from any user-agent.
    

Responses

-   200
    
    API key
    
    application/json
    

Request Example for post/api\_keys/_{key\_id}_/change\_settings

Shell Curl

```curl
curl https://service.maptiler.com/v1/api_keys/123e4567-e89b-12d3-a456-426614174000/change_settings \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Basic username:password' \
  --data '{
  "name": null,
  "description": null,
  "user_agent": null,
  "origins": [
    ""
  ]
}'
```

cURLCopy

cURLCopy

Status: 200

Show Schema 

```json
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "token": "string",
  "name": "string",
  "description": null,
  "user_agent": null,
  "origins": [
    "string"
  ],
  "created": "2026-08-31T17:00:00.000Z",
  "changed": "2026-08-31T17:00:00.000Z"
}
```

JSONCopy

JSONCopy

API key
