Customer Endpoints

List Customers

Returns information about your customer entity.

GET /customers/

Request Example

curl -X GET \
-H "X-Frame-ClientId: ${client_id}" \
-H "X-Frame-Timestamp: ${timestamp}" \
-H "X-Frame-Signature: ${signature}" \
"https://api.console.nutanix.com/v1/customers/

Response Example

Status: 200 OK
{
     "active": true,
     "available_applications": [
         "frame"
     ],
     "billing_subscriptions": null,
     "description": "Internal, Frame Support",
     "extra_features": [
         "deployment_group_tag",
         "compatibility_matrix_tag"
     ],
     "id": "d3e7d4e0-5ab2-47cf-9f9c-0b02999931e7",
     "name": "Frame Support",
     "notes": "Frame Support Customer, used for all things Frame!",
     "owner_email": null,
     "tenant_domain": null,
     "url_slug": "frame-support",
     "website": null
 }

List Customer Accounts

Returns a list of all accounts across all organizations.

GET /customers/${customer_id}/accounts

Request Parameters

Name

Description

Param Type

Data Type

Required

name

Name or portion of name you would like to use for searching/filtering.

URL

String

False

active

Filters the accounts based on their “active” status. Useful for filtering out older terminated accounts.

Search Query

String

False

organization_id

Filters accounts list based on the provided Organization ID.

Search Query

String

False

offset

Used to specify where to start a Audit Trails query. Must be used in conjunction with the limit parameter.

Search Query

Integer (String)

False

limit

Used to specify the “page size” of the Audit Trails query. Must be used in conjunction with the offset parameter.

Search Query

Integer (String)

False

order

Specifies the order of the results. Use “asc” for ascending order, and “desc” for descending order.

Search Query

String

False

order_by

Specifies the field of which the ordering should occur. For example, “session_start”, “session_duration”, etc.

Search Query

String

False

Request Example

curl -X GET \
-H "X-Frame-ClientId: ${client_id}" \
-H "X-Frame-Timestamp: ${timestamp}" \
-H "X-Frame-Signature: ${signature}" \
"https://api.console.nutanix.com/v1/customers/${customer_id}/accounts?active=true

Response Example

Status: 200 OK
[
  {
    "active": true,
    "description": "Kitchen Toaster API backplane",
    "id": "54aaf078-8c03-4c75-8cda-2fc4ce661f22",
    "inserted_at": "2021-07-19T17:57:36.221864Z",
    "kind": "frame",
    "last_publish": "2022-12-20T20:43:03Z",
    "name": "Example Account",
    "notes": null,
    "url_slug": "example-account-slug",
    "website": null
  },
  // ... More Accounts
]

List Customer Audit Trails

Returns Audit Trails for an account, constrained by a date range and a number of ways to filter & search for granular queries.

GET /customers/${customer_id}/audit-trails

Request Parameters

Name

Description

Param Type

Data Type

Required

customer_id

Your Nutanix Customer ID

URL

String

True

search

Filters results if the provided string matches against a user’s full name, email, idp, or the Audit Trail kind.

Search Query

String

False

kind

Filters Audit Trails by wildcard matching against the supplied string. For example, a kind of “launchpad” will return Audit Trails for both createLaunchpad and updateLaunchpad actions.

Search Query

String

False

from_date

The beginning date range for the query. The date needs to be an ISO 8601 UTC string (with the “Z” suffix). For example: “2021-12-25T23:20:58.128Z”.

Search Query

ISO 8601 UTC String

False

to_date

The ending date range for the query. The date needs to be an ISO 8601 UTC string (with the “Z” suffix). For example: “2021-12-25T23:20:58.128Z”.

Search Query

ISO 8601 UTC String

False

offset

Used to specify where to start a Audit Trails query. Must be used in conjunction with the limit parameter.

Search Query

Integer (String)

False

limit

