Some checks failed
Server CI / Postgres (shard 0) (push) Has been skipped
Server CI / Postgres (shard 3) (push) Has been skipped
BuildEnv Docker Image / build-image (push) Failing after 4s
BuildEnv Docker Image / build-image-fips (push) Failing after 4s
Migration Review & Release Notes / Generate migration review & release notes (push) Failing after 3s
Server CI / Build Environment (push) Failing after 3s
Server CI / Postgres (shard 1) (push) Has been skipped
Tools CI / check-style (mattermost-govet) (push) Failing after 4s
Server CI / Postgres (shard 2) (push) Has been skipped
Tools CI / check-style (mmgotool) (push) Failing after 3s
Server CI / Elasticsearch v8 Compatibility (push) Has been skipped
Server CI / OpenSearch v2 Compatibility (push) Has been skipped
Server CI / Postgres FIPS (shard 0) (push) Has been skipped
Tools CI / Test (mattermost-govet) (push) Failing after 3s
Server CI / Postgres FIPS (shard 1) (push) Has been skipped
Server CI / Postgres FIPS (shard 2) (push) Has been skipped
Tools CI / Test (mmgotool) (push) Failing after 3s
Server CI / Postgres FIPS (shard 3) (push) Has been skipped
Server CI / Run mmctl tests (push) Has been skipped
Server CI / Run mmctl tests (FIPS) (push) Has been skipped
Server CI / Merge Postgres Test Results (push) Has been skipped
Server CI / Merge Postgres FIPS Test Results (push) Has been skipped
Server CI / Check backport migrations (push) Has been skipped
Server CI / Check generated files (push) Has been skipped
Server CI / check-style (push) Has been skipped
Server CI / Vet API (push) Has been skipped
Server CI / Build mattermost server app (push) Has been skipped
Server CI / Server CI Complete (push) Failing after 2s
Server CI / Server CI Artifacts (push) Has been skipped
Server CI / Sentry Upload (push) Has been skipped
Server CI / Server CI Report (push) Failing after 5m1s
Server CI Nightly Race / Race Detector (push) Has been skipped
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Webapp CI Cache Warm / Warm Webapp node_modules Cache (push) Has been cancelled
E2E CI Cache Warm / Warm E2E npm Registry Cache (push) Has been cancelled
API / build (push) Has been cancelled
Web App CI / check-types (push) Has been cancelled
Web App CI / check-lint (push) Has been cancelled
Web App CI / check-i18n (push) Has been cancelled
Web App CI / check-external-links (push) Has been cancelled
Web App CI / test (platform) (push) Has been cancelled
Web App CI / test (mattermost-redux) (push) Has been cancelled
Web App CI / test (channels shard 1/4) (push) Has been cancelled
Web App CI / test (channels shard 2/4) (push) Has been cancelled
Web App CI / test (channels shard 3/4) (push) Has been cancelled
Web App CI / test (channels shard 4/4) (push) Has been cancelled
Web App CI / upload-coverage (push) Has been cancelled
Web App CI / build (push) Has been cancelled
YAML Lint / yamllint (push) Has been cancelled
Push mirrored docker images / cd/Push mirrored docker images (push) Has been cancelled
docs-cd / Build and deploy docs (push) Has been cancelled
Docs CI / build (push) Has been cancelled
E2E Cache Warm: Cypress deps / Warm Cypress deps cache (push) Has been cancelled
Scorecards supply-chain security / Scorecard analysis (push) Has been cancelled
Server CI Weekly / Postgres FIPS (push) Has been skipped
Server CI Weekly / Run mmctl tests (FIPS) (push) Has been skipped
Server CI Weekly / Postgres with binary parameters (push) Has been skipped
Server CI Weekly / Build Environment (push) Failing after 1s
Server CI Nightly Race / Build Environment (push) Failing after 1s
Server CI Cache Warm / Warm Go Module and Build Cache (push) Failing after 2s
472 lines
16 KiB
YAML
472 lines
16 KiB
YAML
"/api/v4/custom_profile_attributes/fields":
|
|
get:
|
|
tags:
|
|
- custom profile attributes
|
|
summary: List all the Custom Profile Attributes fields
|
|
description: |
|
|
List all the Custom Profile Attributes fields.
|
|
|
|
__Minimum server version__: 10.5
|
|
|
|
##### Permissions
|
|
Must be authenticated.
|
|
operationId: ListAllCPAFields
|
|
responses:
|
|
"200":
|
|
description: Custom Profile Attributes fetch successful. Result may be empty.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/PropertyField"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
post:
|
|
tags:
|
|
- custom profile attributes
|
|
summary: Create a Custom Profile Attribute field
|
|
description: |
|
|
Create a new Custom Profile Attribute field on the system.
|
|
|
|
__Minimum server version__: 10.5
|
|
|
|
##### Permissions
|
|
Must have `manage_system` permission.
|
|
operationId: CreateCPAField
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- name
|
|
- type
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: >
|
|
The internal identifier for this attribute. Must match
|
|
`^[A-Za-z_][A-Za-z0-9_]*$` and must not be a CEL reserved
|
|
word (true, false, null, in, as, break, const, continue, else,
|
|
for, function, if, import, let, loop, package, namespace,
|
|
return, var, void, while). This name is used in ABAC policy
|
|
expressions as `user.attributes.<name>`.
|
|
type:
|
|
type: string
|
|
attrs:
|
|
type: object
|
|
properties:
|
|
visibility:
|
|
type: string
|
|
description: "Visibility of the attribute"
|
|
enum: ["hidden", "when_set", "always"]
|
|
default: "when_set"
|
|
sort_order:
|
|
type: number
|
|
description: "Sort order for displaying this attribute"
|
|
options:
|
|
type: array
|
|
description: "Options for select/multiselect fields"
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
color:
|
|
type: string
|
|
value_type:
|
|
type: string
|
|
description: "Type of text value"
|
|
enum: ["email", "url", "phone"]
|
|
ldap:
|
|
type: string
|
|
description: "LDAP attribute for syncing"
|
|
saml:
|
|
type: string
|
|
description: "SAML attribute for syncing"
|
|
protected:
|
|
type: boolean
|
|
description: "If true, the field is read-only and cannot be modified."
|
|
source_plugin_id:
|
|
type: string
|
|
description: "The ID of the plugin that created this field. This attribute cannot be changed."
|
|
access_mode:
|
|
type: string
|
|
description: "Access mode of the field"
|
|
enum: ["", "source_only", "shared_only"]
|
|
default: ""
|
|
display_name:
|
|
type: string
|
|
description: >
|
|
Human-readable label shown in the UI. Defaults to the field
|
|
`name` when omitted or empty. Maximum 255 characters.
|
|
responses:
|
|
"201":
|
|
description: Custom Profile Attribute field creation successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PropertyField"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"422":
|
|
description: >
|
|
Validation error. Returned when `name` does not match the
|
|
required identifier pattern, is a CEL reserved word, or when
|
|
`attrs.display_name` exceeds 255 characters.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AppError"
|
|
|
|
"/api/v4/custom_profile_attributes/fields/{field_id}":
|
|
patch:
|
|
tags:
|
|
- custom profile attributes
|
|
summary: Patch a Custom Profile Attribute field
|
|
description: |
|
|
Partially update a Custom Profile Attribute field by providing
|
|
only the fields you want to update. Omitted fields will not be
|
|
updated. The fields that can be updated are defined in the
|
|
request body, all other provided fields will be ignored.
|
|
|
|
**Note:** Fields with `attrs.protected = true` cannot be
|
|
modified and will return an error.
|
|
|
|
__Minimum server version__: 10.5
|
|
|
|
##### Permissions
|
|
Must have `manage_system` permission.
|
|
operationId: PatchCPAField
|
|
parameters:
|
|
- name: field_id
|
|
in: path
|
|
description: Custom Profile Attribute field GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
description: Custom Profile Attribute field that is to be updated
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: >
|
|
New name for the attribute. When changed, must match
|
|
`^[A-Za-z_][A-Za-z0-9_]*$` and must not be a CEL reserved
|
|
word. Pre-existing fields with non-conforming names remain
|
|
patchable on all other attributes; the validation only fires
|
|
when `name` actually changes.
|
|
type:
|
|
type: string
|
|
attrs:
|
|
type: object
|
|
properties:
|
|
visibility:
|
|
type: string
|
|
description: "Visibility of the attribute"
|
|
enum: ["hidden", "when_set", "always"]
|
|
default: "when_set"
|
|
sort_order:
|
|
type: number
|
|
description: "Sort order for displaying this attribute"
|
|
options:
|
|
type: array
|
|
description: "Options for select/multiselect fields"
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
color:
|
|
type: string
|
|
value_type:
|
|
type: string
|
|
description: "Type of text value"
|
|
enum: ["email", "url", "phone"]
|
|
ldap:
|
|
type: string
|
|
description: "LDAP attribute for syncing"
|
|
saml:
|
|
type: string
|
|
description: "SAML attribute for syncing"
|
|
protected:
|
|
type: boolean
|
|
description: "If true, the field is read-only and cannot be modified."
|
|
source_plugin_id:
|
|
type: string
|
|
description: "The ID of the plugin that created this field. This attribute cannot be changed."
|
|
access_mode:
|
|
type: string
|
|
description: "Access mode of the field"
|
|
enum: ["", "source_only", "shared_only"]
|
|
default: ""
|
|
display_name:
|
|
type: string
|
|
description: >
|
|
Human-readable label shown in the UI. Maximum 255 characters.
|
|
responses:
|
|
"200":
|
|
description: Custom Profile Attribute field patch successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PropertyField"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"422":
|
|
description: >
|
|
Validation error. Returned when a `name` change does not match
|
|
the required identifier pattern, is a CEL reserved word, or
|
|
when `attrs.display_name` exceeds 255 characters.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/AppError"
|
|
|
|
delete:
|
|
tags:
|
|
- custom profile attributes
|
|
summary: Delete a Custom Profile Attribute field
|
|
description: |
|
|
Marks a Custom Profile Attribute field and all its values as
|
|
deleted.
|
|
|
|
__Minimum server version__: 10.5
|
|
|
|
##### Permissions
|
|
Must have `manage_system` permission.
|
|
operationId: DeleteCPAField
|
|
parameters:
|
|
- name: field_id
|
|
in: path
|
|
description: Custom Profile Attribute field GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Custom Profile Attribute field deletion successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StatusOK"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
"/api/v4/custom_profile_attributes/values":
|
|
patch:
|
|
tags:
|
|
- custom profile attributes
|
|
summary: Patch Custom Profile Attribute values
|
|
description: |
|
|
Partially update a set of values on the requester's Custom
|
|
Profile Attribute fields by providing only the information you
|
|
want to update. Omitted fields will not be updated. The fields
|
|
that can be updated are defined in the request body, all other
|
|
provided fields will be ignored.
|
|
|
|
**Note:** Values for fields with `attrs.protected = true` cannot be
|
|
updated and will return an error.
|
|
|
|
__Minimum server version__: 10.5
|
|
|
|
##### Permissions
|
|
Must be authenticated.
|
|
operationId: PatchCPAValues
|
|
requestBody:
|
|
description: Custom Profile Attribute values that are to be updated
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
value:
|
|
oneOf:
|
|
- type: string
|
|
- type: array
|
|
items:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Custom Profile Attribute values patch successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
value:
|
|
oneOf:
|
|
- type: string
|
|
- type: array
|
|
items:
|
|
type: string
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"/api/v4/custom_profile_attributes/group":
|
|
get:
|
|
tags:
|
|
- custom profile attributes
|
|
summary: Get Custom Profile Attribute property group data
|
|
description: |
|
|
Get the property group used for Custom Profile Attributes.
|
|
|
|
__Minimum server version__: 10.8
|
|
|
|
##### Permissions
|
|
Must be authenticated.
|
|
operationId: GetCPAGroup
|
|
responses:
|
|
"200":
|
|
description: Group fetch successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
description: The ID of the custom profile attributes group
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
"/api/v4/users/{user_id}/custom_profile_attributes":
|
|
get:
|
|
tags:
|
|
- custom profile attributes
|
|
summary: List Custom Profile Attribute values
|
|
description: |
|
|
List all the Custom Profile Attributes values for specified user.
|
|
|
|
__Minimum server version__: 10.5
|
|
|
|
##### Permissions
|
|
Must have `view members` permission.
|
|
operationId: ListCPAValues
|
|
parameters:
|
|
- name: user_id
|
|
in: path
|
|
description: User GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Custom Profile Attribute values fetch successful. Result may be empty.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
field_id:
|
|
type: string
|
|
value:
|
|
type: string
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
patch:
|
|
tags:
|
|
- custom profile attributes
|
|
summary: Update custom profile attribute values for a user
|
|
description: |
|
|
Update Custom Profile Attribute field values for a specific user.
|
|
|
|
**Note:** Values for fields with `attrs.protected = true` cannot be
|
|
updated and will return an error.
|
|
|
|
__Minimum server version__: 11
|
|
|
|
##### Permissions
|
|
Must have permission to edit the user. Users can only edit their own CPA values unless they are system administrators.
|
|
parameters:
|
|
- name: user_id
|
|
in: path
|
|
description: User GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
operationId: PatchCPAValuesForUser
|
|
requestBody:
|
|
description: Custom Profile Attribute values that are to be updated
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
value:
|
|
oneOf:
|
|
- type: string
|
|
- type: array
|
|
items:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Custom profile attribute values updated successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
value:
|
|
oneOf:
|
|
- type: string
|
|
- type: array
|
|
items:
|
|
type: string
|
|
'400':
|
|
$ref: '#/components/responses/BadRequest'
|
|
'403':
|
|
$ref: '#/components/responses/Forbidden'
|
|
'404':
|
|
$ref: '#/components/responses/NotFound'
|