Cloudhealthsystems API

Cloudhealthsystems API as documented publicly: 18 operations. Contract generated from the documentation by API Evangelist (2026-10-09); not the provider's own document.

Operations 18

GET / GET / #
GET /api GET /api #
GET /api/{apiid} GET /api/AwsInstance #
GET /olap_reports GET /olap_reports #
GET /olap_reports/cost/history GET /olap_reports/cost/history #
GET /olap_reports/custom/{reportid} GET /olap_reports/custom/{reportId} #
GET /olap_reports/usage/instance GET /olap_reports/usage/instance #
GET /olap_reports/usage/instance/new GET /olap_reports/usage/instance/new #
GET /olap_reports/{olapreportid} GET /olap_reports/cost #
POST /rest/com/vmware/cis/session POST /rest/com/vmware/cis/session #
PUT /v1/aws_accounts/{accountid} PUT /v1/aws_accounts/{accountId} #
DELETE /v1/aws_accounts/{id} DELETE /v1/aws_accounts/{id} #
PUT /v1/perspective_schemas/{perspectiveid} PUT /v1/perspective_schemas/{perspectiveId} #
DELETE /v1/sso/unconfigure DELETE /v1/sso/unconfigure #
GET /v1/sso/{ssoid} GET /v1/sso/configuration #
PUT /v1/sso/{ssoid} PUT /v1/sso/configure #
GET /v1/{v1id} GET /v1/aws_accounts #
POST /v1/{v1id} POST /v1/aws_accounts #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cloudhealthsystems:cloudhealthsystems-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cloudhealthsystems-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Cloudhealthsystems API
  version: '2026-10-09'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-09: 18 operation(s) read from 2 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; Cloudhealthsystems has published no machine-readable contract
    that the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 32
    documentation: -14
    pages-with-code: 2
    pages-read: 2
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-09'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://apidocs.cloudhealthtech.com
  - https://help.cloudhealthtech.com/quickstart/enable-vmware-cloud-accounts-in-cloudhealth
