API Keys
API keys offer an alternate method of authentication to the Meltano Cloud API using a client ID and secret.
Objects
API Key
| Path | JSON Type | Format | Description |
|---|---|---|---|
id | string | Version 4 UUID | The API key ID |
created | string | ISO 8601 timestamp | The instant when the API key was created |
lastModified | string | ISO 8601 timestamp | The instant when the API key was last modified |
name | string | The API key name | |
clientId | string | The API key client ID | |
profileId | string | The API key owner profile ID |
{
"id" : "82f64f9d-3680-495c-9bc7-7a35461cebbe",
"created" : "2026-04-15T10:46:52.321967",
"lastModified" : "2026-04-15T10:46:52.321968",
"name" : "SIT-generated api key (2026-04-15T10:46:52.283429095)",
"clientId" : "cWCkIIYywkRQsOIqN9JJeEw3Raqjr3Ci",
"profileId" : "auth0|5eb0327cbfd7490bff55feeb",
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe"
},
"update apikey" : {
"href" : "https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe"
},
"delete apikey" : {
"href" : "https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe"
},
"profile" : {
"href" : "https://app.matatika.com/api/profiles/auth0%7C5eb0327cbfd7490bff55feeb"
}
}
}
Requests
View all API keys
GET /api/apikeys
Returns all API keys owned by the authenticated user profile.
Prerequisites
- The authenticated user must own a Meltano Cloud account
- The API key
{apikey-id}must exist
Examples
- cURL
- Python (requests)
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/apikeys/' -i -X GET
import requests
url = "https://app.matatika.com/api/apikeys/"
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("GET", url, headers=headers)
print(response.text.encode('utf8'))
Response
200 OK
API key collection with HAL links.
{
"_embedded" : {
"apikeys" : [ {
"id" : "5e4b8c4a-80f7-4615-a9be-ebcdd1193de7",
"created" : "2026-04-15T10:46:51.299862",
"lastModified" : "2026-04-15T10:46:51.299863",
"name" : "default",
"clientId" : "NS8GpDxYIWxkozpLr0jGQTgTIpzjTXRG",
"profileId" : "auth0|5eb0327cbfd7490bff55feeb",
"accessToken" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlJFRkNRamczTlRRMk16QTROalpHT0RjNFFUWkJOemMyTkRGR1FUSkVOVEEyUkRkR1JrSkRPQSJ9.eyJpc3MiOiJodHRwczovL2lkZW50aXR5Lm1hdGF0aWthLmNvbS8iLCJzdWIiOiJOUzhHcER4WUlXeGtvenBMcjBqR1FUZ1RJcHpqVFhSR0BjbGllbnRzIiwiYXVkIjoiaHR0cHM6Ly9hcHAubWF0YXRpa2EuY29tL2FwaSIsImlhdCI6MTc3NjI1MDAxMiwiZXhwIjoxNzc2MzM2NDEyLCJndHkiOiJjbGllbnQtY3JlZGVudGlhbHMiLCJhenAiOiJOUzhHcER4WUlXeGtvenBMcjBqR1FUZ1RJcHpqVFhSRyJ9.N2luF7K97vTbbyl987ogh3B8OAdy5KbFI2QuiU2BRLIt57MgUXLWSFQRKPx-6gRLmwQf6VWRTjNJgfPxxGQKNpABHEexRElh9iPa4DoiEkQJgmN8w9X8_kxQ5RcTtBN1lMUO1Cjs88RDVvLpzhg0Mj8ZkzXD_Syjo5qoI21rCf1FaLG5H2gOfSu4Mkl1mogBEuSI4hOR_-f_PoA10UinDByFHd8GUEVPsPh18Unr9T-YEiiyo_kPXuyDgr7l8mlk_Y7k5O6dNJ0w8xD_CtjmIwukrKlgpypPlI8l9VjugsKWUD6rjnMrzE8f1ey3AzEKGJh7PRSiVOaMPhnMUeUhHg",
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/apikeys/5e4b8c4a-80f7-4615-a9be-ebcdd1193de7"
},
"update apikey" : {
"href" : "https://app.matatika.com/api/apikeys/5e4b8c4a-80f7-4615-a9be-ebcdd1193de7"
},
"delete apikey" : {
"href" : "https://app.matatika.com/api/apikeys/5e4b8c4a-80f7-4615-a9be-ebcdd1193de7"
},
"profile" : {
"href" : "https://app.matatika.com/api/profiles/auth0%7C5eb0327cbfd7490bff55feeb"
}
}
}, {
"id" : "82f64f9d-3680-495c-9bc7-7a35461cebbe",
"created" : "2026-04-15T10:46:52.321967",
"lastModified" : "2026-04-15T10:46:52.321968",
"name" : "SIT-generated api key (2026-04-15T10:46:52.283429095)",
"clientId" : "cWCkIIYywkRQsOIqN9JJeEw3Raqjr3Ci",
"profileId" : "auth0|5eb0327cbfd7490bff55feeb",
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe"
},
"update apikey" : {
"href" : "https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe"
},
"delete apikey" : {
"href" : "https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe"
},
"profile" : {
"href" : "https://app.matatika.com/api/profiles/auth0%7C5eb0327cbfd7490bff55feeb"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/apikeys/?page=0&size=20"
}
},
"page" : {
"size" : 20,
"totalElements" : 2,
"totalPages" : 1,
"number" : 0
}
}
View an API key
GET /api/apikeys/{apikey-id}
Returns the API key {apikey-id}.
Prerequisites
- The authenticated user must own a Meltano Cloud account
- The API key
{apikey-id}must exist
Examples
- cURL
- Python (requests)
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe' -i -X GET
import requests
url = "https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe"
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("GET", url, headers=headers)
print(response.text.encode('utf8'))
Response
200 OK
API key with HAL links.
{
"id" : "82f64f9d-3680-495c-9bc7-7a35461cebbe",
"created" : "2026-04-15T10:46:52.321967",
"lastModified" : "2026-04-15T10:46:52.321968",
"name" : "SIT-generated api key (2026-04-15T10:46:52.283429095)",
"clientId" : "cWCkIIYywkRQsOIqN9JJeEw3Raqjr3Ci",
"profileId" : "auth0|5eb0327cbfd7490bff55feeb",
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe"
},
"update apikey" : {
"href" : "https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe"
},
"delete apikey" : {
"href" : "https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe"
},
"profile" : {
"href" : "https://app.matatika.com/api/profiles/auth0%7C5eb0327cbfd7490bff55feeb"
}
}
}
Initialise an API key
POST /api/apikeys
Initialises a new API key.
Prerequisites
- The authenticated user must own a Meltano Cloud account
Examples
- cURL
- Python (requests)
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/apikeys/' -i -X POST \
-H 'Content-Type: application/json'
import requests
url = "https://app.matatika.com/api/apikeys/"
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("POST", url, headers=headers)
print(response.text.encode('utf8'))
Response
200 OK
API key with HAL links.
{
"id" : "4489f252-12ed-4dcd-b0d9-ec1623f5cfa7",
"created" : "2026-04-23T13:17:02.40686557",
"lastModified" : "2026-04-23T13:17:02.40686617",
"profileId" : "auth0|5eb0327cbfd7490bff55feeb",
"_links" : {
"create apikey" : {
"href" : "https://app.matatika.com/api/apikeys/4489f252-12ed-4dcd-b0d9-ec1623f5cfa7"
}
}
}
Create an API key
PUT /api/apikeys/{apikey-id}
Creates the API key {apikey-id}.
Prerequisites
- The authenticated user must own a Meltano Cloud account
Body
API key resource.
{
"name" : "SIT-generated api key (2026-04-23T13:17:02.449433772)"
}
Examples
- cURL
- Python (requests)
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/apikeys/4489f252-12ed-4dcd-b0d9-ec1623f5cfa7' -i -X PUT \
-H 'Content-Type: application/json' \
-d '{
"name" : "SIT-generated api key (2026-04-23T13:17:02.449433772)"
}'
import requests
url = "https://app.matatika.com/api/apikeys/4489f252-12ed-4dcd-b0d9-ec1623f5cfa7"
data = {
"name" : "SIT-generated api key (2026-04-23T13:17:02.449433772)"
}
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("PUT", url, headers=headers, data=data)
print(response.text.encode('utf8'))
Response
201 Created
API key with HAL links.
{
"timestamp" : "2026-04-23T13:17:02.940+00:00",
"status" : 500,
"error" : "Internal Server Error",
"message" : "Request failed with status code 403: You reached the limit of entities of this type for this tenant.",
"path" : "/api/apikeys/4489f252-12ed-4dcd-b0d9-ec1623f5cfa7"
}
Update an API key
PUT /api/apikeys/{apikey-id}
Updates the API key {apikey-id}.
Prerequisites
- The authenticated user must own a Meltano Cloud account
Body
API key resource.
{
"name" : "SIT-generated api key (2026-04-15T10:46:52.283429095) (updated)"
}
Examples
- cURL
- Python (requests)
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe' -i -X PUT \
-H 'Content-Type: application/json' \
-d '{
"name" : "SIT-generated api key (2026-04-15T10:46:52.283429095) (updated)"
}'
import requests
url = "https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe"
data = {
"name" : "SIT-generated api key (2026-04-15T10:46:52.283429095) (updated)"
}
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("PUT", url, headers=headers, data=data)
print(response.text.encode('utf8'))
Response
200 OK
API key with HAL links.
{
"id" : "82f64f9d-3680-495c-9bc7-7a35461cebbe",
"created" : "2026-04-15T10:46:52.321967",
"lastModified" : "2026-04-15T10:46:53.398542766",
"name" : "SIT-generated api key (2026-04-15T10:46:52.283429095) (updated)",
"clientId" : "cWCkIIYywkRQsOIqN9JJeEw3Raqjr3Ci",
"profileId" : "auth0|5eb0327cbfd7490bff55feeb",
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe"
},
"update apikey" : {
"href" : "https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe"
},
"delete apikey" : {
"href" : "https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe"
},
"profile" : {
"href" : "https://app.matatika.com/api/profiles/auth0%7C5eb0327cbfd7490bff55feeb"
}
}
}
Delete an API key
DELETE /api/apikeys/{apikey-id}
Deletes the API key {apikey-id}.
Prerequisites
- The authenticated user must own a Meltano Cloud account
- The API key
{apikey-id}must exist
Examples
- cURL
- Python (requests)
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe' -i -X DELETE
import requests
url = "https://app.matatika.com/api/apikeys/82f64f9d-3680-495c-9bc7-7a35461cebbe"
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("DELETE", url, headers=headers)
print(response.text.encode('utf8'))
Response
204 No Content
No response body provided.