{"type":"api","title":"Create user","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":"Creates a new user.\n\nThe following applies when creating a user: \n* If the user is already a member of another ThousandEyes customer organization, the user must set their own login account group. \n* Any update that includes `accountGroupRoles` is a replace-based update and not a delta-based update.","operationId":"createUser","parameters":[{"description":"A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.","in":"query","name":"aid","required":false,"schema":{"example":"1234","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"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"},"loginAccountGroupId":{"description":"Unique ID of the login account group.","example":"691","type":"string"},"accountGroupRoles":{"items":{"properties":{"accountGroupId":{"description":"Unique ID of the account group.","example":"315","type":"string"},"roleIds":{"description":"Unique role IDs.","example":["57","1140"],"items":{"description":"Unique role ID.","example":"57","type":"string"},"type":"array"}},"type":"object","$$ref":"#/components/schemas/UserAccountGroupRole"},"type":"array"},"allAccountGroupRoleIds":{"description":"Unique IDs representing the roles.","example":["57","1140"],"items":{"description":"Unique role ID.","example":"57","type":"string"},"type":"array"}},"type":"object","$$ref":"#/components/schemas/UserRequest"}}},"required":true},"responses":{"201":{"content":{"application/hal+json":{"schema":{"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 of the user.","example":"245","type":"string"},"dateRegistered":{"description":"UTC date the user registered their account (ISO date-time format).","example":"2020-07-17T22:00:54Z","format":"date-time","type":"string"},"loginAccountGroup":{"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"},"accountGroupRoles":{"items":{"properties":{"accountGroup":{"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"},"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/AccountGroupRole"},"type":"array"},"allAccountGroupRoles":{"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"},"_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"}},"type":"object","$$ref":"#/components/schemas/CreatedUser"}}},"description":"Created","headers":{"Location":{"description":"The absolute path to created resource.","schema":{"example":"https://api.thousandeyes.com/v7/link/to/resource/id","format":"uri","type":"string"},"$$ref":"#/components/headers/Location"}}},"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":"Create user","tags":["Users"],"__originalOperationId":"createUser","security":[{"BearerAuth":[]}],"method":"post","path":"/users"}}