Used to specify the “page size” of the Audit Trails query. Must be used in conjunction with the offset parameter.

Search Query

Integer (String)

False

order

Specifies the order of the results. Use “asc” for ascending order, and “desc” for descending order.

Search Query

String

False

order_by

Specifies the field of which the ordering should occur. For example, “session_start”, “session_duration”, etc.

Search Query

String

False

Request Example

curl -X GET \
-H "X-Frame-ClientId: ${client_id}" \
-H "X-Frame-Timestamp: ${timestamp}" \
-H "X-Frame-Signature: ${signature}" \
"https://api.console.nutanix.com/v1/customers/${customer_id}/audit-trails?search=jason.thompson@nutanix.com&kind=launchpad&limit=5&offset=0&from_date={{from_date}}&to_date={{to_date}}&order_by=inserted_at&order=desc

Response Example

Status: 200 OK
[
  {
    "id": "7c3dee57-5a7b-4211-a55d-7d5b8e5f595b",
    "user_first_name": "Jason",
    "user_last_name": "Thompson",
    "user_idp": "example-idp-name",
    "user_email": "jason.thompson@nutanix.com",
    "kind": "updateLaunchpad",
    "account_id": "b00636bf-4f08-404e-a7ba-3c2aaa173335",
    "organization_id": "86bcea89-389f-496a-3c75-1df0ce8d96ca",
    "customer_id": "b3e7d4e0-5ab2-43cf-9f9c-0c02909931e1",
    "inserted_at": "2021-10-15T20:49:13.377350Z"
  },
  {
    "id": "4f62a8e4-1ab4-430b-9f4f-96fa77ff24f5",
    "user_first_name": "Jason",
    "user_last_name": "Thompson",
    "user_idp": "example-idp-name",
    "user_email": "jason.thompson@nutanix.com",
    "kind": "createLaunchpad",
    "account_id": "b00636bf-4f08-404e-a7ba-3c2aaa173335",
    "organization_id": "86bcea89-389f-496a-3c75-1df0ce8d96ca",
    "customer_id": "b3e7d4e0-5ab2-43cf-9f9c-0c02909931e1",
    "inserted_at": "2021-10-15T20:49:09.833114Z"
  },
  // ... more Audit Trails
]

List Customer Session Trails

Returns information on the customer specified.

GET /customers/${customer_id}/session-trails

Request Parameters

Name

Description

Param Type

Data Type

Required

customer_id

Your Nutanix Customer ID

URL

String

True

search

Filters results if the provided string matches against Server ID, Session ID, email address, and a user’s full name.

Search Query

String

False

session_start

The beginning date range for the query. The date needs to be an ISO 8601 UTC string (with the “Z” suffix). For example: “2021-12-25T23:20:58.128Z”.

Search Query

ISO 8601 UTC String

False

session_end

The ending date range for the query. The date needs to be an ISO 8601 UTC string (with the “Z” suffix). For example: “2021-12-25T23:20:58.128Z”.

Search Query

ISO 8601 UTC String

False

instance_type

Filters Session Trails based on a specific instance type ID.

Search Query

String

False

pool_group_type

Filters Session Trails based on the pool group server type: sandbox, production, utility, persistent_desktop_production, persistent_desktop_shadow.

Search Query

String

False

pool_id

Filters Session Trails based on provided instance type’s pool ID.

Search Query

String

False

offset

Used to specify where to start a Session Trails query. Must be used in conjunction with the limit parameter.

Search Query

Integer (String)

False

limit

Used to specify the “page size” of the Session Trails query. Must be used in conjunction with the offset parameter.

Search Query

Integer (String)

False

order

Specifies the order of the results. Use “asc” for ascending order, and “desc” for descending order.

Search Query

String

False

order_by

Specifies the field of which the ordering should occur. For example, “session_start”, “session_duration”, etc.

Search Query

String

False

Request Example

