Harness Account Roles API

This contains APIs for Account-scoped Roles.

Operations 6

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v1/roles List account-level roles · List Roles #
Ask an LLM
“What roles are defined at the account level in Harness?”
“Can I search the account's roles by name?”
Tell an agent
List all roles in my account.
Find account roles matching {search_term}.
POST /v1/roles Create a custom account role · Create a Role #
Ask an LLM
“How do I create a custom role with only certain permissions for my whole account?”
“Can a new account role carry tags and a description?”
Tell an agent
Create an account role {name} with identifier {identifier}.
Add custom role {identifier} named {name} with permissions {permissions}.
GET /v1/roles/{role} Get an account role · Retrieve a Role #
Ask an LLM
“Which permissions does a particular account role grant?”
“Can I look up one role by its identifier?”
Tell an agent
Show account role {role}.
List the permissions in role {role}.
PUT /v1/roles/{role} Update an account role · Update a Role #
Ask an LLM
“Can I add permissions to an existing account role?”
“How do I rename a custom role?”
Tell an agent
Update role {role} to have permissions {permissions}.
Rename account role {role} to {name}.
DELETE /v1/roles/{role} Delete a custom account role · Delete a Role #
Ask an LLM
“Can I delete a custom role I no longer need?”
“What happens to users assigned a role that gets deleted?”
Tell an agent destructive · confirm first
Delete account role {role}.
Remove the custom role {role} from my account.
GET /v1/roles/count Count the roles in an account · Get roles count for an account #
Ask an LLM
“How many roles exist in my Harness account?”
“What's the total number of account roles, without listing them?”
Tell an agent
Count the roles in my account.
Give me the total number of account-level roles.

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/harness:harness-account-roles-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

harness-account-roles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Harness Account Roles API
  version: '1.0'
  description: The Harness Software Delivery Platform uses OpenAPI Specification v3.0.
  contact:
    name: API Support
    email: contact@harness.io
    url: https://harness.io/
  x-logo:
    url: https://mma.prnewswire.com/media/779232/Harnes_logo_horizontal.jpg?p=facebook
    altText: Harness
  termsOfService: https://harness.io/terms-of-use/
servers:
- url: https://app.harness.io
  description: Harness host URL
- url: https://{vanity}
  description: Vanity URL
  variables:
    vanity:
      default: app.harness.io
security:
- x-api-key: []
tags:
- name: Account Roles
  description: This contains APIs for Account-scoped Roles.
  x-displayName: Account Roles [Beta]
paths:
  /v1/roles:
    parameters: []
    get:
      summary: List Roles
      operationId: list-roles-acc
      description: Returns a list of Roles present in the Account scope.
      security:
      - x-api-key: []
      parameters:
      - $ref: '#/components/parameters/PageIndex'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/SearchTerm'
      - $ref: '#/components/parameters/AccountHeader'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Order'
      responses:
        '200':
          $ref: '#/components/responses/RolesListResponse'
      tags:
      - Account Roles
    post:
      summary: Create a Role
      operationId: create-role-acc
      description: Creates a custom Role in the Account scope.
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      requestBody:
        $ref: '#/components/requestBodies/CreateRoleRequest'
      responses:
        '201':
          $ref: '#/components/responses/RoleResponse'
      security:
      - x-api-key: []
      tags:
      - Account Roles
  /v1/roles/{role}:
    parameters:
    - $ref: '#/components/parameters/RoleParam'
    get:
      summary: Retrieve a Role
      responses:
        '200':
          $ref: '#/components/responses/RoleResponse'
      operationId: get-role-acc
      description: Retrieves a Role from Account scope.
      security:
      - x-api-key: []
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      tags:
      - Account Roles
    put:
      summary: Update a Role
      operationId: update-role-acc
      responses:
        '200':
          $ref: '#/components/responses/RoleResponse'
      description: Updates a Role from Account scope.
      security:
      - x-api-key: []
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      requestBody:
        $ref: '#/components/requestBodies/CreateRoleRequest'
      tags:
      - Account Roles
    delete:
      summary: Delete a Role
      operationId: delete-role-acc
      responses:
        '200':
          $ref: '#/components/responses/RoleResponse'
      description: Deletes a custom Role from Account scope.
      security:
      - x-api-key: []
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      tags:
      - Account Roles
  /v1/roles/count:
    get:
      summary: Get roles count for an account
      tags:
      - Account Roles
      responses:
        '200':
          description: Roles count for the account.
          content:
            application/json:
              schema:
                type: integer
                format: int32
      operationId: get-roles-count
      x-stoplight:
        id: 7roi0ybzyljem
      parameters:
      - $ref: '#/components/parameters/AccountHeader'
      description: Get roles count for an account.
      x-internal: true
      security:
      - x-api-key: []
