Starlink Managed Accounts API

The Managed Accounts API from Starlink — 2 operation(s) for managed accounts.

Operations 2

GET /public/v2/managed/accounts/tree Pre-Release: Get managed account tree #
GET /public/v2/managed/accounts Pre-Release: Query managed 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/starlink-managed-accounts-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

starlink-managed-accounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Starlink Public Managed Accounts API
  description: 'Description

    API to manage Starlink accounts and devices. For interactive endpoints list see: https://starlink.readme.io/

    Authentication - OIDC


    To authenticate with this API using OIDC, Well Known URL and attach the result to your requests with the Authorize button below.'
  version: '2'
servers:
- url: /api
tags:
- name: Managed Accounts
paths:
  /public/v2/managed/accounts/tree:
    get:
      tags:
      - Managed Accounts
      summary: 'Pre-Release: Get managed account tree'
      description: 'Required permission: Managed Account Information, View.

        Gets the entire managed account hierarchy beneath the calling account.


        This endpoint is available for select audiences only.'
      parameters:
      - name: ancestorAccountNumber
        in: query
        description: "The root account number to build the tree from. If not provided, uses the token's account.\n             This account number must be in the hierarchy underneath the calling account."
        schema:
          type: string
      responses:
        '401':
          description: Unauthorized
        '403':
          description: Missing required permission for this endpoint or resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '200':
          description: Account tree retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedAccountTreeResponseV2ServiceResponse'
        '422':
          description: Failed to retrieve managed account tree
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
      operationId: getPublicV2ManagedAccountsTree
      x-operation-id-source: derived
  /public/v2/managed/accounts:
    get:
      tags:
      - Managed Accounts
      summary: 'Pre-Release: Query managed accounts'
      description: 'Required permission: Managed Account Information, View.

        Query managed accounts within your account hierarchy with filtering and pagination support.

        Returns up to 100 accounts at at time.


        This endpoint is available for select audiences only.'
      parameters:
      - name: ancestorAccountNumber
        in: query
        description: "Query accounts under this ancestor account number.\n             Defaults to calling token's account if not provided."
        schema:
          type: string
      - name: searchString
        in: query
        description: Filter by account name or number (prefix match)
        schema:
          type: string
      - name: accountNumbers
        in: query
        description: Get specific accounts by account numbers
        schema:
          type: array
          items:
            type: string
      - name: maxDepth
        in: query
        description: "Maximum depth in hierarchy (1 = direct children only, 2 = children +\n             grandchildren, 3 = children through great-grandchildren, etc. null for all\n             descendants.)"
        schema:
          type: integer
          format: int32
      - name: cursor
        in: query
        description: Pagination cursor for fetching next page
        schema:
          type: string
      responses:
        '200':
          description: Managed accounts retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountQueryResponseV2KeyPaginatedStringServiceResponse'
        '401':
          description: Unauthorized
        '403':
          description: "Missing\n             required permission for this endpoint or resource"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '422':
          description: "Failed to\n             query managed accounts"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
      operationId: getPublicV2ManagedAccounts
      x-operation-id-source: derived
components:
  schemas:
    AccountQueryResponseV2:
      type: object
      properties:
        accountNumber:
          type: string
          description: 'The Account Number. Example: ACC-511274-31364-54'
        regionCode:
          type: string
          description: 'The region code of the account. Example: US'
        accountName:
          type: string
          description: The name of the account
      additionalProperties: false
    AccountQueryResponseV2KeyPaginatedStringServiceResponse:
      type: object
      properties:
        errors:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ValidationResult'
          readOnly: true
        warnings:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ValidationResult'
          readOnly: true
        information:
          type:
          - array
          - 'null'
          items:
            type: string
          readOnly: true
        isValid:
          type: boolean
          readOnly: true
        content:
          $ref: '#/components/schemas/AccountQueryResponseV2KeyPaginatedString'
      additionalProperties: false
    ValidationResult:
      type: object
      properties:
        memberNames:
          type:
          - array
          - 'null'
          items:
            type: string
          readOnly: true
        errorMessage:
          type:
          - string
          - 'null'
      additionalProperties: false
    AccountQueryResponseV2KeyPaginatedString:
      type: object
      properties:
        nextKey:
          type:
          - string
          - 'null'
          description: The next key that should be provided to the cursor parameter to fetch the next page, or null if this is the last page.
        results:
          type: array
          items:
            $ref: '#/components/schemas/AccountQueryResponseV2'
          description: Results for this page.
      additionalProperties: false
    ManagedAccountTreeNodeResponseV2:
      type: object
      properties:
        accountNumber:
          type: string
          description: The account number
        accountName:
          type: string
          description: The account name
        managerAccountNumber:
          type:
          - string
          - 'null'
          description: The manager account number (null for root)
        children:
          type: array
          items:
            type: string
          description: List of child account numbers
      additionalProperties: false
    ManagedAccountTreeResponseV2ServiceResponse:
      type: object
      properties:
        errors:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ValidationResult'
          readOnly: true
        warnings:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ValidationResult'
          readOnly: true
        information:
          type:
          - array
          - 'null'
          items:
            type: string
          readOnly: true
        isValid:
          type: boolean
          readOnly: true
        content:
          $ref: '#/components/schemas/ManagedAccountTreeResponseV2'
      additionalProperties: false
    ServiceResponse:
      type: object
      properties:
        errors:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ValidationResult'
          readOnly: true
        warnings:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ValidationResult'
          readOnly: true
        information:
          type:
          - array
          - 'null'
          items:
            type: string
          readOnly: true
        isValid:
          type: boolean
          readOnly: true
      additionalProperties: false
    ManagedAccountTreeResponseV2:
      type: object
      properties:
        rootAccountNumber:
          type: string
          description: The root account number
        tree:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ManagedAccountTreeNodeResponseV2'
          description: Dictionary mapping account numbers to tree nodes
      additionalProperties: false