servers:
- url: https://chapi.cloudhealthtech.com
paths:
  /:
    get:
      operationId: get
      tags:
      - Api
      summary: GET /
      x-source: https://apidocs.cloudhealthtech.com
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl is a command-line REST client (https://curl.haxx.se). \n The -H flags represent the headers that you need to pass with\
          \ each request. There are two headers that each request must contain:\n -H 'Authorization: Bearer XXXXX98900000YYYY' is the authorization\
          \ header. It attaches your unique API key to the request. Here, XXXXX98900000YYYY is your API Key. See How CloudHealth Validates API\
          \ Requests . "
  /api:
    get:
      operationId: get_api
      tags:
      - Api
      summary: GET /api
      x-source: https://apidocs.cloudhealthtech.com
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -H 'Authorization: Bearer <your_api_key>' 'https://chapi.cloudhealthtech.com/api' \n [ \n \"AwsInstanceType\" , \n ...\
          \ \n \"AwsCloudtrailTrail\" , \n \"AwsConfigRuleEvaluationResult\" , \n \"AwsConfigRule\" , \n \"AwsIamRole\" , \n \"AwsIamServerCertificate\"\
          \ , \n ... \n \"IntegrationNode\" , \n \"IntegrationTag\" , \n \"JiraAccount\" , \n \"NewrelicAccount\" , \n \"GcpComputeInstance\"\
          \ , \n ... \n \"AzureResourceGroup\" , \n \"Azure"
  /api/{apiid}:
    get:
      operationId: get_api_apiid
      tags:
      - Api
      summary: GET /api/AwsInstance
      x-source: https://apidocs.cloudhealthtech.com
      parameters:
      - name: apiid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -H 'Authorization: Bearer <your_api_key>' 'https://chapi.cloudhealthtech.com/api/AwsInstance' \n { \n \"name\" : \"AwsInstance\"\
          \ , \n \"attributes\" :[ \n { \"name\" : \"id\" }, \n { \"name\" : \"instance_id\" }, \n { \"name\" : \"public_ip\" }, \n ... \n { \"\
          name\" : \"usage_percentage_per_month\" }, \n ... \n { \n \"name\" : \"attr_group__XXXXX3562234\" , \n \"perspective_name\" : \"Environment\"\
          \ \n }, \n { \n \"name\" : \"attr_group__XX"
        collapsed_from: 5 example path(s) differing only at apiId
  /olap_reports:
    get:
      operationId: get_olap_reports
      tags:
      - Olap Reports
      summary: GET /olap_reports
      x-source: https://apidocs.cloudhealthtech.com
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOlapReportsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -H ''Authorization: Bearer <your_api_key>'' -H ''Accept: application/json'' ''https://chapi.cloudhealthtech.com/olap_reports'' '
  /olap_reports/cost/history:
    get:
      operationId: get_olap_reports_cost_history
      tags:
      - Olap Reports
      summary: GET /olap_reports/cost/history
      x-source: https://apidocs.cloudhealthtech.com
      parameters:
      - name: interval
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -H 'Authorization: Bearer XXXXX98900000YYYY' -H 'Accept: application/json' 'https://chapi.cloudhealthtech.com/olap_reports/cost/history?interval=monthly'\n\
          \ Let’s break down this request. "
  /olap_reports/custom/{reportid}:
    get:
      operationId: get_olap_reports_custom_reportid
      tags:
      - Olap Reports
      summary: GET /olap_reports/custom/{reportId}
      x-source: https://apidocs.cloudhealthtech.com
      parameters:
      - name: reportid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOlapReportsCustomReportidResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -H 'Authorization: Bearer <your_api_key>' -H 'Accept: application/json' 'https://chapi.cloudhealthtech.com/olap_reports/custom/<Report-ID>'\
          \ \n This query returns a response similar to this truncated one. \n {\n \"report\":\"Cost History\",\n \"dimensions\":[\n {\n \"time\"\
          :[...]\n },\n {\n \"AWS-Service-Category\":[...]\n }\n ],\n \"measures\":[\n {\n \"name\":\"cost\",\n \"label\":\"Cost ($)\"\n }\n ],\n\
          \ \"interval\":\"weekly\",\n \"f"
  /olap_reports/usage/instance:
    get:
      operationId: get_olap_reports_usage_instance
      tags:
      - Olap Reports
      summary: GET /olap_reports/usage/instance
      x-source: https://apidocs.cloudhealthtech.com
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOlapReportsUsageInstanceResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -H 'Authorization: Bearer <your_api_key>' -H 'Accept: application/json' 'https://chapi.cloudhealthtech.com/olap_reports/usage/instance'\
          \ \n This query returns the following response, which has been truncated here for simplification. \n {\n \"report\":\"Instance Usage\"\
          ,\n \"dimensions\":[\n {\n \"time\":[...]\n },\n {\n \"EC2-Reservation-Execution-Mode\":[...]\n }\n ],\n \"measures\":[\n {\n \"name\"\
          :\"usage_quantity\",\n \""
  /olap_reports/usage/instance/new:
    get:
      operationId: get_olap_reports_usage_instance_new
      tags:
      - Olap Reports
      summary: GET /olap_reports/usage/instance/new
      x-source: https://apidocs.cloudhealthtech.com
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -H 'Authorization: Bearer <your_api_key>' -H 'Accept: application/json' 'https://chapi.cloudhealthtech.com/olap_reports/usage/instance/new'\
          \ \n { \n \"dimensions\" : [ \n { \n \"label\" : \"Owner Perspective\" , \n \"name\" : \"Groupset-998\" \n \"members\" : [ \n { \n \"\
          label\" : \"Joe\" , \n \"name\" : \"1392\" \n }, \n { \n \"label\" : \"Sue\" , \n \"name\" : \"1388\" \n }, \n { \n \"label\" : \"No\
          \ Owner Found\" , \n \"name\" : \"1386\" \n } \n"
  /olap_reports/{olapreportid}:
    get:
      operationId: get_olap_reports_olapreportid
      tags:
      - Olap Reports
      summary: GET /olap_reports/cost
      x-source: https://apidocs.cloudhealthtech.com
      parameters:
      - name: olapreportid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOlapReportsOlapreportidResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -H ''Authorization: Bearer <your_api_key>'' -H ''Accept: application/json'' ''https://chapi.cloudhealthtech.com/olap_reports/cost'' '
        collapsed_from: 2 example path(s) differing only at olapreportId
  /rest/com/vmware/cis/session:
    post:
      operationId: post_rest_com_vmware_cis_session
      tags:
      - Rest
      summary: POST /rest/com/vmware/cis/session
      x-source: https://help.cloudhealthtech.com/quickstart/enable-vmware-cloud-accounts-in-cloudhealth
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -v -x [protocol://][user:password@]proxyhost[:port] --request POST --url https://VC_FQDN/rest/com/vmware/cis/session -u\
          \ 'test_user@vmc.local:password'\n Scenario 2: The CloudHealth Aggregator VM uses a proxy environment without authentication. "
  /v1/aws_accounts/{accountid}:
    put:
      operationId: put_v1_aws_accounts_accountid
      tags:
      - Aws Accounts
      summary: PUT /v1/aws_accounts/{accountId}
      x-source: https://apidocs.cloudhealthtech.com
      parameters:
      - name: accountid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutV1AwsAccountsAccountidRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -d '{\"authentication\":{\"protocol\":\"assume_role\",\"assume_role_arn\":\"arn:123\",\"assume_role_external_id\":\"61a1XXXXXXXXXXXXXXXXXXXXX5d8c6\"\
          },\"name\":\"Tools 123\"}' -H 'Authorization: Bearer <your_api_key>' -H 'Content-Type: application/json' -H 'Accept: application/json'\
          \ --request PUT 'https://chapi.cloudhealthtech.com/v1/aws_accounts/<account_id>' \n Delete AWS Account\n Delete an AWS Account from\
          \ th"
  /v1/aws_accounts/{id}:
    delete:
      operationId: delete_v1_aws_accounts_id
      tags:
      - Aws Accounts
      summary: DELETE /v1/aws_accounts/{id}
      x-source: https://apidocs.cloudhealthtech.com
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl --request DELETE -H 'Authorization: Bearer <your_api_key>' -H 'Content-Type: application/json' 'https://chapi.cloudhealthtech.com/v1/aws_accounts/:id'\
          \ \n Get External ID\n Generate your unique customer External ID so that you can configure an IAM Role in the AWS Console. \n https://chapi.cloudhealthtech.com/v1/aws_accounts/:id/generate_external_id\
          \ \n You cannot generate and specify your own Exter"
  /v1/perspective_schemas/{perspectiveid}:
    put:
      operationId: put_v1_perspective_schemas_perspectiveid
      tags:
      - Perspective Schemas
      summary: PUT /v1/perspective_schemas/{perspectiveId}
      x-source: https://apidocs.cloudhealthtech.com
      parameters:
      - name: perspectiveid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutV1PerspectiveSchemasPerspectiveidRequest'
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PutV1PerspectiveSchemasPerspectiveidResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -s -H 'Authorization: Bearer <your_api_key>' -H 'Content-Type: application/json' -X PUT \"https://chapi.cloudhealthtech.com/v1/perspective_schemas/<perspective_id>\"\
          \ -d '{\"schema\":{\"name\": \"<perspective_name>\",\"rules\": [{\"type\": \"categorize\",\"asset\": \"AwsS3Bucket\",\"field\": [\"\
          Active?\"],\"name\": \"Dynamic_group_name\"}]}}''\n Reporting \n Introduction to Reporting API\n An introduction to the Reporting"
  /v1/sso/unconfigure:
    delete:
      operationId: delete_v1_sso_unconfigure
      tags:
      - Sso
      summary: DELETE /v1/sso/unconfigure
      x-source: https://apidocs.cloudhealthtech.com
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X DELETE -H 'Authorization: Bearer <your_api_key>' -H 'Content-Type: application/json' 'https://chapi.cloudhealthtech.com/v1/sso/unconfigure'\
          \ \n { \"success\" : \"SSO unconfigured for CloudHealth Technologies\" } \n Retrieve Pending SSO Domains\n Retrieve SSO domains that\
          \ are awaiting validation \n https://chapi.cloudhealthtech.com/v1/sso/pending_domain_claims \n Parameters \n client_api_id \n String\
          \ t"
  /v1/sso/{ssoid}:
    get:
      operationId: get_v1_sso_ssoid
      tags:
      - Sso
      summary: GET /v1/sso/configuration
      x-source: https://apidocs.cloudhealthtech.com
      parameters:
      - name: ssoid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X GET -H 'Authorization: Bearer <your_api_key>' -H 'Content-Type: application/json' 'https://chapi.cloudhealthtech.com/v1/sso/configuration'\
          \ \n { \"configuration\" :{ \"sso_provider\" : \"google-apps\" , \"claimed_domains\" :[ \"cloudhealthtech.com\" ], \"pending_domains\"\
          \ :[], \"connection_name\" : \"cloudhealthtech-com\" , \"default_organization\" : \"CloudHealth Technologies\" } } \n Delete SSO configuration\n\
          \ "
        collapsed_from: 2 example path(s) differing only at ssoId
    put:
      operationId: put_v1_sso_ssoid
      tags:
      - Sso
      summary: PUT /v1/sso/configure
      x-source: https://apidocs.cloudhealthtech.com
      parameters:
      - name: ssoid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutV1SsoSsoidRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X PUT -H 'Authorization: Bearer API_KEY' -H 'Content-Type: application/json' -d '{\"sso_provider\": <\"ah-samlp\"|\"ah-waad\"\
          >, \"domains\": [\"<domain-1>,...,<domain-N>\"], \"signing_cert\": \"<cert>\", \"sign_in_endpoint\": \"<sign_in_endpoint>\", \"issuer\"\
          : \"<issuer>\", \"sso_ignore_idp_organization\": <true|false>}' 'https://chapi.cloudhealthtech.com/v1/sso/configure' \n { \"identityProviderId\"\
          \ : \"<idp-guid>\" ,"
        collapsed_from: 2 example path(s) differing only at ssoId
  /v1/{v1id}:
    get:
      operationId: get_v1_v1id
      tags:
      - Api
      summary: GET /v1/aws_accounts
      x-source: https://apidocs.cloudhealthtech.com
      parameters:
      - name: v1id
        in: path
        required: true
        schema:
          type: string
      - name: api_key
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl --request GET -H ''Authorization: Bearer <your_api_key>'' -H ''Content-Type: application/json'' "https://chapi.cloudhealthtech.com/v1/aws_accounts" '
        collapsed_from: 3 example path(s) differing only at v1Id
    post:
      operationId: post_v1_v1id
      tags:
      - Api
      summary: POST /v1/aws_accounts
      x-source: https://apidocs.cloudhealthtech.com
      parameters:
      - name: v1id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1V1IdRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1V1IdResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -d \n '{\n \"name\": \"Production Account\",\n \"authentication\": {\n \"protocol\": \"access_key\",\n \"access_key\":\
          \ \"AKIAQQQQQQQQQQQ\",\n \"secret_key\": \"S87345j34lkj3l45lkj+2342\"\n },\n \"billing\": {\n \"bucket\": \"my-billing-bucket\"\n },\n\
          \ \"cost_and_usage_report\" : {\n \"bucket\": \"cur-bucket\",\n \"path\": \"cur/path/api\"\n },\n \"cloudtrail\": {\n \"enabled\": true,\n\
          \ \"bucket\": \"my-cloudtrail-bucket\"\n },\n \"tags\": [{\n \"key\": \"Env"
        collapsed_from: 2 example path(s) differing only at v1Id
components:
  schemas:
    GetOlapReportsResponse:
      type: object
      properties:
        links:
          type: object
          properties:
            cost:
              type: object
              properties:
                href:
                  type: string
            custom:
              type: object
              properties:
                href:
                  type: string
            performance:
              type: object
              properties:
                href:
                  type: string
            usage:
              type: object
              properties:
                href:
                  type: string
    GetOlapReportsCustomReportidResponse:
      type: object
      properties:
        report:
          type: string
        dimensions:
          type: array
          items:
            type: object
            properties:
              time:
                type: array
                items: {}
        measures:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              label:
                type: string
        interval:
          type: string
        filters:
          type: array
          items: {}
        updated_at:
          type: string
          format: date-time
        data:
          type: array
          items:
            type: array
            items:
              type: array
              items:
                type: integer
        status:
          type: string
    GetOlapReportsUsageInstanceResponse:
      type: object
      properties:
        report:
          type: string
        dimensions:
          type: array
          items:
            type: object
            properties:
              time:
                type: array
                items: {}
        measures:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              label:
                type: string
        interval:
          type: string
        filters:
          type: array
          items: {}
        updated_at:
          type: string
          format: date-time
        data:
          type: array
          items:
            type: array
            items:
              type: array
              items:
                type: integer
        status:
          type: string
    GetOlapReportsOlapreportidResponse:
      type: object
      properties:
        links:
          type: object
          properties:
            cost:
              type: object
              properties:
                href:
                  type: string
            custom:
              type: object
              properties:
                href:
                  type: string
            performance:
              type: object
              properties:
                href:
                  type: string
            usage:
              type: object
              properties:
                href:
                  type: string
    PutV1AwsAccountsAccountidRequest:
      type: object
      properties:
        authentication:
          type: object
          properties:
            protocol:
              type: string
            assume_role_arn:
              type: string
            assume_role_external_id:
              type: string
        name:
          type: string
    PutV1PerspectiveSchemasPerspectiveidRequest:
      type: object
      properties:
        schema:
          type: object
          properties:
            name:
              type: string
            rules:
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                  asset:
                    type: string
                  field:
                    type: array
                    items:
                      type: string
                  name:
                    type: string
    PutV1PerspectiveSchemasPerspectiveidResponse:
      type: object
      properties:
        report:
          type: string
        dimensions:
          type: array
          items:
            type: object
            properties:
              time:
                type: array
                items: {}
        measures:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              label:
                type: string
        interval:
          type: string
        filters:
          type: array
          items: {}
        updated_at:
          type: string
          format: date-time
        data:
          type: array
          items:
            type: array
            items:
              type: array
              items:
                type: integer
        status:
          type: string
    PutV1SsoSsoidRequest:
      type: object
      properties:
        pending_domain_name:
          type: string
    PostV1V1IdRequest:
      type: object
      properties:
        name:
          type: string
        authentication:
          type: object
          properties:
            protocol:
              type: string
            access_key:
              type: string
            secret_key:
              type: string
        billing:
          type: object
          properties:
            bucket:
              type: string
        cost_and_usage_report:
          type: object
          properties:
            bucket:
              type: string
            path:
              type: string
        cloudtrail:
          type: object
          properties:
            enabled:
              type: boolean
            bucket:
              type: string
        tags:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
              value:
                type: string
    PostV1V1IdResponse:
      type: object
      properties:
        error:
          type: string
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Api
- name: Aws Accounts
- name: Olap Reports
- name: Perspective Schemas
- name: Rest
- name: Sso