components:
  parameters:
    SearchTerm:
      name: search_term
      in: query
      required: false
      schema:
        type: string
      description: This would be used to filter resources having attributes matching the search term.
    Limit:
      name: limit
      in: query
      required: false
      schema:
        type: integer
        default: 30
        maximum: 100
      description: 'Pagination: Number of items to return.'
    Sort:
      name: sort
      in: query
      required: false
      schema:
        type: string
        enum:
        - identifier
        - name
        - created
        - updated
      description: Parameter on the basis of which sorting is done.
    PageIndex:
      name: page
      in: query
      required: false
      schema:
        type: integer
        default: 0
      description: 'Pagination page number strategy: Specify the page number within the paginated collection related to the number of items on each page.'
    RoleParam:
      name: role
      in: path
      required: true
      schema:
        type: string
      description: Role identifier
    Order:
      name: order
      in: query
      required: false
      schema:
        type: string
        enum:
        - ASC
        - DESC
      description: Order on the basis of which sorting is done.
    AccountHeader:
      name: Harness-Account
      in: header
      required: false
      schema:
        type: string
      description: Identifier field of the account the resource is scoped to. This is required for Authorization methods other than the x-api-key header. If you are using the x-api-key header, this can be skipped.
  responses:
    RolesListResponse:
      description: Roles List Response body
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/RolesResponse'
          examples:
            role-list-response:
              value:
              - identifier: example_role
                name: Example_Role
                permissions:
                - core_resource_view
                allowed_scope_levels:
                - account
                description: This is an Example Role
                tags:
                  example-tag-1: example-tag-1-value
                  example-tag-2: example-tag-2-value
                scope:
                  account: sample_account
                  org: sample_organization
                  project: sample_project
                created: 1234567890
                updated: 1234567890
                harness_managed: true
        application/yaml:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/RolesResponse'
          examples:
            role-list-response:
              value: "- identifier: example_role\n  name: Example_Role\n  permissions:\n    - core_resource_view\n  allowed_scope_levels:\n    - account\n  description: This is an Example Role\n  tags:\n    example-tag-1: example-tag-1-value\n    example-tag-2: example-tag-2-value\n  scope:\n    account: sample_account\n    org: sample_organization\n    project: sample_project\n  created: 1234567890\n  updated: 1234567890\n  harness_managed: true\n"
      headers:
        X-Total-Elements:
          schema:
            type: integer
          description: Total number of elements returned in Paginated response.
        X-Page-Number:
          schema:
            type: integer
          description: Page number in Paginated response.
        X-Page-Size:
          schema:
            type: integer
          description: Maximum page size in Paginated response.
    RoleResponse:
      description: Role Response body
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RolesResponse'
          examples:
            role-response:
              value:
                identifier: example_role
                name: Example_Role
                permissions:
                - core_resource_view
                allowed_scope_levels:
                - account
                description: This is an Example Role
                tags:
                  example-tag-1: example-tag-1-value
                  example-tag-2: example-tag-2-value
                scope:
                  account: sample_account
                  org: sample_organization
                  project: sample_project
                created: 1234567890
                updated: 1234567890
                harness_managed: true
        application/yaml:
          schema:
            $ref: '#/components/schemas/RolesResponse'
          examples:
            role-response:
              value: "identifier: example_role\nname: Example_Role\npermissions:\n  - core_resource_view\nallowed_scope_levels:\n  - account\ndescription: This is an Example Role\ntags:\n  example-tag-1: example-tag-1-value\n  example-tag-2: example-tag-2-value\nscope:\n  account: sample_account\n  org: sample_organization\n  project: sample_project\ncreated: 1234567890\nupdated: 1234567890\nharness_managed: true\n"
  schemas:
    RolesResponse:
      title: RolesResponse
      x-stoplight:
        id: q6oq3jxkd2who
      type: object
      description: Role Response Model
      x-examples:
        example-role:
          identifier: example_role
          name: Example_Role
          permissions:
          - core_resource_view
          allowed_scope_levels:
          - account
          description: This is an Example Role
          tags:
            example-tag-1: example-tag-1-value
            example-tag-2: example-tag-2-value
          scope:
            account: sample_account
            org: sample_organization
            project: sample_project
          created: 1234567890
          updated: 1234567890
          harness_managed: true
      properties:
        identifier:
          type: string
          description: Role Identifier
          pattern: ^[a-zA-Z_][0-9a-zA-Z_$]{0,127}$
          minLength: 1
          maxLength: 128
        name:
          type: string
          description: Role Name
          pattern: ^[a-zA-Z_][0-9a-zA-Z-_ ]{0,127}$
          minLength: 1
          maxLength: 128
        permissions:
          type: array
          description: Permissions for this Role.
          uniqueItems: true
          items:
            type: string
        allowed_scope_levels:
          type: array
          description: The Scope levels at which this Role can be used.
          uniqueItems: true
          items:
            type: string
            enum:
            - account
            - organization
            - project
        description:
          type: string
          description: Role description
          maxLength: 1024
        tags:
          type: object
          additionalProperties:
            type: string
          description: Role tags
          maxProperties: 128
        scope:
          $ref: '#/components/schemas/RoleScope'
        created:
          type: integer
          description: Creation timestamp for Role.
          format: int64
        updated:
          type: integer
          description: Last modification timestamp for Role.
          format: int64
        harness_managed:
          type: boolean
          description: This indicates if this Role is managed by Harness or not. If true, Harness can manage and modify this Role.
      required:
      - identifier
      - name
    CreateRoleRequest:
      title: CreateRoleRequest
      x-stoplight:
        id: z8g6ol73nsqjs
      type: object
      description: Role request body
      x-examples:
        role-request:
          identifier: example_role
          name: Example_Role
          permissions:
          - core_view
          description: This is an Example Role
          tags:
            example-tag-1: example-tag-1-value
            example-tag-2: example-tag-2-value
      properties:
        identifier:
          type: string
          minLength: 1
          maxLength: 128
          pattern: ^[a-zA-Z_][0-9a-zA-Z_$]{0,127}$
          description: Role identifier
        name:
          type: string
          minLength: 1
          maxLength: 128
          pattern: ^[a-zA-Z_][0-9a-zA-Z-_ ]{0,127}$
          description: Role name
        permissions:
          type: array
          uniqueItems: true
          description: List of the permission identifiers.
          items:
            type: string
        description:
          type: string
          maxLength: 1024
          description: Role description
        tags:
          type: object
          additionalProperties:
            type: string
          maxProperties: 128
          description: Role tags
      required:
      - identifier
      - name
    RoleScope:
      title: Scope
      x-stoplight:
        id: w8j3bc9323bxb
      type: object
      description: Scope of the Role
      properties:
        account:
          type: string
          description: Account identifier
        org:
          type: string
          description: Organization identifier
        project:
          type: string
          description: Project identifier
      x-examples:
        example-1:
          account: sample_account
          org: sample_organization
          project: sample_project
  requestBodies:
    CreateRoleRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CreateRoleRequest'
          examples:
            role-request:
              value:
                identifier: example_role
                name: Example_Role
                permissions:
                - core_view
                description: This is an Example Role
                tags:
                  example-tag-1: example-tag-1-value
                  example-tag-2: example-tag-2-value
        application/yaml:
          schema:
            $ref: '#/components/schemas/CreateRoleRequest'
          examples:
            role-request:
              value: "identifier: example_role\nname: Example_Role\npermissions:\n  - core_view\ndescription: This is an Example Role\ntags:\n  example-tag-1: example-tag-1-value\n  example-tag-2: example-tag-2-value\n"
      description: Role Request body
      required: true
  securitySchemes:
    x-api-key:
      name: x-api-key
      type: apiKey
      in: header
      description: API key is a token provided while making the API calls. This is used to authenticate the client at the exposed endpoint.
