{"type":"api","title":"List activity log events","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":"Returns a list of activity log events in the current account group. \n\nIf `useAllPermittedAids=true` query parameter is passed and the user has permission `View activity log for all users in account group` the logs returned include events across all the account groups they belong to.\n\nFor more information about changing the account group context, see [Account Context](https://developer.thousandeyes.com/v7/#/accountcontext).","operationId":"getUserEvents","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"}},{"description":"Set to `true` to load data from all accounts the user has access to.","in":"query","name":"useAllPermittedAids","required":false,"schema":{"default":false,"example":false,"type":"boolean"}},{"description":"A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks.\nFor a precise date range, use `startDate` and `endDate`.","in":"query","name":"window","schema":{"example":"12h","pattern":"^\\d+(?:[smhdw]{1})?$","type":"string"}},{"description":"Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.","in":"query","name":"startDate","schema":{"example":"2022-07-17T22:00:54Z","format":"date-time","type":"string"}},{"description":"Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.","in":"query","name":"endDate","schema":{"example":"2022-07-18T22:00:54Z","format":"date-time","type":"string"}},{"description":"(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.","in":"query","name":"cursor","schema":{"type":"string","example":null}}],"responses":{"200":{"content":{"application/hal+json":{"schema":{"properties":{"auditEvents":{"example":[{"accountGroupName":"API Sandbox","aid":"1234","date":"2020-07-17T21:54:54Z","event":"Report created.","ipAddress":"99.128.0.0/11","uid":"1234","user":"API Sandbox User (noreply@thousandeyes.com)","resources":[{"name":"My New report","type":"reportTitle"},{"name":"Other Report","type":"testName"}]},{"accountGroupName":"API Sandbox","aid":"1234","date":"2020-07-17T22:00:54Z","event":"Login failed.","ipAddress":"99.128.0.0/11","uid":"1234","user":"API Sandbox User (noreply@thousandeyes.com)"}],"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"},"date":{"description":"UTC event date (ISO date-time format).","example":"2020-07-17T22:00:54Z","format":"date-time","type":"string"},"event":{"description":"Event type.","example":"Login failed.","type":"string"},"ipAddress":{"description":"Source IP address of the user.","example":"99.128.0.0/11","type":"string"},"uid":{"description":"Unique id representing the user.","example":"245","type":"string"},"user":{"description":"The name and email address of the user.","example":"API Sandbox User (noreply@thousandeyes.com)","type":"string"},"resources":{"items":{"properties":{"type":{"description":"Type of resource affected. Can be “testName”, “reportTitle”, “userDisplayName”, “alertRuleName”, etc.","type":"string"},"name":{"description":"Name of the affected resource.","type":"string"}},"type":"object","$$ref":"#/components/schemas/Resource"},"type":"array"}},"type":"object","$$ref":"#/components/schemas/UserEvent"},"type":"array","x-paginated-items":true},"startDate":{"description":"(Optional) When passing `window` or `startDate` parameter, the client will also receive the `startDate` field indicating the UTC start date of the data's time range being retrieved (ISO date-time format).","example":"2022-07-17T22:00:54Z","format":"date-time","readOnly":true,"type":"string"},"endDate":{"description":"(Optional) When passing `window` or `endDate` parameter, the client will also receive the `endDate` field indicating the UTC end date of the data's time range being retrieved (ISO date-time format).","example":"2022-07-18T22:00:54Z","format":"date-time","readOnly":true,"type":"string"},"_links":{"description":"A links object containing pagination related link(s).","properties":{"previous":{"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"},"next":{"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"},"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"}},"type":"object","$$ref":"#/components/schemas/PaginationLinks"}},"type":"object","$$ref":"#/components/schemas/AuditUserEvents"}}},"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":"List activity log events","tags":["User Events"],"__originalOperationId":"getUserEvents","security":[{"BearerAuth":[]}],"method":"get","path":"/audit-user-events"}}