openapi: 3.2.0 info: title: Accounts and Settings User API version: 1.0.0 servers: - url: https://api.brevo.com/v3 description: https://api.brevo.com/v3 tags: - name: user paths: /organization/invited/users: get: operationId: getInvitedUsersList summary: Get the list of all your users description: Retrieves the list of all users associated with your organization, including both active and pending invited users. Each user entry includes their email address, owner status, current invitation status, and feature access levels for marketing, CRM, and conversations. tags: - user parameters: - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: list of all your users content: application/json: schema: $ref: '#/components/schemas/User_getInvitedUsersList_Response_200' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/GetInvitedUsersListRequestBadRequestError' /organization/user/{email}/permissions: get: operationId: getUserPermission summary: Check user permission description: Retrieves the granular feature-level permissions assigned to a specific user in the organization, identified by their email address. The response includes the user''s current status (active or pending) and a detailed list of privileges specifying which features and permission levels are granted. tags: - user parameters: - name: email in: path description: Email of the invited user. required: true schema: type: string - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: list of all the user's permissions content: application/json: schema: $ref: '#/components/schemas/User_getUserPermission_Response_200' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/GetUserPermissionRequestBadRequestError' /organization/user/invitation/revoke/{email}: put: operationId: putRevokeUserPermission summary: Revoke user permission description: Revokes all permissions for an invited user in the organization, effectively removing their access to the platform. If the user''s plan change generated credit notes, they are returned in the response for billing reconciliation. tags: - user parameters: - name: email in: path description: Email of the invited user. required: true schema: type: string - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: Credit note exists content: application/json: schema: $ref: '#/components/schemas/User_putRevokeUserPermission_Response_200' '403': description: bad request content: application/json: schema: $ref: '#/components/schemas/PutRevokeUserPermissionRequestForbiddenError' /organization/user/invitation/{action}/{email}: put: operationId: putresendcancelinvitation summary: Resend / Cancel invitation description: Resends or cancels a pending invitation for a user in the organization, depending on the action path parameter. Use `resend` to send a new invitation email to the user, or `cancel` to revoke the pending invitation entirely and remove the user''s pending access. tags: - user parameters: - name: action in: path description: action required: true schema: $ref: '#/components/schemas/OrganizationUserInvitationActionEmailPutParametersAction' - name: email in: path description: Email of the invited user. required: true schema: type: string - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/User_putresendcancelinvitation_Response_200' '403': description: bad request content: application/json: schema: $ref: '#/components/schemas/PutresendcancelinvitationRequestForbiddenError' /organization/user/invitation/send: post: operationId: inviteuser summary: Send invitation to user description: "`Feature` - A Feature represents a specific functionality like Email\ncampaign, Deals, Calls, Automations, etc. on Brevo. While inviting a user,\ndetermine which feature you want to manage access to. You must specify the\nfeature accurately to avoid errors. `Permission` - A Permission defines the\nlevel of access or control a user has over a specific feature. While\ninviting user, decide on the permission level required for the selected\nfeature. Make sure the chosen permission is related to the selected feature.\nFeatures and their respective permissions are as below: - `email_campaigns`:\n - \"create_edit_delete\"\n - \"send_schedule_suspend\"\n- `sms_campaigns`:\n - \"create_edit_delete\"\n - \"send_schedule_suspend\"\n- `contacts`:\n - \"view\"\n - \"create_edit_delete\"\n - \"import\"\n - \"export\"\n - \"list_and_attributes\"\n - \"forms\"\n- `templates`:\n - \"create_edit_delete\"\n - \"activate_deactivate\"\n- `workflows`:\n - \"create_edit_delete\"\n - \"activate_deactivate_pause\"\n - \"settings\"\n- `landing_pages`:\n - \"all\"\n- `transactional_emails`:\n - \"settings\"\n - \"logs\"\n- `smtp_api`:\n - \"smtp\"\n - \"api_keys\"\n - \"authorized_ips\"\n- `user_management`:\n - \"all\"\n- `sales_platform`:\n - \"create_edit_deals\"\n - \"delete_deals\"\n - \"manage_others_deals_tasks\"\n - \"reports\"\n - \"settings\"\n- `phone`:\n - \"all\"\n- `conversations`:\n - \"access\"\n - \"assign\"\n - \"configure\"\n- `senders_domains_dedicated_ips`:\n - \"senders_management\"\n - \"domains_management\"\n - \"dedicated_ips_management\"\n- `push_notifications`:\n - \"view\"\n - \"create_edit_delete\"\n - \"send\"\n - \"settings\"\n- `companies`:\n - \"manage_owned_companies\"\n - \"manage_other_companies\"\n - \"settings\"\n**Note**: - If `all_features_access: false` then only privileges are\nrequired otherwise if `true` then it's assumed that all permissions will be\nthere for the invited user. - The availability of feature and its permission\ndepends on your current plan. Please select the features and permissions\naccordingly." tags: - user parameters: - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/User_inviteuser_Response_200' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/InviteuserRequestBadRequestError' requestBody: description: Values to create an invitation content: application/json: schema: $ref: '#/components/schemas/inviteuser' /organization/user/update/permissions: post: operationId: EditUserPermission summary: Update permission for a user description: "`Feature` - A Feature represents a specific functionality like Email\ncampaign, Deals, Calls, Automations, etc. on Brevo. While inviting a user,\ndetermine which feature you want to manage access to. You must specify the\nfeature accurately to avoid errors. `Permission` - A Permission defines the\nlevel of access or control a user has over a specific feature. While\ninviting user, decide on the permission level required for the selected\nfeature. Make sure the chosen permission is related to the selected feature.\nFeatures and their respective permissions are as below: - `email_campaigns`:\n - \"create_edit_delete\"\n - \"send_schedule_suspend\"\n- `sms_campaigns`:\n - \"create_edit_delete\"\n - \"send_schedule_suspend\"\n- `contacts`:\n - \"view\"\n - \"create_edit_delete\"\n - \"import\"\n - \"export\"\n - \"list_and_attributes\"\n - \"forms\"\n- `templates`:\n - \"create_edit_delete\"\n - \"activate_deactivate\"\n- `workflows`:\n - \"create_edit_delete\"\n - \"activate_deactivate_pause\"\n - \"settings\"\n- `landing_pages`:\n - \"all\"\n- `transactional_emails`:\n - \"settings\"\n - \"logs\"\n- `smtp_api`:\n - \"smtp\"\n - \"api_keys\"\n - \"authorized_ips\"\n- `user_management`:\n - \"all\"\n- `sales_platform`:\n - \"create_edit_deals\"\n - \"delete_deals\"\n - \"manage_others_deals_tasks\"\n - \"reports\"\n - \"settings\"\n- `phone`:\n - \"all\"\n- `conversations`:\n - \"access\"\n - \"assign\"\n - \"configure\"\n- `senders_domains_dedicated_ips`:\n - \"senders_management\"\n - \"domains_management\"\n - \"dedicated_ips_management\"\n- `push_notifications`:\n - \"view\"\n - \"create_edit_delete\"\n - \"send\"\n - \"settings\"\n- `companies`:\n - \"manage_owned_companies\"\n - \"manage_other_companies\"\n - \"settings\"\n**Note**: - The privileges array remains the same as in the send invitation;\nthe user simply needs to provide the permissions that need to be updated. -\nThe availability of feature and its permission depends on your current plan.\nPlease select the features and permissions accordingly." tags: - user parameters: - name: api-key in: header description: The API key should be passed in the request headers as `api-key` for authentication. required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/User_EditUserPermission_Response_200' '400': description: bad request content: application/json: schema: $ref: '#/components/schemas/EditUserPermissionRequestBadRequestError' requestBody: description: Values to create an invitation content: application/json: schema: $ref: '#/components/schemas/inviteuser' components: schemas: OrganizationInvitedUsersGetResponsesContentApplicationJsonSchemaUsersItemsFeatureAccess: type: object properties: conversations: type: string description: Conversations features accessiblity. crm: type: string description: CRM features accessiblity. marketing: type: string description: Marketing features accessiblity. description: Feature accessiblity given to the user. title: OrganizationInvitedUsersGetResponsesContentApplicationJsonSchemaUsersItemsFeatureAccess OrganizationUserUpdatePermissionsPostResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: OrganizationUserUpdatePermissionsPostResponsesContentApplicationJsonSchemaCode User_EditUserPermission_Response_200: type: object properties: credit_notes: type: array items: type: string description: Credit note invoice_id: type: string description: Invoice id status: type: string description: Status of the API operation. required: - status title: User_EditUserPermission_Response_200 InviteuserRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/OrganizationUserInvitationSendPostResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: InviteuserRequestBadRequestError OrganizationUserInvitationSendPostResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: OrganizationUserInvitationSendPostResponsesContentApplicationJsonSchemaCode OrganizationUserInvitationRevokeEmailPutResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: OrganizationUserInvitationRevokeEmailPutResponsesContentApplicationJsonSchemaCode OrganizationUserEmailPermissionsGetResponsesContentApplicationJsonSchemaPrivilegesItems: type: object properties: feature: type: string permissions: type: array items: type: string required: - feature - permissions title: OrganizationUserEmailPermissionsGetResponsesContentApplicationJsonSchemaPrivilegesItems EditUserPermissionRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/OrganizationUserUpdatePermissionsPostResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: EditUserPermissionRequestBadRequestError OrganizationUserInvitationActionEmailPutParametersAction: type: string enum: - resend - cancel title: OrganizationUserInvitationActionEmailPutParametersAction GetUserPermissionRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/OrganizationUserEmailPermissionsGetResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: GetUserPermissionRequestBadRequestError InviteuserPrivilegesItems: type: object properties: feature: $ref: '#/components/schemas/InviteuserPrivilegesItemsFeature' description: Feature name permissions: type: array items: $ref: '#/components/schemas/InviteuserPrivilegesItemsPermissionsItems' description: Permissions for a given feature description: Privileges given to the user title: InviteuserPrivilegesItems GetInvitedUsersListRequestBadRequestError: type: object properties: code: $ref: '#/components/schemas/OrganizationInvitedUsersGetResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: GetInvitedUsersListRequestBadRequestError OrganizationUserInvitationActionEmailPutResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: OrganizationUserInvitationActionEmailPutResponsesContentApplicationJsonSchemaCode OrganizationUserEmailPermissionsGetResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: OrganizationUserEmailPermissionsGetResponsesContentApplicationJsonSchemaCode OrganizationInvitedUsersGetResponsesContentApplicationJsonSchemaCode: type: string enum: - invalid_parameter - missing_parameter - out_of_range - campaign_processing - campaign_sent - document_not_found - not_enough_credits - permission_denied - duplicate_parameter - duplicate_request - method_not_allowed - unauthorized - account_under_validation - not_acceptable - bad_request - unprocessable_entity - Domain does not exist - Contact email not found - Attribute not found - Category id not found - Invalid parameters passed - Record(s) for identifier not found - Returned when query params are invalid - Returned when invalid data posted - Feed not found - Campaign ID not found - api-key not found - DMARC policy requires domain authentication - DNS records not properly configured - Invalid OTP code provided - OTP code has expired - Domain already exists in your account - The sum of all IP weights must equal 100 - Authentication failed - Insufficient credits - Request already processed description: Error code displayed in case of a failure title: OrganizationInvitedUsersGetResponsesContentApplicationJsonSchemaCode User_getInvitedUsersList_Response_200: type: object properties: users: type: array items: $ref: '#/components/schemas/OrganizationInvitedUsersGetResponsesContentApplicationJsonSchemaUsersItems' description: Get invited users list title: User_getInvitedUsersList_Response_200 User_getUserPermission_Response_200: type: object properties: email: type: string description: Email address of the user. privileges: type: array items: $ref: '#/components/schemas/OrganizationUserEmailPermissionsGetResponsesContentApplicationJsonSchemaPrivilegesItems' description: Granular feature permissions given to the user. status: type: string description: Status of the invited user. required: - email - privileges - status description: Check user permission title: User_getUserPermission_Response_200 inviteuser: type: object properties: all_features_access: type: boolean description: All access to the features email: type: string format: email description: Email address for the organization privileges: type: array items: $ref: '#/components/schemas/InviteuserPrivilegesItems' required: - all_features_access - email - privileges title: inviteuser User_putresendcancelinvitation_Response_200: type: object properties: credit_notes: type: array items: type: string description: Credit note status: type: string description: Status of the API operation. required: - status title: User_putresendcancelinvitation_Response_200 PutresendcancelinvitationRequestForbiddenError: type: object properties: code: $ref: '#/components/schemas/OrganizationUserInvitationActionEmailPutResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: PutresendcancelinvitationRequestForbiddenError InviteuserPrivilegesItemsPermissionsItems: type: string enum: - create_edit_delete - send_schedule_suspend - view - import - export - list_and_attributes - forms - activate_deactivate - activate_deactivate_pause - settings - schedule_pause - all - logs - access - assign - configure - create_edit_deals - delete_deals - manage_others_deals_tasks - manage_owned_companies - manage_others_companies - reports - senders_management - domains_management - dedicated_ips_management - send - smtp - api_keys - authorized_ips - none title: InviteuserPrivilegesItemsPermissionsItems User_inviteuser_Response_200: type: object properties: invoice_id: type: string description: Invoice id status: type: string description: Status of the API operation. required: - status title: User_inviteuser_Response_200 InviteuserPrivilegesItemsFeature: type: string enum: - email_campaigns - sms_campaigns - contacts - templates - workflows - landing_pages - transactional_emails - smtp_api - user_management - sales_platform - phone - conversations - senders_domains_dedicated_ips - push_notifications - companies description: Feature name title: InviteuserPrivilegesItemsFeature PutRevokeUserPermissionRequestForbiddenError: type: object properties: code: $ref: '#/components/schemas/OrganizationUserInvitationRevokeEmailPutResponsesContentApplicationJsonSchemaCode' description: Error code displayed in case of a failure message: type: string description: Readable message associated to the failure required: - code - message title: PutRevokeUserPermissionRequestForbiddenError OrganizationInvitedUsersGetResponsesContentApplicationJsonSchemaUsersItems: type: object properties: email: type: string description: Email address of the user. feature_access: $ref: '#/components/schemas/OrganizationInvitedUsersGetResponsesContentApplicationJsonSchemaUsersItemsFeatureAccess' description: Feature accessiblity given to the user. is_owner: type: string description: Flag for indicating is user owner of the organization. status: type: string description: Status of the invited user. required: - email - feature_access - is_owner - status title: OrganizationInvitedUsersGetResponsesContentApplicationJsonSchemaUsersItems User_putRevokeUserPermission_Response_200: type: object properties: credit_notes: type: array items: type: string description: Credit note status: type: string description: Status of the API operation. required: - status title: User_putRevokeUserPermission_Response_200 securitySchemes: api-key: type: apiKey in: header name: api-key description: The API key should be passed in the request headers as `api-key` for authentication.