externalDocs:
  description: Find out more about Swagger
  url: http://swagger.io
x-stoplight:
  id: oc91t4vrfnjyi
x-tagGroups:
- name: Organizations
  tags:
  - Organization
- name: Projects
  tags:
  - Org Project
  - Project
- name: Secrets
  tags:
  - Account Secret
  - Org Secret
  - Project Secret
  - Secrets
- name: Connectors
  tags:
  - Account Connector
  - Org Connector
  - Project Connector
  - Connectors
  - GoogleSecretManagerConnector
- name: Roles
  tags:
  - Account Roles
  - Organization Roles
  - Project Roles
  - Roles
- name: Resource Groups
  tags:
  - Account Resource Groups
  - Organization Resource Groups
  - Project Resource Groups
  - Filter Resource Groups
  - Harness Resource Group
  - Zendesk
- name: Role Assignments
  tags:
  - Account Role Assignments
  - Org Role Assignments
  - Project Role Assignments
  - Role Assignments
- name: Platform
  tags:
  - Access Control List
  - Account Banner
  - Account Banner
  - Account Licensed Modules
  - Account License Type
  - Account Webhooks
  - AccountSetting
  - Accounts
  - Analyze Account Access Policy
  - Analyze Organization Access Policy
  - Analyze Project Access Policy
  - ApiKey
  - Audit
  - AuditFilters
  - Authentication Settings
  - Canny
  - Devops Essentials License Data By Account
  - EULA
  - Filter
  - Harness Resource Type
  - Invite
  - IP Allowlist
  - Nextgen Ldap
  - Notification Channels
  - Notification Rules
  - OIDC
  - Oidc-Access-Token
  - Oidc-ID-Token
  - Org Webhooks
  - Permissions
  - Project Webhooks
  - Secret Managers
  - Service Account
  - Setting
  - SMTP
  - Source Code Manager
  - Token
  - User
  - User Group
  - Variables
