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+prod",
"email" : "sit+prod@meltano.com",
"workingAccount" : {
"company" : "SIT Account - DO NOT CHANGE",
"id" : "auth0|6a21dc7aa1db2e036a222942"
},
"_links" : {
"self" : {
"href" : "https://app.meltano.com/api/profiles"
},
"update edit profile" : {
"href" : "https://app.meltano.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942"
},
"workspaces" : {
"href" : "https://app.meltano.com/api/workspaces"
},
"set working account" : {
"href" : "https://app.meltano.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942/working-account"
},
"new workspace" : {
"href" : "https://app.meltano.com/api/workspaces"
}
}
}
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.meltano.com:443/api/profiles' -i -X GET
import requests
url = "https://app.meltano.com:443/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+prod",
"email" : "sit+prod@meltano.com",
"workingAccount" : {
"company" : "SIT Account - DO NOT CHANGE",
"id" : "auth0|6a21dc7aa1db2e036a222942"
},
"_links" : {
"self" : {
"href" : "https://app.meltano.com/api/profiles"
},
"update edit profile" : {
"href" : "https://app.meltano.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942"
},
"workspaces" : {
"href" : "https://app.meltano.com/api/workspaces"
},
"set working account" : {
"href" : "https://app.meltano.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942/working-account"
},
"new workspace" : {
"href" : "https://app.meltano.com/api/workspaces"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "https://app.meltano.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.meltano.com:443/api/profiles/auth0%7C6a21dc7aa1db2e036a222942' -i -X GET
import requests
url = "https://app.meltano.com:443/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+prod",
"email" : "sit+prod@meltano.com",
"workingAccount" : {
"company" : "SIT Account - DO NOT CHANGE",
"id" : "auth0|6a21dc7aa1db2e036a222942"
},
"_links" : {
"self" : {
"href" : "https://app.meltano.com/api/profiles"
},
"update edit profile" : {
"href" : "https://app.meltano.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942"
},
"workspaces" : {
"href" : "https://app.meltano.com/api/workspaces"
},
"set working account" : {
"href" : "https://app.meltano.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942/working-account"
},
"new workspace" : {
"href" : "https://app.meltano.com/api/workspaces"
}
}
}
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-09-14T06:11:46.452559371]",
"phone" : "90064350388",
"email" : "sit+hxcjud0d@meltano.com"
}
Examples
- cURL
- Python (requests)
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.meltano.com:443/api/profiles/auth0%7C6aa7902231a26299bb9bdcd2' -i -X PUT \
-H 'Content-Type: application/json' \
-d '{
"name" : "SIT-Generated Profile [2026-09-14T06:11:46.452559371]",
"phone" : "90064350388",
"email" : "sit+hxcjud0d@meltano.com"
}'
import requests
url = "https://app.meltano.com:443/api/profiles/auth0%7C6aa7902231a26299bb9bdcd2"
data = {
"name" : "SIT-Generated Profile [2026-09-14T06:11:46.452559371]",
"phone" : "90064350388",
"email" : "sit+hxcjud0d@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|6aa7902231a26299bb9bdcd2",
"name" : "SIT-Generated Profile [2026-09-14T06:11:46.452559371]",
"handle" : "@sit-generatedprofile[2026-09-14t06:11:45.804356787]",
"phone" : "90064350388",
"email" : "sit+hxcjud0d@meltano.com",
"workingAccount" : {
"id" : "auth0|6aa7902231a26299bb9bdcd2"
},
"_links" : {
"self" : {
"href" : "https://app.meltano.com/api/profiles"
},
"update edit profile" : {
"href" : "https://app.meltano.com/api/profiles/auth0%7C6aa7902231a26299bb9bdcd2"
},
"workspaces" : {
"href" : "https://app.meltano.com/api/workspaces"
},
"set working account" : {
"href" : "https://app.meltano.com/api/profiles/auth0%7C6aa7902231a26299bb9bdcd2/working-account"
},
"new workspace" : {
"href" : "https://app.meltano.com/api/workspaces"
}
}
}
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" : "02a68b27-45f9-4b61-8019-f18cd677bf47"
}
}
Examples
- cURL
- Python (requests)
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.meltano.com:443/api/profiles/auth0%7C6a21dc7aa1db2e036a222942' -i -X PATCH \
-H 'Content-Type: application/json' \
-d '{
"defaultWorkspace" : {
"id" : "02a68b27-45f9-4b61-8019-f18cd677bf47"
}
}'
import requests
url = "https://app.meltano.com:443/api/profiles/auth0%7C6a21dc7aa1db2e036a222942"
data = {
"defaultWorkspace" : {
"id" : "02a68b27-45f9-4b61-8019-f18cd677bf47"
}
}
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+prod",
"email" : "sit+prod@meltano.com",
"defaultWorkspace" : {
"name" : "Test Workspace [2026-09-14T06:11:38.117933130]",
"id" : "02a68b27-45f9-4b61-8019-f18cd677bf47"
},
"workingAccount" : {
"company" : "SIT Account - DO NOT CHANGE",
"id" : "auth0|6a21dc7aa1db2e036a222942"
},
"_links" : {
"self" : {
"href" : "https://app.meltano.com/api/profiles"
},
"update edit profile" : {
"href" : "https://app.meltano.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942"
},
"workspaces" : {
"href" : "https://app.meltano.com/api/workspaces"
},
"set working account" : {
"href" : "https://app.meltano.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942/working-account"
},
"new workspace" : {
"href" : "https://app.meltano.com/api/workspaces"
}
}
}
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}
Examples
- cURL
- Python (requests)
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.meltano.com:443/api/profiles/auth0%7C6a21dc7aa1db2e036a222942/working-account/xhgog-nnajs' -i -X PUT \
-H 'Content-Type: application/json'
import requests
url = "https://app.meltano.com:443/api/profiles/auth0%7C6a21dc7aa1db2e036a222942/working-account/xhgog-nnajs"
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("PUT", 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+prod",
"email" : "sit+prod@meltano.com",
"workingAccount" : {
"company" : "Test Company (updated)",
"id" : "xhgog-nnajs"
},
"_links" : {
"self" : {
"href" : "https://app.meltano.com/api/profiles"
},
"update edit profile" : {
"href" : "https://app.meltano.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942"
},
"workspaces" : {
"href" : "https://app.meltano.com/api/workspaces"
},
"set working account" : {
"href" : "https://app.meltano.com/api/profiles/auth0%7C6a21dc7aa1db2e036a222942/working-account"
}
}
}