{"type":"api","title":"Update account group","meta":{"id":"/apps/pubhub/media/000-v7-apis/5b3454a4300b838cc17f7b2cdc0690fdd15058d5/ba660d7b-7ccf-30c2-a2b4-4fee31bc268b","info":{"description":"Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API.\nThis API provides the following operations to manage your organization: \n\n * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups.\n * `/users`: Create, retrieve, update and delete users within an organization. \n * `/roles`: Create, retrieve and update roles for the current user. \n * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. \n * `/audit-user-events`: Retrieve all activity log events.\n\n For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management).","title":"Administrative API","version":"7.0.34"},"security":[{"BearerAuth":[]}],"tags":[{"description":"Account group CRUD operations","name":"Account Groups"},{"description":"User CRUD operations","name":"Users"},{"description":"Role CRUD operations","name":"Roles"},{"description":"Permission GET operation","name":"Permissions"},{"description":"User events GET operation","name":"User Events"}],"externalDocs":{"description":"Find out more about the administrative models","url":"https://docs.thousandeyes.com/product-documentation/user-management"},"openapi":"3.0.1","servers":[{"description":"ThousandEyes API production URL","url":"https://api.thousandeyes.com/v7"}],"securitySchemes":{"BearerAuth":{"description":"Bearer authentication token","scheme":"bearer","type":"http"}}},"spec":{"description":"Updates an account group using its ID. You can modify the account group’s name or the list of agents assigned to the account group.","operationId":"updateAccountGroup","parameters":[{"description":"Identifier for the account group.","in":"path","name":"id","required":true,"schema":{"example":"1234","type":"string"}},{"description":"Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.","explode":false,"in":"query","name":"expand","required":false,"schema":{"example":["user"],"items":{"enum":["user","agent"],"type":"string","$$ref":"#/components/schemas/ExpandAccountGroupOptions"},"type":"array"},"style":"form"}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"accountGroupName":{"description":"The name of the account group","example":"My testing account group","type":"string"},"agents":{"description":"To grant access to enterprise agents, specify the agent list. Note that this is not an additive list - the full list must be specified if changing access to agents.","example":["105","719"],"items":{"type":"string"},"type":"array"}},"required":["accountGroupName"],"type":"object","$$ref":"#/components/schemas/AccountGroupRequest"}}},"required":true},"responses":{"200":{"content":{"application/hal+json":{"schema":{"properties":{"aid":{"description":"A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.","example":"1234","type":"string"},"accountGroupName":{"description":"Account group name","example":"Account A","type":"string"},"isCurrentAccountGroup":{"description":"Indicates whether the requested aid is the context of the current account.","example":true,"type":"boolean"},"isDefaultAccountGroup":{"description":"Indicates whether the aid is the default one for the requesting user.","example":true,"type":"boolean"},"organizationName":{"description":"(Optional) The name of the organization associated with the account group.","type":"string"},"orgId":{"description":"(Optional) The ID for the organization associated with the account group.","example":"12345","type":"string"},"users":{"items":{"properties":{"name":{"description":"User's display name.","example":"User X","type":"string"},"email":{"description":"User's email address.","example":"userx@thousandeyes.com","format":"email","type":"string"},"uid":{"description":"Unique ID representing the user.","example":"235","type":"string"},"lastLogin":{"description":"User's UTC last login date (ISO date-time format).","example":"2022-07-17T22:00:54Z","format":"date-time","type":"string"},"dateRegistered":{"description":"User's UTC registration date (ISO date-time format).","example":"2022-07-17T22:00:54Z","format":"date-time","type":"string"},"roles":{"items":{"properties":{"name":{"description":"Name of the role.","example":"Organization Admin","type":"string"},"roleId":{"description":"Unique ID representing the role.","example":"35","type":"string"},"isBuiltin":{"description":"Flag indicating if the role is built-in (Account Admin, Organization Admin, Regular User).","type":"boolean"},"hasManagementPermissions":{"description":"Flag indicating whether the user has management permissions.","type":"boolean"}},"type":"object","$$ref":"#/components/schemas/Role"},"type":"array"}},"type":"object","$$ref":"#/components/schemas/UserAccountGroup"},"type":"array"},"_links":{"description":"A links object containing the self link.","properties":{"self":{"description":"A hyperlink from the containing resource to a URI.","properties":{"href":{"description":"Its value is either a URI [RFC3986] or a URI template [RFC6570].","example":"https://api.thousandeyes.com/v7/link/to/resource/id","type":"string"},"templated":{"description":"Should be true when the link object's \"href\" property is a URI template.","type":"boolean"},"type":{"description":"Used as a hint to indicate the media type expected when dereferencing the target resource.","type":"string"},"deprecation":{"description":"Its presence indicates that the link is to be deprecated at a future date. Its value is a URL that should provide further information about the deprecation.","type":"string"},"name":{"description":"Its value may be used as a secondary key for selecting link objects that share the same relation type.","type":"string"},"profile":{"description":"A URI that hints about the profile of the target resource.","type":"string"},"title":{"description":"Intended for labelling the link with a human-readable identifier","type":"string"},"hreflang":{"description":"Indicates the language of the target resource","type":"string"}},"required":["href"],"type":"object","$$ref":"#/components/schemas/Link"}},"readOnly":true,"type":"object","$$ref":"#/components/schemas/SelfLinks"},"agents":{"items":{"properties":{"agentType":{"description":"Type of the agent.","enum":["cloud","enterprise-cluster","enterprise"],"example":"enterprise-cluster","readOnly":true,"type":"string","$$ref":"#/components/schemas/CloudEnterpriseAgentType"},"ipAddresses":{"description":"Array of private IP addresses.","example":["99.139.65.220","9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce"],"items":{"type":"string"},"readOnly":true,"type":"array"},"publicIpAddresses":{"description":"Array of public IP addresses.","example":["192.168.1.78","f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c"],"items":{"type":"string"},"readOnly":true,"type":"array"},"network":{"description":"Network (including ASN) of agent’s public IP.","example":"AT&T Services, Inc. (AS 7018)","readOnly":true,"type":"string"},"agentId":{"description":"Unique ID of the agent.","example":"281474976710706","readOnly":true,"type":"string"},"agentName":{"description":"Name of the agent.","example":"thousandeyes-stg-va-254","type":"string"},"location":{"description":"Location of the agent.","example":"San Francisco Bay Area","readOnly":true,"type":"string"},"countryId":{"description":"2-digit ISO country code","example":"US","readOnly":true,"type":"string"},"enabled":{"description":"Flag indicating if the agent is enabled.","example":true,"type":"boolean"},"prefix":{"description":"Prefix containing agents public IP address.","example":"99.128.0.0/11","readOnly":true,"type":"string"},"verifySslCertificates":{"description":"Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.","example":true,"readOnly":true,"type":"boolean"},"clusterMembers":{"description":"If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents.","items":{"properties":{"ipAddresses":{"description":"Array of private IP addresses.","example":["99.139.65.220","9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce"],"items":{"type":"string"},"readOnly":true,"type":"array"},"publicIpAddresses":{"description":"Array of public IP addresses.","example":["192.168.1.78","f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c"],"items":{"type":"string"},"readOnly":true,"type":"array"},"network":{"description":"Network (including ASN) of agent’s public IP.","example":"AT&T Services, Inc. (AS 7018)","readOnly":true,"type":"string"},"memberId":{"description":"Unique ID of the cluster member","example":"10","readOnly":true,"type":"string"},"name":{"description":"Name of the cluster member","example":"Cluster member name","readOnly":true,"type":"string"},"errorDetails":{"description":"If an enterprise agent or a cluster member presents at least one error, the errors will be shown as an array of entries in the errorDetails field (Enterprise Agents and Enterprise Cluster members only)","items":{"properties":{"code":{"description":"Code for the agent error.","enum":["agent-version-outdated","browserbot-version-outdated","appliance-version-outdated","clock-offset","os-end-of-installation-support","os-end-of-support","os-end-of-life","nat-traversal-error"],"example":"agent-version-outdated","readOnly":true,"type":"string","$$ref":"#/components/schemas/ErrorDetailCode"},"description":{"description":"Description for the agent error.","example":"Agent Version 0.1.1 (latest: 1.0.0)","readOnly":true,"type":"string"}},"type":"object","$$ref":"#/components/schemas/ErrorDetail"},"readOnly":true,"type":"array"},"lastSeen":{"description":"UTC last seen date (ISO date-time format).","example":"2022-07-17T22:00:54Z","format":"date-time","readOnly":true,"type":"string"},"agentState":{"description":"State of the agent.","enum":["online","offline","disabled"],"example":"online","readOnly":true,"type":"string","$$ref":"#/components/schemas/EnterpriseAgentState"},"targetForTests":{"description":"Test target IP address.","example":"1.1.1.1","format":"ipv4","type":"string"},"utilization":{"description":"Shows overall utilization percentage (online Enterprise Agents and Enterprise Clusters only).","example":25,"readOnly":true,"type":"integer"}},"type":"object","$$ref":"#/components/schemas/ClusterMember"},"readOnly":true,"type":"array"},"utilization":{"description":"Shows overall utilization percentage (online Enterprise Agents and Enterprise Clusters only).","example":25,"readOnly":true,"type":"integer"},"accountGroups":{"description":"List of account groups. See /accounts-groups to pull a list of account IDs","items":{"properties":{"aid":{"description":"A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.","example":"1234","type":"string"},"accountGroupName":{"description":"Account group name","example":"Account A","type":"string"}},"type":"object","$$ref":"#/components/schemas/AccountGroup"},"type":"array"},"ipv6Policy":{"description":"IP version policy, (Enterprise Agents and Enterprise Clusters only)","enum":["force-ipv4","prefer-ipv6","force-ipv6"],"example":"force-ipv4","type":"string","$$ref":"#/components/schemas/EnterpriseAgentIpv6Policy"},"errorDetails":{"description":"If an enterprise agent or a cluster member presents at least one error, the errors will be shown as an array of entries in the errorDetails field (Enterprise Agents and Enterprise Cluster members only)","items":{"properties":{"code":{"description":"Code for the agent error.","enum":["agent-version-outdated","browserbot-version-outdated","appliance-version-outdated","clock-offset","os-end-of-installation-support","os-end-of-support","os-end-of-life","nat-traversal-error"],"example":"agent-version-outdated","readOnly":true,"type":"string","$$ref":"#/components/schemas/ErrorDetailCode"},"description":{"description":"Description for the agent error.","example":"Agent Version 0.1.1 (latest: 1.0.0)","readOnly":true,"type":"string"}},"type":"object","$$ref":"#/components/schemas/ErrorDetail"},"readOnly":true,"type":"array"},"hostname":{"description":"Fully qualified domain name of the agent (Enterprise Agents only)","example":"thousandeyes.com","readOnly":true,"type":"string"},"lastSeen":{"description":"UTC last seen date (ISO date-time format).","example":"2022-07-17T22:00:54Z","format":"date-time","readOnly":true,"type":"string"},"agentState":{"description":"State of the agent.","enum":["online","offline","disabled"],"example":"online","readOnly":true,"type":"string","$$ref":"#/components/schemas/EnterpriseAgentState"},"keepBrowserCache":{"description":"Flag indicating if the agent retains cache.","example":true,"type":"boolean"},"createdDate":{"description":"UTC Agent creation date (ISO date-time format).","example":"2022-07-17T22:00:54Z","format":"date-time","readOnly":true,"type":"string"},"targetForTests":{"description":"Test target IP address.","example":"1.1.1.1","format":"ipv4","type":"string"},"localResolutionPrefixes":{"description":"To perform rDNS lookups for public IP ranges, this field represents the public IP ranges. The range must be in CIDR notation; for example, 10.1.1.0/24. Maximum of 5 prefixes allowed (Enterprise Agents and Enterprise Agent clusters only).","items":{"example":"10.2.3.3/24","type":"string"},"type":"array"},"interfaceIpMappings":{"items":{"properties":{"interfaceName":{"description":"Name of the mapping","example":"wlp4s0","readOnly":true,"type":"string"},"ipAddresses":{"description":"Array of ipAddress entries","example":["73.252.207.219","2601:646:300:3ae0::b977"],"items":{"type":"string"},"readOnly":true,"type":"array"}},"type":"object","$$ref":"#/components/schemas/InterfaceIpMapping"},"readOnly":true,"type":"array"}},"required":["agentType"],"type":"object","$$ref":"#/components/schemas/EnterpriseAgent"},"type":"array"},"accountToken":{"description":"The account group token is an alphanumeric string used to bind an Enterprise Agent to a specific account group. This token is not a password that must be kept secret. You can retrieve your `AccountGroupToken` from the `/account-groups/{id}` endpoint.","example":"6j052y4vfgyuhefghue","type":"string","$$ref":"#/components/schemas/AccountGroupToken"}},"type":"object","$$ref":"#/components/schemas/AccountGroupDetail"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"example":{"type":"about:blank","title":"Request validation failed. There are invalid or missing fields","status":400,"detail":"Your request object contains invalid fields.","instance":"/v7","errors":[{"code":"AM-5432","field":"firstName","message":"firstName cannot have fancy characters"},{"code":"DASH-5622","field":"password","message":"Password cannot be blank"}]},"schema":{"properties":{"type":{"description":"A URI reference that identifies the problem type. When this member is not present, its value is assumed to be \"about:blank\".","type":"string"},"title":{"description":"A short, human-readable summary of the problem type.","type":"string"},"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem.","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem.","type":"string"},"errors":{"description":"(Optional) When multiple errors occur, the details for each error are listed.","items":{"properties":{"code":{"description":"(Optional) A unique error type/code that can be referenced in the documentation for further details.","type":"string"},"field":{"description":"Identifies the field that triggered this particular error.","type":"string"},"message":{"description":"A short, human-readable summary of the error.","type":"string"}},"type":"object","$$ref":"#/components/schemas/ValidationErrorItem"},"nullable":true,"type":"array"}},"type":"object","$$ref":"#/components/schemas/ValidationError"}}},"description":"Bad Request"},"401":{"content":{"application/problem+json":{"schema":{"properties":{"error":{"example":"invalid_token","type":"string"},"error_description":{"example":"Invalid access token","type":"string"}},"type":"object","$$ref":"#/components/schemas/UnauthorizedError"}}},"description":"Unauthorized"},"403":{"content":{"application/problem+json":{"schema":{"properties":{"type":{"description":"A URI reference that identifies the problem type. When this member is not present, its value is assumed to be \"about:blank\".","type":"string"},"title":{"description":"A short, human-readable summary of the problem type.","type":"string"},"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem.","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem.","type":"string"}},"type":"object","$$ref":"#/components/schemas/Error"}}},"description":"Insufficient permissions to query endpoint"},"404":{"content":{"application/problem+json":{"example":{"type":"about:blank","title":"URI Resource Not Found","status":404,"detail":"Details explaining if the 404 error is related to an invalid URI or a wrong ID","instance":"/v7"},"schema":{"properties":{"type":{"description":"A URI reference that identifies the problem type. When this member is not present, its value is assumed to be \"about:blank\".","type":"string"},"title":{"description":"A short, human-readable summary of the problem type.","type":"string"},"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem.","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem.","type":"string"}},"type":"object","$$ref":"#/components/schemas/Error"}}},"description":"Not found"},"429":{"content":{"application/problem+json":{"schema":{"properties":{"type":{"description":"A URI reference that identifies the problem type. When this member is not present, its value is assumed to be \"about:blank\".","type":"string"},"title":{"description":"A short, human-readable summary of the problem type.","type":"string"},"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem.","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem.","type":"string"}},"type":"object","$$ref":"#/components/schemas/Error"}}},"description":"Exhausted rate limit for the organization"},"500":{"content":{"application/problem+json":{"example":{"type":"about:blank","title":"Internal server error","status":500,"detail":"Optional detail about the internal error message.","instance":"/v7"},"schema":{"properties":{"type":{"description":"A URI reference that identifies the problem type. When this member is not present, its value is assumed to be \"about:blank\".","type":"string"},"title":{"description":"A short, human-readable summary of the problem type.","type":"string"},"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the problem.","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem.","type":"string"}},"type":"object","$$ref":"#/components/schemas/Error"}}},"description":"Internal server error"}},"summary":"Update account group","tags":["Account Groups"],"__originalOperationId":"updateAccountGroup","security":[{"BearerAuth":[]}],"method":"put","path":"/account-groups/{id}"}}