- name: Delegate
  tags:
  - Agent mTLS Endpoint Management
  - Delegate Download Resource
  - Delegate Group Tags Resource
  - Delegate Setup Resource
  - Delegate Token Resource
- name: Pipelines
  tags:
  - Pipelines
  - Input Sets
  - Approvals
  - Pipeline Execution
  - Pipeline Dashboard
  - Pipeline Input Set
  - Pipeline
  - Pipeline Execution Details
  - Pipeline Execute
  - Pipeline Refresh
  - Pipeline data retention
  - Triggers
  - TriggersEvents
  - Webhook Triggers
  - Webhook Event Handler
  - DryRunPipeline
- name: Artifact Registry
  tags:
  - Registries
  - Artifacts
  - Docker Artifacts
  - Helm Artifacts
  - quarantine
  - Webhooks
  - Spaces
  - Replication
  - Registry V3 - Registries
  - Registry V3 - Packages
  - Registry V3 - Versions
  - Registry V3 - Files
  - Registry V3 - Metadata
  - Registry V3 - Firewall
  - Registry V3 - Transfer
- name: Database DevOps
  tags:
  - Database Schema
  - Database Instance
  - Deployed State
  - Execution Config
  - Migration State
- name: CD
  tags:
  - K8s Release Service Mapping
  - CustomDeployment
  - Environments
  - EnvironmentGroup
  - Infrastructures
  - Usage
  - File Store
  - Service Dashboard
  - ServiceOverrides
  - Rollback
  - tas
- name: Deployment Freeze
  tags:
  - Freeze CRUD
  - Freeze Evaluation
  - Freeze Schema
- name: Services
  tags:
  - Account Services
  - Org Services
  - Project Services
  - Services
- name: Rancher Infrastructures
  tags:
  - Account Rancher Infrastructure
  - Org Rancher Infrastructure
  - Project Rancher Infrastructure
- name: Templates
  tags:
  - Account Template
  - Org Template
  - Project Template
  - Templates
  - Global Templates
- name: GitOps
  tags:
  - Agents
  - Application
  - Applications
  - Certificates
  - Clusters
  - Dashboard Aggregates
  - Dashboards
  - GnuPGP Keys
  - GPG Keys
  - Hosts
  - Project mappings
  - Projects
  - Reconciler
  - Repositories
  - Repository Certificates
  - Repository credentials
  - ValidateHost