curl -X GET \
-H "X-Frame-ClientId: ${client_id}" \
-H "X-Frame-Timestamp: ${timestamp}" \
-H "X-Frame-Signature: ${signature}" \
"https://api.console.nutanix.com/v1/customers/${customer_id}/session-trails?limit=50&offset=0&order=desc&order_by=session_start

Response Example

Status: 200 OK
[
  {
    "account_id": "084ab7d0-e4ca-4dea-932a-45bf33f02088",
    "bandwidth_kbps_avg": 15921.05,
    "bandwidth_kbps_max": 16128,
    "bandwidth_kbps_min": 14024,
    "city": "Tehama",
    "client_ip": "123.32.145.255",
    "customer_id": "d3e7d4e0-5ab2-47cf-9f9c-0b02999931e7",
    "distance": 2369.002238311968,
    "fail_description": null,
    "framerate_ps_avg": 19.74,
    "framerate_ps_max": 20,
    "framerate_ps_min": 10,
    "id": "b970ec31-ca07-48c9-8b56-4547a7b1a9f8",
    "instance_type": "t2.large",
    "latency_ms_avg": 110.36,
    "latency_ms_max": 132,
    "latency_ms_min": 106,
    "organization_id": "2fb210e0-e931-4c62-83fd-b31fe13468ca",
    "pool_group_type": "sandbox",
    "pool_id": "d54b760c-956a-487b-a675-e113677fe871",
    "pool_instance_type": {
      "bare_metal": null,
      "display_name": "Air 8GB",
      "gpu": "None",
      "id": "gateway-prod.5",
      "name": "t2.large",
      "ram": 8,
      "vcpu": 2
    },
    "server_id": "gateway-prod.5232637",
    "session_duration": 2391,
    "session_end": "2021-02-25T23:17:27.000000Z",
    "session_id": "gateway-prod.nMOARz25k9LDmGN0",
    "session_start": "2021-02-25T23:15:56.000000Z",
    "user_email": "example.user@company.com",
    "user_first_name": "Example",
    "user_id": "52b19f2e-c8ae-4f12-beab-f2838ce8dce9",
    "user_idp": "example-idp",
    "user_last_name": "User"
  },
]

List Customer API Authorization Rules

Returns all Customer API keys that have been generated and their associated permissions.

GET /customers/${customer_id}/api_authorization_rules

Request Example

curl -X GET \
-H "X-Frame-ClientId: ${client_id}" \
-H "X-Frame-Timestamp: ${timestamp}" \
-H "X-Frame-Signature: ${signature}" \
"https://api.console.nutanix.com/v1/customers/${customer_id}/api_authorization_rules"

Response Example

Status: 200 OK
[
  {
    "api_authorization_id": "c3103e65-6add-4fd1-abc3-2c348235cd40",
    "credentials": [],
    "id": 53,
    "name": "ExampleA Dev Environment API credentials",
    "roles": [
      {
        "id": "0f77adc8-d9e5-4e40-a900-358b54b6c8f8",
        "role": {
          "applicable_on": "customer",
          "category": null,
          "description": null,
          "id": "6ae133ae-a9cb-4160-1337-e904f97293d5",
          "name": "Customer Administrator",
          "permissions": [
            "cpanel_mutation_delete_backup",
            "cpanel_list_virtual_networks_organization_cloud_services",
            "cpanel_launchpad",
            "cpanel_account_authentication_settings",
            "cpanel_launchpad_session_settings",
            "cpanel_mutation_start_session_production",
            "cpanel_mutation_delete_google_authorization_rule",
            "cpanel_customer_authorization_rule",
            "cpanel_mutation_update_launchpad_session_settings",
            "cpanel_account_authorization_rules",
            "cpanel_cluster_host",
            "cpanel_customer_audit_trail",
            "cpanel_account",
            "cpanel_organization_api_authorization",
            "cpanel_mutation_dismiss_pool_alert",
            "cpanel_mutation_update_cluster_aos_tier",
            "cpanel_mutation_update_account_general_settings"
            // ...
          ]
        }
      }
    ]
  }
]

