Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions config/_default/menus/api.en.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5374,6 +5374,19 @@ menu:
- SendInvitations
unstable: []
order: 8
- name: Anonymize users
url: '#anonymize-users'
identifier: users-anonymize-users
parent: users
generated: true
params:
versions:
- v2
operationids:
- AnonymizeUsers
unstable:
- v2
order: 10
- name: Update a user
url: '#update-a-user'
identifier: users-update-a-user
Expand Down
72 changes: 72 additions & 0 deletions content/en/api/v2/users/examples.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,76 @@
{
"AnonymizeUsers": {
"responses": {
"200": {
"json": {
"data": {
"attributes": {
"anonymize_errors": [
{
"error": "",
"user_id": "00000000-0000-0000-0000-000000000000"
}
],
"anonymized_user_ids": [
"00000000-0000-0000-0000-000000000000"
]
},
"id": "00000000-0000-0000-0000-000000000000",
"type": "anonymize_users_response"
}
},
"html": "<div class=\"\"><div class=\"row hasChildData \">\n <div class=\"col-12 first-column\">\n <div class=\"row table-row first-row js-collapse-trigger collapse-trigger \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\"><span class=\"toggle-arrow\"><svg width=\"6\" height=\"9\" viewBox=\"0 0 6 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4.7294 4.45711L0.733399 7.82311L1.1294 8.29111L5.6654 4.45711L1.1294 0.641113L0.751398 1.12711L4.7294 4.45711Z\" fill=\"black\"/></svg></span> data</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">object</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Response data for anonymizing users.</p></div>\n </div>\n <div class=\"row isNested d-none hasChildData \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"data\" class=\"row table-row first-row js-collapse-trigger collapse-trigger \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\"><span class=\"toggle-arrow\"><svg width=\"6\" height=\"9\" viewBox=\"0 0 6 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4.7294 4.45711L0.733399 7.82311L1.1294 8.29111L5.6654 4.45711L1.1294 0.641113L0.751398 1.12711L4.7294 4.45711Z\" fill=\"black\"/></svg></span> attributes</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">object</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Attributes of an anonymize users response.</p></div>\n </div>\n <div class=\"row isNested d-none hasChildData \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"attributes\" class=\"row table-row first-row js-collapse-trigger collapse-trigger \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\"><span class=\"toggle-arrow\"><svg width=\"6\" height=\"9\" viewBox=\"0 0 6 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4.7294 4.45711L0.733399 7.82311L1.1294 8.29111L5.6654 4.45711L1.1294 0.641113L0.751398 1.12711L4.7294 4.45711Z\" fill=\"black\"/></svg></span> anonymize_errors&nbsp;[<em>required</em>]</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">[object]</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">List of errors encountered during anonymization, one entry per failed user.</p></div>\n </div>\n <div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"anonymize_errors\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">error&nbsp;[<em>required</em>]</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">string</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Error message describing why anonymization failed.</p></div>\n </div>\n \n </div>\n </div><div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"anonymize_errors\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">user_id&nbsp;[<em>required</em>]</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">string</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">UUID of the user that failed to be anonymized.</p></div>\n </div>\n \n </div>\n </div>\n </div>\n </div><div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"attributes\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">anonymized_user_ids&nbsp;[<em>required</em>]</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">[string]</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">List of user IDs (UUIDs) that were successfully anonymized.</p></div>\n </div>\n \n </div>\n </div>\n </div>\n </div><div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"data\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">id</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">string</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Unique identifier of the response.</p></div>\n </div>\n \n </div>\n </div><div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"data\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">type</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">enum</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Type of the anonymize users response. \nAllowed enum values: <code>anonymize_users_response</code></p><p>default: <code>anonymize_users_response</code></p></div>\n </div>\n \n </div>\n </div>\n </div>\n </div></div>"
},
"400": {
"json": {
"errors": [
"Bad Request"
]
},
"html": "<div class=\"\"><div class=\"row \">\n <div class=\"col-12 first-column\">\n <div class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">errors&nbsp;[<em>required</em>]</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">[string]</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">A list of errors.</p></div>\n </div>\n \n </div>\n </div></div>"
},
"403": {
"json": {
"errors": [
"Bad Request"
]
},
"html": "<div class=\"\"><div class=\"row \">\n <div class=\"col-12 first-column\">\n <div class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">errors&nbsp;[<em>required</em>]</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">[string]</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">A list of errors.</p></div>\n </div>\n \n </div>\n </div></div>"
},
"429": {
"json": {
"errors": [
"Bad Request"
]
},
"html": "<div class=\"\"><div class=\"row \">\n <div class=\"col-12 first-column\">\n <div class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">errors&nbsp;[<em>required</em>]</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">[string]</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">A list of errors.</p></div>\n </div>\n \n </div>\n </div></div>"
}
},
"request": {
"json_curl": {
"data": {
"attributes": {
"user_ids": [
"00000000-0000-0000-0000-000000000000"
]
},
"type": "anonymize_users_request"
}
},
"json": {
"data": {
"attributes": {
"user_ids": [
"00000000-0000-0000-0000-000000000000"
]
},
"id": "00000000-0000-0000-0000-000000000000",
"type": "anonymize_users_request"
}
},
"html": "<div class=\"\"><div class=\"row hasChildData \">\n <div class=\"col-12 first-column\">\n <div class=\"row table-row first-row js-collapse-trigger collapse-trigger \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\"><span class=\"toggle-arrow\"><svg width=\"6\" height=\"9\" viewBox=\"0 0 6 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4.7294 4.45711L0.733399 7.82311L1.1294 8.29111L5.6654 4.45711L1.1294 0.641113L0.751398 1.12711L4.7294 4.45711Z\" fill=\"black\"/></svg></span> data&nbsp;[<em>required</em>]</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">object</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Object to anonymize a list of users.</p></div>\n </div>\n <div class=\"row isNested d-none hasChildData \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"data\" class=\"row table-row first-row js-collapse-trigger collapse-trigger \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\"><span class=\"toggle-arrow\"><svg width=\"6\" height=\"9\" viewBox=\"0 0 6 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4.7294 4.45711L0.733399 7.82311L1.1294 8.29111L5.6654 4.45711L1.1294 0.641113L0.751398 1.12711L4.7294 4.45711Z\" fill=\"black\"/></svg></span> attributes&nbsp;[<em>required</em>]</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">object</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Attributes of an anonymize users request.</p></div>\n </div>\n <div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"attributes\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">user_ids&nbsp;[<em>required</em>]</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">[string]</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">List of user IDs (UUIDs) to anonymize.</p></div>\n </div>\n \n </div>\n </div>\n </div>\n </div><div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"data\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">id</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">string</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Unique identifier for the request. Not used server-side.</p></div>\n </div>\n \n </div>\n </div><div class=\"row isNested d-none \">\n <div class=\"col-12 first-column\">\n <div data-parent-field=\"data\" class=\"row table-row first-row \">\n <div class=\"col-4 column\">\n <p class=\"key table-cell\">type&nbsp;[<em>required</em>]</p>\n </div>\n <div class=\"col-2 column\"><p class=\"table-cell\">enum</p></div>\n <div class=\"col-6 column\"><p class=\"table-cell\">Type of the anonymize users request. \nAllowed enum values: <code>anonymize_users_request</code></p><p>default: <code>anonymize_users_request</code></p></div>\n </div>\n \n </div>\n </div>\n </div>\n </div></div>"
}
},
"SendInvitations": {
"responses": {
"201": {
Expand Down
156 changes: 156 additions & 0 deletions data/api/v2/full_spec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3720,6 +3720,114 @@ components:
description: The `markdownTextAnnotation` `text`.
type: string
type: object
AnonymizeUserError:
description: Error encountered when anonymizing a specific user.
properties:
error:
description: Error message describing why anonymization failed.
example: ""
type: string
user_id:
description: UUID of the user that failed to be anonymized.
example: "00000000-0000-0000-0000-000000000000"
type: string
required:
- user_id
- error
type: object
AnonymizeUsersRequest:
description: Request body for anonymizing users.
properties:
data:
$ref: "#/components/schemas/AnonymizeUsersRequestData"
required:
- data
type: object
AnonymizeUsersRequestAttributes:
description: Attributes of an anonymize users request.
properties:
user_ids:
description: List of user IDs (UUIDs) to anonymize.
example:
- "00000000-0000-0000-0000-000000000000"
items:
example: "00000000-0000-0000-0000-000000000000"
type: string
type: array
required:
- user_ids
type: object
AnonymizeUsersRequestData:
description: Object to anonymize a list of users.
properties:
attributes:
$ref: "#/components/schemas/AnonymizeUsersRequestAttributes"
id:
description: Unique identifier for the request. Not used server-side.
example: "00000000-0000-0000-0000-000000000000"
type: string
type:
$ref: "#/components/schemas/AnonymizeUsersRequestType"
required:
- type
- attributes
type: object
AnonymizeUsersRequestType:
default: anonymize_users_request
description: Type of the anonymize users request.
enum:
- anonymize_users_request
example: anonymize_users_request
type: string
x-enum-varnames:
- ANONYMIZE_USERS_REQUEST
AnonymizeUsersResponse:
description: Response containing the result of an anonymize users request.
properties:
data:
$ref: "#/components/schemas/AnonymizeUsersResponseData"
type: object
AnonymizeUsersResponseAttributes:
description: Attributes of an anonymize users response.
properties:
anonymize_errors:
description: List of errors encountered during anonymization, one entry per failed user.
items:
$ref: "#/components/schemas/AnonymizeUserError"
type: array
anonymized_user_ids:
description: List of user IDs (UUIDs) that were successfully anonymized.
example:
- "00000000-0000-0000-0000-000000000000"
items:
example: "00000000-0000-0000-0000-000000000000"
type: string
type: array
required:
- anonymized_user_ids
- anonymize_errors
type: object
AnonymizeUsersResponseData:
description: Response data for anonymizing users.
properties:
attributes:
$ref: "#/components/schemas/AnonymizeUsersResponseAttributes"
id:
description: Unique identifier of the response.
example: "00000000-0000-0000-0000-000000000000"
type: string
type:
$ref: "#/components/schemas/AnonymizeUsersResponseType"
type: object
AnonymizeUsersResponseType:
default: anonymize_users_response
description: Type of the anonymize users response.
enum:
- anonymize_users_response
example: anonymize_users_response
type: string
x-enum-varnames:
- ANONYMIZE_USERS_RESPONSE
AnthropicAPIKey:
description: The definition of the `AnthropicAPIKey` object.
properties:
Expand Down Expand Up @@ -76879,6 +76987,54 @@ paths:
operator: OR
permissions:
- security_monitoring_findings_read
/api/v2/anonymize_users:
put:
description: |-
Anonymize a list of users, removing their personal data. This operation is irreversible.
Requires the `user_access_manage` permission.
operationId: AnonymizeUsers
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/AnonymizeUsersRequest"
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/AnonymizeUsersResponse"
description: OK
"400":
content:
application/json:
schema:
$ref: "#/components/schemas/APIErrorResponse"
description: Bad Request
"403":
content:
application/json:
schema:
$ref: "#/components/schemas/APIErrorResponse"
description: Authentication error
"429":
$ref: "#/components/responses/TooManyRequestsResponse"
security:
- apiKeyAuth: []
appKeyAuth: []
- AuthZ:
- user_access_manage
summary: Anonymize users
tags:
- Users
x-codegen-request-body-name: body
x-menu-order: 10
x-permission:
operator: OR
permissions:
- user_access_manage
x-unstable: "**Note**: This endpoint is in Preview and may be subject to changes."
/api/v2/api_keys:
get:
description: List all API keys available for your account.
Expand Down
6 changes: 6 additions & 0 deletions data/api/v2/translate_actions.json
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,12 @@
"description": "Fetch the data of a specific on demand task.",
"summary": "Get AWS on demand task"
},
"AnonymizeUsers": {
"description": "Anonymize a list of users, removing their personal data. This operation is irreversible.\nRequires the `user_access_manage` permission.",
"summary": "Anonymize users",
"request_description": "",
"request_schema_description": "Request body for anonymizing users."
},
"ListAPIKeys": {
"description": "List all API keys available for your account.",
"summary": "Get all API keys"
Expand Down
Loading