- name: GitX
  tags:
  - GitX Webhooks
  - Org Gitx Webhooks
  - Project Gitx Webhooks
- name: CACM
  tags:
  - Anomalies Ignorelist Rule
  - Anomalies
  - BI Dashboards
  - Budgets
  - Budget Groups
  - Cost Categories
  - Cloud Accounts
  - K8S Connectors Metadata
  - Notification Settings v2
  - Overview
  - Data Job Status
  - Recommendation cost settings
  - Unit Metric
  - Anomaly Comments
  - Cloud and AI cost anomaly details
  - Cloud and AI cost anomalies v2
  - Cost Details
  - Currency Preferences
  - External Data Provider
  - AiEngine
  - CACM governance cost settings
  - Governance Enforcement Recommendation APIs
  - Governance Alert
  - Governance Overview
  - Governance Recommendation APIs
  - RuleEnforcement
  - Rule Executions
  - Rule
  - Rule Sets
  - Perspectives Folders
  - Perspective Reports
  - Perspectives
  - Cost Category Jira Project Mapping
  - Recommendations Details
  - Recommendations
  - Recommendation Jira
  - Recommendation Preferences
  - Recommendation Presets
  - Recommendation Servicenow
  - Recommendation Tags
  - Recommendation Ignore List
  - AutoStopping Rules
  - AutoStopping Rules V2
  - AutoStopping Load Balancers
  - AutoStopping Fixed Schedules
  - AutoStopping Alerts
  - Commitment Orchestrator Events APIs
- name: Feature Flags
  tags:
  - API Keys
  - Feature Flags
  - Targets
  - Target Groups
  - Environment Perspectives
  - Anomalies
  - Proxy
  - Tags
- name: SRM
  tags:
  - Monitored Services
  - SLOs dashboard
  - NG SLOs
  - SLOs
  - Downtime
  - Srm Notification
- name: Internal Developer Portal - IDP
  tags:
  - Entities
  - Teams
  - CatalogCustomProperties
  - Scores
  - DataSource
  - KubernetesDataPoints
  - AggregationRules
  - AppConfig
  - PluginInfo
  - LayoutProxy
  - Kinds
  - LayoutsV3
  - LayoutsV4
- name: Environment Management - IDP
  tags:
  - Environment
  - Infrastructure
  - Instance
- name: Custom Dashboards
  tags:
  - aida
  - dashboards
  - downloads
  - embed
  - folders
- name: Policy Management
  tags:
  - dashboard
  - examples
  - policies
  - evaluate
  - evaluations
  - policysets
  - system
- name: Code
  tags:
  - repository
  - status_checks
  - pullreq
  - upload
  - webhook
  - resource
  - rules
  - labels
- name: IaCM
  tags:
  - usage
  - approvals
  - costs
  - executions
  - module-registry
  - workspaces
  - settings
  - tf-standard-backend
  - variables
- name: STO
  tags:
  - Exemptions
  - Issues
  - Scans
  - Products
  - Test Targets
  - Target Variants
- name: SEI
  tags:
  - Collection categories
  - Collections
  - Contributors
  - DORA
- name: Git Sync (deprecated)
  tags:
  - Git Branches
  - Git Full Sync
  - Git Sync Settings
  - Git Sync
  - Git Sync Errors
- name: Error Models
  tags:
  - Error Response
  - Governance Metadata
- name: Supply Chain Security
  tags:
  - integration
  - PipelineInfraConfig
  - SBOM
  - Integration Step Config
  - Delete Step Config
  - Delete Repositories
  - Pipeline Store Config
  - Evidence Vault [Beta]
- name: Release Management
  tags:
  - Release Groups
  - Releases
  - Orchestration Processes
  - Orchestration Activities
  - Orchestration Executions
  - Conflicts
  - Freeze
  - Reports
  - Uploads
- name: Resilience Testing
  tags:
  - Actions
  - Action Templates
  - Chaos Components
  - Chaos Hubs
  - ChaosGuard Conditions
  - ChaosGuard Rules
  - DR Tests
  - Experiments
  - Experiment Templates
  - Faults
  - Fault Templates
  - Chaos Infrastructure
  - Health
  - Network Maps
  - Onboarding
  - Probes
  - Probe Templates
  - Chaos Recommendations
  - Risks