List Customer Cloud Services

Returns a list of all registered Cloud Service Providers configured with Frame.

GET /customers/${customer_id}/cloud_services

Request Parameters

Parameter

Description

Param Type

Data Type

Required

id

Your Nutanix Customer ID.

URL

String

True

cloud_provider_id

The Frame cloud provider ID.

Search Query

String

true

active

Lists cloud services based on their “active” status.

Search Query

Boolean

False

omit_default

If true, omits Frame’s default Cloud Services from the results.

Search Query

Boolean

False

Request Example

curl -X GET \
-H "X-Frame-ClientId: ${client_id}" \
-H "X-Frame-Timestamp: ${timestamp}" \
-H "X-Frame-Signature: ${signature}" \
"https://api.console.nutanix.com/v1/customers/${customer_id}/cloud_services

Response Example

Status: 200 OK
[
    {
        "active": false,
        "cloud_account_id": "192964173893",
        "cloud_provider_display_name": "AWS",
        "cloud_provider_id": "gateway-prod.2",
        "cloud_provider_name": "amazon",
        "context": "customer",
        "creation_date": "2019-06-11T20:25:33Z",
        "datacenters": [],
        "display_name": "Frame Support AWS Account",
        "external_id": null,
        "gateway": "gateway-prod",
        "id": "gateway-prod.459",
        "is_default": false,
        "is_provider_default": false,
        "name": "Frame Support AWS Account",
        "owner_id": "d3e7d4e0-5ab2-47cf-9f9c-0b02999931e7",
        "properties": {
            "cloud_account_id": "192964173893"
        },
        "status": "ready",
        "supported_datacenter_ids": null,
        "supported_types": [
            "frame-high"
        ]
    }
]

List Customer Elasticity

Returns information on all customer instance elasticity.

GET /customers/${customer_id}/elasticity

Request Example

curl -X GET \
-H "X-Frame-ClientId: ${client_id}" \
-H "X-Frame-Timestamp: ${timestamp}" \
-H "X-Frame-Signature: ${signature}" \
"https://api.console.nutanix.com/v1/customers/${customer_id}/elasticity

Response Example

Status: 200 OK
{
    "buffer_servers": 22,
    "max_servers": 121,
    "min_servers": 25
}

List Customer Settings

Returns all customer entity settings.

GET /customers/${customer_id}/settings

Request Example

curl -X GET \
-H "X-Frame-ClientId: ${client_id}" \
-H "X-Frame-Timestamp: ${timestamp}" \
-H "X-Frame-Signature: ${signature}" \
"https://api.console.nutanix.com/v1/customers/${customer_id}/settings

Response Example

Status: 200 OK
{
    "authorized_nutanix_personnel": [
        "jason.thompson@nutanix.com",
        "alex.fontaine@nutanix.com",
        "stuart.allen@nutanix.com"
    ],
    "can_frame_account_support_start_session": null,
    "frame_cloud_account_allowed": false,
    "frame_support_admin_access": "full_access",
    "is_frame_support_customer_admin": true,
    "is_generate_session_report_enabled": false,
    "is_light_publish_enabled": false,
    "is_login_banner_enabled": false,
    "is_persistent_desktops_backups_enabled": true,
    "is_terminal_banner_enabled": false,
    "light_publish_settings": {
        "threshold": 10
    },
    "login_banner_settings": null,
    "max_concurrency": 160,
    "max_concurrency_per_account": null,
    "max_monthly_credits_usage": null,
    "max_monthly_credits_usage_description": null,
    "max_utility_pools_per_account": 50,
    "note": null,
    "notification_center_settings": {
        "email_addresses": null,
        "is_send_notification_emails_enabled": null,
        "notify_on_critical": null,
        "notify_on_info": null,
        "notify_on_warning": null
    },
    "terminal_banner_settings": null
}

