openapi: 3.0.1 info: title: User management version: 1.0.0 servers: - url: https://hq1.appsflyer.com/api/user-management/v1.0 security: - bearerAuth: [] paths: /users/{userIds}: delete: summary: Delete users description: '> ⚠️ Important > > All API V2 tokens generated before March 10, 2026, 19:00 UTC have been revoked. If your token was generated before this date, please regenerate it. [Learn how](https://support.appsflyer.com/hc/en-us/articles/360004562377-Managing-AppsFlyer-tokens). Delete multiple users for the specified account. ' tags: - Managing users in bulk operationId: bulk-users-delete parameters: - in: path name: userIds description: Comma-separated list of user IDs to delete required: true schema: type: string example: user1@company.com,user2@company.com responses: '204': description: Users deleted successfully '400': description: Bad request - Invalid input format content: application/json: schema: type: object properties: message: type: string description: Error message for a bad request '401': description: Unauthorized - Missing or insufficient permissions content: application/json: schema: type: object properties: message: type: string description: Error message for unauthorized access '422': description: Unprocessable Entity - Invalid input data content: application/json: schema: type: object properties: message: type: string description: Error message for an unprocessable entity /users: get: summary: Get users description: '> ⚠️ Important > > All API V2 tokens generated before March 10, 2026, 19:00 UTC have been revoked. If your token was generated before this date, please regenerate it. [Learn how](https://support.appsflyer.com/hc/en-us/articles/360004562377-Managing-AppsFlyer-tokens). Retrieve users data for the specified account. ' tags: - Managing users in bulk operationId: bulk-users-get responses: '200': description: Successful response containing the list of users. content: application/json: schema: type: object properties: users: type: array items: type: object properties: username: type: string description: The username of the user. email: type: string description: The email of the user. role: type: string description: The role of the user. apps: type: string description: The apps associated with the user. media_sources: type: string description: The media sources associated with the user. geos: type: string description: The geos associated with the user. last_login: type: string description: The last login timestamp of the user. '400': description: Bad request - Invalid input or exceeded limit content: application/json: schema: type: object properties: message: type: string description: Error message for a bad request '401': description: Unauthorized - Missing or insufficient permissions content: application/json: schema: type: object properties: message: type: string description: Error message for unauthorized access post: summary: Create bulk users description: '> ⚠️ Important > > All API V2 tokens generated before March 10, 2026, 19:00 UTC have been revoked. If your token was generated before this date, please regenerate it. [Learn how](https://support.appsflyer.com/hc/en-us/articles/360004562377-Managing-AppsFlyer-tokens). ' tags: - Managing users in bulk operationId: bulk-users-post requestBody: required: true content: application/json: schema: type: array items: type: object required: - email - username - role - allow_access_to_all_future_apps properties: email: type: string format: email description: Email address of the user username: type: string description: Username of the user department: type: string description: Department of the user role: type: string description: Role of the user allow_access_to_all_future_apps: type: boolean description: Indicates whether to allow access to all future apps app_ids: type: array items: type: string description: Array of app IDs geos: type: array items: type: string description: Array of geographical locations media_sources: type: array items: type: string description: Array of media sources responses: '200': description: Users created successfully content: application/json: schema: type: object properties: data: type: array items: type: object properties: user_id: type: string description: ID of the created user username: type: string description: Username of the created user pending: type: boolean description: Indicates if the user is pending role: type: string items: type: string description: Array of roles assigned to the user '400': description: Bad request - exceeded limit content: application/json: schema: type: object properties: message: type: string description: Error message for a bad request '401': description: Unauthorized - Missing or insufficient permissions content: application/json: schema: type: object properties: message: type: string description: Error message for unauthorized access '422': description: Unprocessable Entity - Invalid input data content: application/json: schema: type: object properties: message: type: string description: Error message for an unprocessable entity /roles: get: summary: Get roles description: '> ⚠️ Important > > All API V2 tokens generated before March 10, 2026, 19:00 UTC have been revoked. If your token was generated before this date, please regenerate it. [Learn how](https://support.appsflyer.com/hc/en-us/articles/360004562377-Managing-AppsFlyer-tokens). Retrieve roles data for account with list of users for each role ' tags: - Managing roles responses: '200': description: Successful response containing the list of roles with capabilities and users for each role content: application/json: schema: type: object properties: roles: type: array items: type: object properties: name: type: string description: The display name of the role type: type: string enum: - predefined - custom description: Describes whether the role is custom or pre-defined capabilities: type: array items: type: object properties: section: type: string description: The name of a section of capabilities capabilities: type: array items: type: object properties: name: type: string description: The name of the capability access_level: type: string enum: - blocked - read - all users: type: array items: type: object properties: email: type: string description: The email of a user that has this role name: type: string description: The name of a user that has this role '400': description: Bad request - exceeded limit content: application/json: schema: type: object properties: message: type: string description: Error message for a bad request '401': description: Unauthorized - Missing or insufficient permissions content: application/json: schema: type: object properties: message: type: string description: Error message for unauthorized access components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: "**Important: API V2 Token Revocation**\n\nAll API V2 tokens generated before March 10, 2026, 19:00 UTC\ \ have been revoked. If your token was generated before this date, please regenerate it. [Learn how](https://support.appsflyer.com/hc/en-us/articles/360004562377-Managing-AppsFlyer-tokens).\n\ \nAuthorization HTTP header containing API V2 token (bearer token) is required.\n\n The admin [gets the V2 token in\ \ the dashboard](https://support.appsflyer.com/hc/en-us/articles/360004562377)"