Palo Alto Networks User Profile API
Manage your Prisma Cloud user profiles.
Manage your Prisma Cloud user profiles.
openapi: 3.2.0
info:
title: Palo Alto Networks User Profile API
version: Latest
contact: {}
description: 'Operations tagged User Profile across 2 of this provider''s published API definitions: palo-alto-cspm-consolidated-spec-cspm-spec-openapi.json, palo-alto-cspm-userprofile-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.prismacloud.io
- url: https://api2.prismacloud.io
- url: https://api3.prismacloud.io
- url: https://api4.prismacloud.io
- url: https://api.anz.prismacloud.io
- url: https://api.eu.prismacloud.io
- url: https://api2.eu.prismacloud.io
- url: https://api.gov.prismacloud.io
- url: https://api.prismacloud.cn
- url: https://api.ca.prismacloud.io
- url: https://api.sg.prismacloud.io
- url: https://api.uk.prismacloud.io
- url: https://api.ind.prismacloud.io
- url: https://api.jp.prismacloud.io
- url: https://api.fr.prismacloud.io
tags:
- description: 'Manage your Prisma Cloud user profiles.
'
name: User Profile
paths:
/user/me:
get:
description: Returns the current user's personal profile information.
operationId: get-my-profile
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MultiRoleUserProfile1'
description: successful operation
'400':
description: user_inactive_or_not_exist
'500':
description: failed_fetch_user_profile
security:
- x-redlock-auth: []
summary: Profile
tags:
- User Profile
put:
description: "Updates the current user's personal profile information. \n\nThis request supports four optional request body parameters, which you can see in the JSON example below:\n```\n{\n \"defaultRoleId\": \"\",\n \"firstName\": \"\",\n \"lastName\": \"\",\n \"timeZone\": \"\", \n}\n```\n\nThe red **required** labels in the request body schema below apply only when you create a new user profile, so the labels don't apply to this request.\n"
operationId: update-my-profile
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MultiRoleUserProfile1'
description: Model containing user profile
required: true
responses:
'200':
description: successful operation
'400':
description: empty_user_profile_provided / missing_first_name / missing_time_zone / invalid_time_zone / user_inactive_or_not_exist / default_role_not_belonging_to_user_role_list / invalid_user_role
'403':
description: cannot_disable_own_profile / access_keys_cannot_update_owner_profile
'500':
description: failed_update_user_profile
security:
- x-redlock-auth: []
summary: Update Profile
tags:
- User Profile
servers:
- url: https://api.prismacloud.io
- url: https://api2.prismacloud.io
- url: https://api3.prismacloud.io
- url: https://api4.prismacloud.io
/v3/user:
get:
description: Lists all users and service accounts for your tenant.
operationId: get-user-profiles-v3
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/UserAccountModel'
type: array
description: successful operation
'500':
description: failed_fetch_user_profile
security:
- x-redlock-auth: []
summary: List Users V3
tags:
- User Profile
post:
description: "Adds either a user profile or a service account profile. \n\nThe required request body parameters differ, depending on whether you are adding a user account or a service account. Specify whether \nyou're adding a user account or service account through the request parameter **type**.\n\nThe required parameters to add a user account are:\n\n* **email**\n* **firstName**\n* **lastName**\n* **roleIds**\n* **defaultRoleId**\n* **timeZone**\n\nThe required parameters to add a service account are:\n\n* **username**\n* **accessKeyName**\n* **accessKeyExpiration** (Required only if **enableKeyExpiration** is **true**)\n* **defaultRoleId**\n* **timeZone**\n"
operationId: add-user-v3
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserAccountModel'
description: Model for User Account
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserAccessKeyResponseModel'
description: successful operation
'400':
description: empty_user_profile_provided / missing_email / wrong_email_format / missing_first_name / missing_time_zoneinvalid_time_zone / missing_required_parameter / no_role_assigned_to_user / exceeding_role_limit_number / default_role_not_belonging_to_user_role_list / invalid_user_role
'409':
description: duplicate_user_name
'500':
description: failed_add_user_profile
security:
- x-redlock-auth: []
summary: Add User Profile V3
tags:
- User Profile
servers:
- url: https://api.prismacloud.io
- url: https://api2.prismacloud.io
- url: https://api3.prismacloud.io
- url: https://api4.prismacloud.io
/v2/user:
get:
description: Returns a list of all the users belonging to the same tenant. Response includes multiple roles assigned to each user.
operationId: get-user-profiles-v2
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/UserProfileModel'
type: array
description: successful operation
'500':
description: failed_fetch_user_profile
security:
- x-redlock-auth: []
summary: List Users V2
tags:
- User Profile
post:
description: Adds a new administrative user. Supports multiple roles for a single user.
operationId: add-user-v2
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MultiRoleUserProfile1'
description: Model containing user profile
required: true
responses:
'200':
description: successful operation
'400':
description: empty_user_profile_provided / missing_email / wrong_email_format / missing_first_name / missing_time_zoneinvalid_time_zone / missing_required_parameter / no_role_assigned_to_user / exceeding_role_limit_number / default_role_not_belonging_to_user_role_list / invalid_user_role
'409':
description: duplicate_user_name
'500':
description: failed_add_user_profile
security:
- x-redlock-auth: []
summary: Add User Profile V2
tags:
- User Profile
servers:
- url: https://api.prismacloud.io
- url: https://api2.prismacloud.io
- url: https://api3.prismacloud.io
- url: https://api4.prismacloud.io
/v2/user/{id}:
get:
description: Returns the user profile for the specified email ID. Supports multiple roles for a single user.
operationId: get-user-profile-v2
parameters:
- description: User email
in: path
name: id
required: true
schema:
pattern: .+
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserProfileModel'
description: successful operation
'400':
description: user_inactive_or_not_exist
'500':
description: failed_fetch_user_profile
security:
- x-redlock-auth: []
summary: Get User Profile V2
tags:
- User Profile
put:
description: "Updates an administrative user's profile. Supports multiple roles for a single user. \n\nThe current **email** of the user whose profile you want to update is a required request parameter. All other request parameters are optional. The red **required** labels in the request body schema below apply only when you create a new user profile.\n"
operationId: update-profile-v2
parameters:
- description: User email
in: path
name: id
required: true
schema:
pattern: .+
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MultiRoleUserProfile1'
responses:
'200':
description: successful operation
'400':
description: empty_user_profile_provided / missing_first_name / missing_time_zone / invalid_time_zone / user_inactive_or_not_exist / exceeding_role_limit_number / default_role_not_belonging_to_user_role_list / invalid_user_role / invalid_user_role
'403':
description: cannot_remove_current_log_in_role
'500':
description: failed_update_user_profile
security:
- x-redlock-auth: []
summary: Update User Profile V2
tags:
- User Profile
servers:
- url: https://api.prismacloud.io
- url: https://api2.prismacloud.io
- url: https://api3.prismacloud.io
- url: https://api4.prismacloud.io
/user/{id}:
delete:
description: Deletes a user or service account profile.
operationId: delete-user
parameters:
- description: User email or service account name
in: path
name: id
required: true
schema:
pattern: .+
type: string
responses:
'200':
description: successful operation
'400':
description: user_inactive_or_not_exist
'403':
description: cannot_delete_own_profile
'500':
description: internal_error
security:
- x-redlock-auth: []
summary: Delete User Profile
tags:
- User Profile
servers:
- url: https://api.prismacloud.io
- url: https://api2.prismacloud.io
- url: https://api3.prismacloud.io
- url: https://api4.prismacloud.io
/user/{id}/status/{enabled}:
patch:
description: Enables or disables a user profile.
operationId: update-user-profile
parameters:
- description: User email
in: path
name: id
required: true
schema:
pattern: .+
type: string
- description: Status to set
in: path
name: enabled
required: true
schema:
type: boolean
responses:
'200':
description: successful operation
security:
- x-redlock-auth: []
summary: Update User Status
tags:
- User Profile
servers:
- url: https://api.prismacloud.io
- url: https://api2.prismacloud.io
- url: https://api3.prismacloud.io
- url: https://api4.prismacloud.io
/user/name:
get:
description: Returns a list of emails for all non-deleted users in the system.
operationId: get-usernames
responses:
'200':
content:
application/json:
schema:
items:
additionalProperties:
type: string
type: object
type: array
description: successful operation
'500':
description: failed_fetch_users_emails
security:
- x-redlock-auth: []
summary: List User Emails
tags:
- User Profile
servers:
- url: https://api.prismacloud.io
- url: https://api2.prismacloud.io
- url: https://api3.prismacloud.io
- url: https://api4.prismacloud.io
/user/domain:
get:
description: Returns a list of domains in allow list.
operationId: email-domains
responses:
'200':
content:
application/json:
schema:
items:
type: string
type: array
description: successful operation
'400':
description: no_user_added
'500':
description: failed_fetch_email_domain_allow_list
security:
- x-redlock-auth: []
summary: List Email Domains
tags:
- User Profile
servers:
- url: https://api.prismacloud.io
- url: https://api2.prismacloud.io
- url: https://api3.prismacloud.io
- url: https://api4.prismacloud.io
/user/saml/bypass:
get:
description: "Returns a list of users who can log in via both SAML provider and username/password flows. \n\nThe request body is an array of emails to be bypassed.\n```\n [ \"jon.snow@example.com\", \"daenerys@example.com\" ]\n```\n"
operationId: get-sso-bypass-allowed-users
responses:
'200':
content:
application/json:
schema:
items:
type: string
type: array
uniqueItems: true
description: successful operation
'500':
description: failed_fetch_sso_bypass_allowed_users
security:
- x-redlock-auth: []
summary: List SSO Bypass Allowed Users
tags:
- User Profile
put:
description: Given a list of Prisma Cloud user emails, enables each user in the list to log into Prisma Cloud through either a SAML provider or direct user name and password entry.
operationId: update-sso-bypass-allowed-users
requestBody:
content:
application/json:
schema:
items:
type: string
type: array
description: SSO Bypass allowed users
required: true
responses:
'200':
description: successful operation
'400':
description: missing_sso_bypass_allowed_users
'500':
description: failed_update_sso_bypass_allowed_users
security:
- x-redlock-auth: []
summary: Update SSO Bypass Allowed Users
tags:
- User Profile
servers:
- url: https://api.prismacloud.io
- url: https://api2.prismacloud.io
- url: https://api3.prismacloud.io
- url: https://api4.prismacloud.io
components:
schemas:
UserProfileModel:
description: Model containing user profile
properties:
accessKeysAllowed:
description: Access keys allowed
type: boolean
displayName:
description: Display name
readOnly: true
type: string
email:
description: Email ID
type: string
enabled:
description: Enabled
readOnly: true
type: boolean
firstName:
description: First name. Maximum length is 300 characters.
type: string
lastLoginTs:
description: Last login time
format: int64
readOnly: true
type: integer
lastModifiedBy:
description: Last modified by
readOnly: true
type: string
lastModifiedTs:
description: Time profile was last updated
format: int64
readOnly: true
type: integer
lastName:
description: Last name. Maximum length is 300 characters.
type: string
role:
additionalProperties:
type: string
description: Role
readOnly: true
type: object
roleId:
description: Role ID
type: string
roleType:
description: Role type
readOnly: true
type: string
timeZone:
description: Time zone (e.g. America/Los_Angeles)
type: string
required:
- email
- firstName
- lastName
- roleId
- timeZone
type: object
UserAccountModel:
description: Model for User Account
properties:
accessKeyExpiration:
description: Access key expiration timestamp in milliseconds
format: int64
type: integer
accessKeyName:
description: Access key name
type: string
accessKeysAllowed:
description: Access keys allowed
type: boolean
accessKeysCount:
description: Access key count
format: int32
readOnly: true
type: integer
activeRole:
allOf:
- $ref: '#/components/schemas/UserProfileRoleDetailModel'
- description: Active Role Info
readOnly: true
defaultRoleId:
description: Default Role ID
type: string
displayName:
description: Display name
readOnly: true
type: string
email:
description: Email ID
type: string
enableKeyExpiration:
description: true = Enable access key expiration. Default is false.
type: boolean
enabled:
description: Enabled
readOnly: true
type: boolean
firstName:
description: First name. Maximum length is 300 characters.
type: string
lastLoginTs:
description: Last login time
format: int64
readOnly: true
type: integer
lastModifiedBy:
description: Last modified by
readOnly: true
type: string
lastModifiedTs:
description: Time profile was last updated
format: int64
readOnly: true
type: integer
lastName:
description: Last name. Maximum length is 300 characters.
type: string
roleIds:
description: Role IDs
items:
type: string
type: array
roles:
description: All Role Info
items:
$ref: '#/components/schemas/UserProfileRoleDetailModel'
readOnly: true
type: array
timeZone:
description: Time zone (e.g. America/Los_Angeles)
type: string
type:
description: User type. Default is USER_ACCOUNT.
enum:
- USER_ACCOUNT
- SERVICE_ACCOUNT
type: string
username:
description: User or service account name. Maximum length is 300 characters.
type: string
type: object
CreateUserAccessKeyResponseModel:
description: Model for create user access key response
properties:
id:
description: Access key ID
type: string
secretKey:
description: Access key secret
type: string
type: object
UserProfileRoleDetailModel:
description: Model for User Profile Role Detail
properties:
id:
description: User Role ID
readOnly: true
type: string
name:
description: User Role Name
readOnly: true
type: string
onlyAllowCIAccess:
description: true = Allow only CI Access for Build and Deploy security roles
readOnly: true
type: boolean
onlyAllowComputeAccess:
description: true = Allow only Compute Access for reduced system admin roles
readOnly: true
type: boolean
onlyAllowReadAccess:
description: true = Allow only Read Access for
readOnly: true
type: boolean
type:
description: User Role Type (Default or Custom Permission Group Name).
readOnly: true
type: string
type: object
MultiRoleUserProfile1:
description: Model containing user profile
properties:
accessKeysAllowed:
description: Access keys allowed
type: boolean
activeRole:
allOf:
- $ref: '#/components/schemas/UserProfileRoleDetailModel'
- description: Active Role Info
readOnly: true
defaultRoleId:
description: Default Role ID
type: string
displayName:
description: Display name
readOnly: true
type: string
email:
description: Email ID
type: string
enabled:
description: Enabled
readOnly: true
type: boolean
firstName:
description: First name. Maximum length is 300 characters.
type: string
lastLoginTs:
description: Last login time
format: int64
readOnly: true
type: integer
lastModifiedBy:
description: Last modified by
readOnly: true
type: string
lastModifiedTs:
description: Time profile was last updated
format: int64
readOnly: true
type: integer
lastName:
description: Last name. Maximum length is 300 characters.
type: string
roleIds:
description: Role IDs
items:
type: string
type: array
roles:
description: All Role Info
items:
$ref: '#/components/schemas/UserProfileRoleDetailModel'
readOnly: true
type: array
timeZone:
description: Time zone (e.g. America/Los_Angeles)
type: string
required:
- defaultRoleId
- email
- firstName
- lastName
- roleIds
- timeZone
type: object
MultiRoleUserProfile:
description: Model containing user profile
properties:
accessKeysAllowed:
description: Access keys allowed
type: boolean
activeRole:
allOf:
- $ref: '#/components/schemas/UserProfileRoleDetailModel'
- description: Active Role Info
readOnly: true
defaultRoleId:
description: Default Role ID
type: string
displayName:
description: Display name
readOnly: true
type: string
email:
description: Email ID
type: string
enabled:
description: Enabled
readOnly: true
type: boolean
firstName:
description: First name. Maximum length is 300 characters.
type: string
lastLoginTs:
description: Last login time
format: int64
readOnly: true
type: integer
lastModifiedBy:
description: Last modified by
readOnly: true
type: string
lastModifiedTs:
description: Time profile was last updated
format: int64
readOnly: true
type: integer
lastName:
description: Last name. Maximum length is 300 characters.
type: string
roleIds:
description: Role IDs
items:
type: string
type: array
roles:
description: All Role Info
items:
$ref: '#/components/schemas/UserProfileRoleDetailModel'
readOnly: true
type: array
timeZone:
description: Time zone (e.g. America/Los_Angeles)
type: string
required:
- defaultRoleId
- email
- firstName
- lastName
- roleIds
- timeZone
type: object
securitySchemes:
x-redlock-auth:
description: The x-redlock-auth value is a JSON Web Token (JWT).
in: header
name: x-redlock-auth
type: apiKey
x-refined-from:
- palo-alto-cspm-consolidated-spec-cspm-spec-openapi.json
- palo-alto-cspm-userprofile-openapi.json