List Customer Overall Usage

Returns information on all customer entity utilization.

GET /customers/${customer_id}/usage

Request Parameters

Name

Description

Param Type

Data Type

Required

id

Your Nutanix Customer ID

URL

String

True

from_date

The beginning date range for the query. The date needs to be an ISO 8601 UTC string (with the “Z” suffix). For example: “2021-12-25T23:20:58.128Z”.

Search Query

ISO 8601 UTC String

False

to_date

The ending date range for the query. The date needs to be an ISO 8601 UTC string (with the “Z” suffix). For example: “2021-12-25T23:20:58.128Z”.

Search Query

ISO 8601 UTC String

False

resolution_type

Resolution Type: by_hour, by_day, by_month, by_year

Search Query

String

False

server_type

Filters query based on a specific server ID.

Search Query

String

False

pool_id

Filters query based on provided instance type’s pool ID.

Search Query

String

False

instance_type_id

Filters the usage by an instance type’s “external” ID, e.g. “gateway-prod.3”.

Search Query

String

False

datacenter_id

Limits the results to a specific Datacenter by ID.

Search Query

String

False

skip_if_byo_account

True/False boolean value determining if BYO results should be returned.

Search Query

Boolean

False

Request Example

curl -X GET \
-H "X-Frame-ClientId: ${client_id}" \
-H "X-Frame-Timestamp: ${timestamp}" \
-H "X-Frame-Signature: ${signature}" \
"https://api.console.nutanix.com/v1/customers/${customer_id}/usage?from_date=${from_date}&to_date=${to_date}"

Response Example

Status: 200 OK
{
  "data": [
    {
      "account": null,
      "account_external_id": "gateway-prod.35917",
      "usage": [
        {
          "datacenter": null,
          "datacenter_id": "gateway-prod.1",
          "hours_used": 1,
          "instance_type": null,
          "instance_type_id": "gateway-prod.3152",
          "server_type": "production",
          "time": 1626454800000
        },
        // ... more usage data
      ]
    },
    // ... more accounts and usage
  ],
  "total": 43533
}

List Customer Disk Volume Usage

Returns information on all customer entity disk volume utilization.

GET /customers/{{customer_id}}/disk_volume_usage?from_date=${from_date}&to_date=${to_date}

Request Parameters

Name

Description

Param Type

Data Type

Required

customer_id

Your Nutanix Customer ID.

URL

String

True

from_date

The beginning date range for the query.

The date needs to be an ISO 8601 UTC string (with the “Z” suffix). For example: “2021-12-25T23:20:58.128Z”.

YYYY-MM-DD Date string

False

to_date

The ending date range for the query.

The date needs to be an ISO 8601 UTC string (with the “Z” suffix). For example: “2021-12-25T23:20:58.128Z”.

YYYY-MM-DD Date string

False

resolution_type

Resolution Type: by_hour, by_day, by_month, by_year

Search Query

String

False

server_type

Server Type: sandbox, production, utility, persistent_desktop_production, persistent_desktop_shadow

Search Query

String

False

disk_volume_type_id

Disk Volume Type: all, standard, gp2, io1

Search Query

String

False

datacenter_id

Limits the results to a specific Datacenter ID number.

Search Query

String

False

skip_if_byo_account

True/False boolean value determining if BYO results should be returned.

Search Query

Boolean

False

Request Example

curl -X GET \
-H "X-Frame-ClientId: ${client_id}" \
-H "X-Frame-Timestamp: ${timestamp}" \
-H "X-Frame-Signature: ${signature}" \
"https://api.console.nutanix.com/v1/customers/${customer_id}/disk_volume_usage?from_date=${from_date}&to_date=${to_date}

Response Example

