Profiles
Profiles are individual consumers of the Meltano Cloud service. A profile is automatically created for a user when they first access the app, or accept an invitation to a workspace from an existing member via email.
Objects
Profile
| Path | JSON Type | Format | Description |
|---|---|---|---|
id | string | Version 4 UUID | The profile ID |
name | string | The full name of the person or entity represented by this profile | |
handle | string | The unique @-prefixed handle for this profile (generated and read-only) | |
phone | string | Phone number | The profile phone number |
email | string | Email address | The profile email address |
defaultWorkspace | object | Workspace | The profile default workspace |
workingAccount | object | Account | The profile working account under which new workspaces are created |
{
"id" : "auth0|6a21dc7aa1db2e036a222942",
"name" : "sit+prod@meltano.com",
"handle" : "@sit+prod1",
"email" : "sit+prod@meltano.com",
"workingAccount" : {
"company" : "Test Company",
"id" : "auth0|6a21dc7aa1db2e036a222942"
},
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/profiles"
},
"update edit profile" : {
"href" : "https://app.matatika.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942"
},
"workspaces" : {
"href" : "https://app.matatika.com/api/workspaces"
},
"new workspace" : {
"href" : "https://app.matatika.com/api/workspaces"
},
"set working account" : {
"href" : "https://app.matatika.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942/working-account"
}
}
}
Requests
View all profiles
GET /api/profiles
Returns all profiles under the authenticated user account.
Examples
- cURL
- Python (requests)
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/profiles' -i -X GET
import requests
url = "https://app.matatika.com/api/profiles"
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("GET", url, headers=headers)
print(response.text.encode('utf8'))
Response
200 OK
Profile collection with HAL links.
{
"_embedded" : {
"profiles" : [ {
"id" : "auth0|6a21dc7aa1db2e036a222942",
"name" : "sit+prod@meltano.com",
"handle" : "@sit+prod1",
"email" : "sit+prod@meltano.com",
"workingAccount" : {
"company" : "Test Company",
"id" : "auth0|6a21dc7aa1db2e036a222942"
},
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/profiles"
},
"update edit profile" : {
"href" : "https://app.matatika.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942"
},
"workspaces" : {
"href" : "https://app.matatika.com/api/workspaces"
},
"new workspace" : {
"href" : "https://app.matatika.com/api/workspaces"
},
"set working account" : {
"href" : "https://app.matatika.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942/working-account"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/profiles?page=0&size=20"
}
},
"page" : {
"size" : 20,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
View a profile
GET /api/profiles/{profile-id}
Returns the profile {profile-id}.
Prerequisites
- Profile
{profile-id}must exist under the authenticated user account
Examples
- cURL
- Python (requests)
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942' -i -X GET
import requests
url = "https://app.matatika.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942"
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("GET", url, headers=headers)
print(response.text.encode('utf8'))
Response
200 OK
Profile with HAL links.
{
"id" : "auth0|6a21dc7aa1db2e036a222942",
"name" : "sit+prod@meltano.com",
"handle" : "@sit+prod1",
"email" : "sit+prod@meltano.com",
"workingAccount" : {
"company" : "Test Company",
"id" : "auth0|6a21dc7aa1db2e036a222942"
},
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/profiles"
},
"update edit profile" : {
"href" : "https://app.matatika.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942"
},
"workspaces" : {
"href" : "https://app.matatika.com/api/workspaces"
},
"new workspace" : {
"href" : "https://app.matatika.com/api/workspaces"
},
"set working account" : {
"href" : "https://app.matatika.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942/working-account"
}
}
}
Create or update profile
PUT /api/profiles/{profile-id}
Creates or updates the user profile.
Prerequisites
- The authentication subject must match the profile ID
{profile-id}
Body
Profile resource.
{
"name" : "SIT-Generated Profile [2026-07-10T10:09:05.602580574]",
"phone" : "45057249589",
"email" : "sit+3vou2jk3@meltano.com"
}
Examples
- cURL
- Python (requests)
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/profiles/auth0%7C6a50c4c1fd3accdaffe6c32c' -i -X PUT \
-H 'Content-Type: application/json' \
-d '{
"name" : "SIT-Generated Profile [2026-07-10T10:09:05.602580574]",
"phone" : "45057249589",
"email" : "sit+3vou2jk3@meltano.com"
}'
import requests
url = "https://app.matatika.com/api/profiles/auth0%7C6a50c4c1fd3accdaffe6c32c"
data = {
"name" : "SIT-Generated Profile [2026-07-10T10:09:05.602580574]",
"phone" : "45057249589",
"email" : "sit+3vou2jk3@meltano.com"
}
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("PUT", url, headers=headers, data=data)
print(response.text.encode('utf8'))
Response
200 OK / 201 Created
Profile with HAL links.
{
"id" : "auth0|6a50c4c1fd3accdaffe6c32c",
"name" : "SIT-Generated Profile [2026-07-10T10:09:05.602580574]",
"handle" : "@sit-generatedprofile[2026-07-10t10:09:04.950095581]",
"phone" : "45057249589",
"email" : "sit+3vou2jk3@meltano.com",
"workingAccount" : {
"id" : "auth0|6a50c4c1fd3accdaffe6c32c"
},
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/profiles"
},
"update edit profile" : {
"href" : "https://app.matatika.com/api/profiles/auth0%7C6a50c4c1fd3accdaffe6c32c"
},
"workspaces" : {
"href" : "https://app.matatika.com/api/workspaces"
},
"new workspace" : {
"href" : "https://app.matatika.com/api/workspaces"
},
"set working account" : {
"href" : "https://app.matatika.com/api/profiles/auth0%7C6a50c4c1fd3accdaffe6c32c/working-account"
}
}
}
Set a workspace as default
PATCH /api/profiles/{profile-id}
Sets a default workspace for the profile {profile-id}.
Prerequisites
- The authentication subject must match the profile ID
{profile-id}
A workspace can be set as default, which defines the environment Meltano Cloud will initially load with for a given profile. The default workspace setting persists only for the profile that sets it.
Body
Profile resource.
{
"defaultWorkspace" : {
"id" : "ff2fbe23-6acb-40d7-9c98-606d75640f0c"
}
}
Examples
- cURL
- Python (requests)
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942' -i -X PATCH \
-H 'Content-Type: application/json' \
-d '{
"defaultWorkspace" : {
"id" : "ff2fbe23-6acb-40d7-9c98-606d75640f0c"
}
}'
import requests
url = "https://app.matatika.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942"
data = {
"defaultWorkspace" : {
"id" : "ff2fbe23-6acb-40d7-9c98-606d75640f0c"
}
}
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("PATCH", url, headers=headers, data=data)
print(response.text.encode('utf8'))
Response
200 OK
Profile with HAL links.
{
"id" : "auth0|6a21dc7aa1db2e036a222942",
"name" : "sit+prod@meltano.com",
"handle" : "@sit+prod1",
"email" : "sit+prod@meltano.com",
"defaultWorkspace" : {
"name" : "Test Workspace [2026-07-10T10:08:48.289409364]",
"id" : "ff2fbe23-6acb-40d7-9c98-606d75640f0c"
},
"workingAccount" : {
"company" : "Test Company",
"id" : "auth0|6a21dc7aa1db2e036a222942"
},
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/profiles"
},
"update edit profile" : {
"href" : "https://app.matatika.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942"
},
"workspaces" : {
"href" : "https://app.matatika.com/api/workspaces"
},
"new workspace" : {
"href" : "https://app.matatika.com/api/workspaces"
},
"set working account" : {
"href" : "https://app.matatika.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942/working-account"
}
}
}
Set the working account for a profile
PUT /api/profiles/{profile-id}/working-account/{account-id}
Sets the working account {account-id} for the profile {profile-id}.
Prerequisites
- Profile
{profile-id}must exist - Account
{account-id}must exist - The authentication subject must match the profile ID
{profile-id} - The profile
{profile-id}must be an owner of the account{account-id}
Response
200 OK
Profile with HAL links.