Status: 200 OK
{
  "data": [
    {
      "account": null,
      "account_external_id": "gateway-prod.1791",
      "usage": [
        {
          "datacenter": null,
          "datacenter_id": "gateway-prod.3",
          "disk_volume_size_used": 180,
          "disk_volume_type_id": "gp2",
          "hours_used": 36,
          "time": 1625101200000
        },
        // ... more usage data for this account
      ]
    },
    // ... more accounts and their usage
  ],
  "total": 758884
}

List Customer Master Images

Returns information on all customer master images.

GET /customers/${customer_id}/cloud_services/${external_cloud_service_id}/master_images?external_data_center_id=${external_data_center_id}

Request Parameters

Name

Description

Param Type

Data Type

Required

external_data_center_id

This ID represents a Frame “external” datacenter ID.

Search Query

String

False

Request Example

curl -X GET \
-H "X-Frame-ClientId: ${client_id}" \
-H "X-Frame-Timestamp: ${timestamp}" \
-H "X-Frame-Signature: ${signature}" \
"https://api.console.nutanix.com/v1/customers/${customer_id}/cloud_services/${external_cloud_service_id}/master_images?external_data_center_id=${external_data_center_id}

Response Example

Status: 200 OK
[
  {
    "description": "Frame Master Image mif:1, v:0, date:2020-01-28 09:30:10",
    "id": "gateway-prod.15474",
    "instance_types": [
      {
        "display_name": "Air 4GB",
        "external_id": "gateway-prod.1",
        "gpu": "None",
        "id": "gateway-prod.1",
        "name": "t2.medium",
        "ram": 4,
        "vcpu": 2
      }
    "machine_image_family": {
      "display_name": "Windows Server 2016 (G4)",
      "id": "gateway-prod.xxx",
      "name": "FrameAWSWindows20126G4"
    },
    "master_image_copy_required": null
  },
  // ... more master images
]

List Customer User Activity

Returns statistical user activity information for the specified Customer constrained by a date range. Can be ordered by passing a string parameter as well as exclude specified user IDPs.

GET /customers/${customer_id}/user_activities?from_date=${from_date}&to_date=${to_date}

Request Parameters

Name

Description

Param Type

Data Type

Required

customer_id

Your Nutanix Customer ID

URL

String

True

from_date

The beginning date range for the query.

Search Query

YYYY-MM-DD Date string

True

to_date

The ending date range for the query.

Search Query

YYYY-MM-DD Date string

True

order

Specifies the order of the results. Use “asc” for ascending order, and “desc” for descending order.

Search Query

String

False

order_by

Specifies the field of which the ordering should occur. For example, “session_start”, “session_duration”, etc.

Search Query

String

False

skip_user_idps

User Identity Providers to skip.

Search Query

Array (String)

False

Request Example

curl -X GET \
-H "X-Frame-ClientId: ${client_id}" \
-H "X-Frame-Timestamp: ${timestamp}" \
-H "X-Frame-Signature: ${signature}" \
"https://api.console.nutanix.com/v1/customers/${customer_id}/user_activities?from_date=${from_date}&to_date=${to_date}&skip_user_idps[]=example-okta-admins&skip_user_idps[]=example-okta-dev

Response Example

Status: 200 OK
{
  "data": [
    {
      "access_date": "2022-02-01",
      "access_datetime": "2022-02-01T21:11:00.398870Z",
      "account_id": "0e52b11b-23bf-411e-a070-bc0ea014cbc2",
      "customer_id": "6ba31e38-1735-4274-a58e-6fb8c662e425",
      "organization_id": "bc24563d-375b-49fb-8f15-1682b8bc6deb",
      "user_email": "dontcallme.shirley@example.com",
      "user_first_name": "Shirley",
      "user_id": "20acd3a2-b455-4dca-b22b-520e16079e11",
      "user_idp": "example-okta-workforce",
      "user_last_name": "Dontcallme"
    },
    // ... more User Activities
  ],
  "total": 66866,
  "total_unique": 8133
}