@iblai/iblai-api 4.243.2-core → 4.245.0-core

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/index.cjs.js +293 -1
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +294 -2
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.umd.js +293 -1
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/types/index.d.ts +10 -0
  8. package/dist/types/models/DemographicsFieldDefinition.d.ts +45 -0
  9. package/dist/types/models/DemographicsFieldDefinitionWrite.d.ts +42 -0
  10. package/dist/types/models/DisabilityStatusEnum.d.ts +10 -0
  11. package/dist/types/models/EthnicityEnum.d.ts +22 -0
  12. package/dist/types/models/FieldDefinitionImport.d.ts +4 -0
  13. package/dist/types/models/FieldTypeEnum.d.ts +16 -0
  14. package/dist/types/models/GenderEnum.d.ts +14 -0
  15. package/dist/types/models/PatchedDemographicsFieldDefinitionWrite.d.ts +42 -0
  16. package/dist/types/models/UserDemographicsResponse.d.ts +58 -0
  17. package/dist/types/models/UserDemographicsWrite.d.ts +58 -0
  18. package/dist/types/services/CoreService.d.ts +107 -0
  19. package/package.json +1 -1
  20. package/sdk_schema.yml +708 -1
  21. package/src/core/OpenAPI.ts +1 -1
  22. package/src/index.ts +10 -0
  23. package/src/models/DemographicsFieldDefinition.ts +50 -0
  24. package/src/models/DemographicsFieldDefinitionWrite.ts +47 -0
  25. package/src/models/DisabilityStatusEnum.ts +14 -0
  26. package/src/models/EthnicityEnum.ts +26 -0
  27. package/src/models/FieldDefinitionImport.ts +9 -0
  28. package/src/models/FieldTypeEnum.ts +20 -0
  29. package/src/models/GenderEnum.ts +18 -0
  30. package/src/models/PatchedDemographicsFieldDefinitionWrite.ts +47 -0
  31. package/src/models/UserDemographicsResponse.ts +63 -0
  32. package/src/models/UserDemographicsWrite.ts +63 -0
  33. package/src/services/CoreService.ts +250 -0
package/sdk_schema.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  openapi: 3.0.3
2
2
  info:
3
3
  title: ibl-data-manager
4
- version: 4.243.2-core
4
+ version: 4.245.0-core
5
5
  description: API for iblai
6
6
  paths:
7
7
  /access-check/{item_type}/{item_id}/:
@@ -17802,6 +17802,352 @@ paths:
17802
17802
  schema:
17803
17803
  $ref: '#/components/schemas/UserPolicyUpdateForbidden'
17804
17804
  description: ''
17805
+ /api/core/platforms/{platform_key}/{username}/demographics/:
17806
+ get:
17807
+ operationId: core_platforms_demographics_retrieve
17808
+ description: Retrieve demographics for a user. Self-access or platform admin
17809
+ required.
17810
+ parameters:
17811
+ - in: path
17812
+ name: platform_key
17813
+ schema:
17814
+ type: string
17815
+ required: true
17816
+ - in: path
17817
+ name: username
17818
+ schema:
17819
+ type: string
17820
+ required: true
17821
+ tags:
17822
+ - core
17823
+ security:
17824
+ - PlatformApiKeyAuthentication: []
17825
+ responses:
17826
+ '200':
17827
+ content:
17828
+ application/json:
17829
+ schema:
17830
+ $ref: '#/components/schemas/UserDemographicsResponse'
17831
+ description: ''
17832
+ put:
17833
+ operationId: core_platforms_demographics_update
17834
+ description: Create or update demographics for a user. Self-access or platform
17835
+ admin required.
17836
+ parameters:
17837
+ - in: path
17838
+ name: platform_key
17839
+ schema:
17840
+ type: string
17841
+ required: true
17842
+ - in: path
17843
+ name: username
17844
+ schema:
17845
+ type: string
17846
+ required: true
17847
+ tags:
17848
+ - core
17849
+ requestBody:
17850
+ content:
17851
+ application/json:
17852
+ schema:
17853
+ $ref: '#/components/schemas/UserDemographicsWrite'
17854
+ application/scim+json:
17855
+ schema:
17856
+ $ref: '#/components/schemas/UserDemographicsWrite'
17857
+ application/x-www-form-urlencoded:
17858
+ schema:
17859
+ $ref: '#/components/schemas/UserDemographicsWrite'
17860
+ multipart/form-data:
17861
+ schema:
17862
+ $ref: '#/components/schemas/UserDemographicsWrite'
17863
+ '*/*':
17864
+ schema:
17865
+ $ref: '#/components/schemas/UserDemographicsWrite'
17866
+ security:
17867
+ - PlatformApiKeyAuthentication: []
17868
+ responses:
17869
+ '200':
17870
+ content:
17871
+ application/json:
17872
+ schema:
17873
+ $ref: '#/components/schemas/UserDemographicsResponse'
17874
+ description: ''
17875
+ delete:
17876
+ operationId: core_platforms_demographics_destroy
17877
+ description: Delete demographics for a user. Self-access or platform admin required.
17878
+ parameters:
17879
+ - in: path
17880
+ name: platform_key
17881
+ schema:
17882
+ type: string
17883
+ required: true
17884
+ - in: path
17885
+ name: username
17886
+ schema:
17887
+ type: string
17888
+ required: true
17889
+ tags:
17890
+ - core
17891
+ security:
17892
+ - PlatformApiKeyAuthentication: []
17893
+ responses:
17894
+ '204':
17895
+ description: No response body
17896
+ /api/core/platforms/{platform_key}/demographics/fields/:
17897
+ get:
17898
+ operationId: core_platforms_demographics_fields_list
17899
+ parameters:
17900
+ - in: path
17901
+ name: platform_key
17902
+ schema:
17903
+ type: string
17904
+ required: true
17905
+ tags:
17906
+ - core
17907
+ security:
17908
+ - PlatformApiKeyAuthentication: []
17909
+ responses:
17910
+ '200':
17911
+ content:
17912
+ application/json:
17913
+ schema:
17914
+ type: array
17915
+ items:
17916
+ $ref: '#/components/schemas/DemographicsFieldDefinition'
17917
+ description: ''
17918
+ post:
17919
+ operationId: core_platforms_demographics_fields_create
17920
+ description: Create a custom demographics field definition for the platform.
17921
+ parameters:
17922
+ - in: path
17923
+ name: platform_key
17924
+ schema:
17925
+ type: string
17926
+ required: true
17927
+ tags:
17928
+ - core
17929
+ requestBody:
17930
+ content:
17931
+ application/json:
17932
+ schema:
17933
+ $ref: '#/components/schemas/DemographicsFieldDefinitionWrite'
17934
+ application/scim+json:
17935
+ schema:
17936
+ $ref: '#/components/schemas/DemographicsFieldDefinitionWrite'
17937
+ application/x-www-form-urlencoded:
17938
+ schema:
17939
+ $ref: '#/components/schemas/DemographicsFieldDefinitionWrite'
17940
+ multipart/form-data:
17941
+ schema:
17942
+ $ref: '#/components/schemas/DemographicsFieldDefinitionWrite'
17943
+ '*/*':
17944
+ schema:
17945
+ $ref: '#/components/schemas/DemographicsFieldDefinitionWrite'
17946
+ required: true
17947
+ security:
17948
+ - PlatformApiKeyAuthentication: []
17949
+ responses:
17950
+ '201':
17951
+ content:
17952
+ application/json:
17953
+ schema:
17954
+ $ref: '#/components/schemas/DemographicsFieldDefinition'
17955
+ description: ''
17956
+ /api/core/platforms/{platform_key}/demographics/fields/{slug}/:
17957
+ get:
17958
+ operationId: core_platforms_demographics_fields_retrieve
17959
+ parameters:
17960
+ - in: path
17961
+ name: platform_key
17962
+ schema:
17963
+ type: string
17964
+ required: true
17965
+ - in: path
17966
+ name: slug
17967
+ schema:
17968
+ type: string
17969
+ description: URL-safe identifier used as the key in custom_fields payloads.
17970
+ required: true
17971
+ tags:
17972
+ - core
17973
+ security:
17974
+ - PlatformApiKeyAuthentication: []
17975
+ responses:
17976
+ '200':
17977
+ content:
17978
+ application/json:
17979
+ schema:
17980
+ $ref: '#/components/schemas/DemographicsFieldDefinition'
17981
+ description: ''
17982
+ put:
17983
+ operationId: core_platforms_demographics_fields_update
17984
+ description: Update a custom demographics field definition.
17985
+ parameters:
17986
+ - in: path
17987
+ name: platform_key
17988
+ schema:
17989
+ type: string
17990
+ required: true
17991
+ - in: path
17992
+ name: slug
17993
+ schema:
17994
+ type: string
17995
+ description: URL-safe identifier used as the key in custom_fields payloads.
17996
+ required: true
17997
+ tags:
17998
+ - core
17999
+ requestBody:
18000
+ content:
18001
+ application/json:
18002
+ schema:
18003
+ $ref: '#/components/schemas/DemographicsFieldDefinitionWrite'
18004
+ application/scim+json:
18005
+ schema:
18006
+ $ref: '#/components/schemas/DemographicsFieldDefinitionWrite'
18007
+ application/x-www-form-urlencoded:
18008
+ schema:
18009
+ $ref: '#/components/schemas/DemographicsFieldDefinitionWrite'
18010
+ multipart/form-data:
18011
+ schema:
18012
+ $ref: '#/components/schemas/DemographicsFieldDefinitionWrite'
18013
+ '*/*':
18014
+ schema:
18015
+ $ref: '#/components/schemas/DemographicsFieldDefinitionWrite'
18016
+ required: true
18017
+ security:
18018
+ - PlatformApiKeyAuthentication: []
18019
+ responses:
18020
+ '200':
18021
+ content:
18022
+ application/json:
18023
+ schema:
18024
+ $ref: '#/components/schemas/DemographicsFieldDefinition'
18025
+ description: ''
18026
+ patch:
18027
+ operationId: core_platforms_demographics_fields_partial_update
18028
+ description: Partially update a custom demographics field definition.
18029
+ parameters:
18030
+ - in: path
18031
+ name: platform_key
18032
+ schema:
18033
+ type: string
18034
+ required: true
18035
+ - in: path
18036
+ name: slug
18037
+ schema:
18038
+ type: string
18039
+ description: URL-safe identifier used as the key in custom_fields payloads.
18040
+ required: true
18041
+ tags:
18042
+ - core
18043
+ requestBody:
18044
+ content:
18045
+ application/json:
18046
+ schema:
18047
+ $ref: '#/components/schemas/PatchedDemographicsFieldDefinitionWrite'
18048
+ application/scim+json:
18049
+ schema:
18050
+ $ref: '#/components/schemas/PatchedDemographicsFieldDefinitionWrite'
18051
+ application/x-www-form-urlencoded:
18052
+ schema:
18053
+ $ref: '#/components/schemas/PatchedDemographicsFieldDefinitionWrite'
18054
+ multipart/form-data:
18055
+ schema:
18056
+ $ref: '#/components/schemas/PatchedDemographicsFieldDefinitionWrite'
18057
+ '*/*':
18058
+ schema:
18059
+ $ref: '#/components/schemas/PatchedDemographicsFieldDefinitionWrite'
18060
+ security:
18061
+ - PlatformApiKeyAuthentication: []
18062
+ responses:
18063
+ '200':
18064
+ content:
18065
+ application/json:
18066
+ schema:
18067
+ $ref: '#/components/schemas/DemographicsFieldDefinition'
18068
+ description: ''
18069
+ delete:
18070
+ operationId: core_platforms_demographics_fields_destroy
18071
+ parameters:
18072
+ - in: path
18073
+ name: platform_key
18074
+ schema:
18075
+ type: string
18076
+ required: true
18077
+ - in: path
18078
+ name: slug
18079
+ schema:
18080
+ type: string
18081
+ description: URL-safe identifier used as the key in custom_fields payloads.
18082
+ required: true
18083
+ tags:
18084
+ - core
18085
+ security:
18086
+ - PlatformApiKeyAuthentication: []
18087
+ responses:
18088
+ '204':
18089
+ description: No response body
18090
+ /api/core/platforms/{platform_key}/demographics/fields/export/:
18091
+ get:
18092
+ operationId: core_platforms_demographics_fields_export_list
18093
+ description: Export all field definitions for the platform as JSON or CSV.
18094
+ parameters:
18095
+ - in: query
18096
+ name: export_format
18097
+ schema:
18098
+ type: string
18099
+ enum:
18100
+ - csv
18101
+ - json
18102
+ default: json
18103
+ description: 'Export format: json or csv'
18104
+ - in: path
18105
+ name: platform_key
18106
+ schema:
18107
+ type: string
18108
+ required: true
18109
+ tags:
18110
+ - core
18111
+ security:
18112
+ - PlatformApiKeyAuthentication: []
18113
+ responses:
18114
+ '200':
18115
+ content:
18116
+ application/json:
18117
+ schema:
18118
+ type: array
18119
+ items:
18120
+ $ref: '#/components/schemas/DemographicsFieldDefinition'
18121
+ description: ''
18122
+ /api/core/platforms/{platform_key}/demographics/fields/import/:
18123
+ post:
18124
+ operationId: core_platforms_demographics_fields_import_create
18125
+ description: Import field definitions from JSON or CSV file. Returns 207 on
18126
+ partial success.
18127
+ parameters:
18128
+ - in: path
18129
+ name: platform_key
18130
+ schema:
18131
+ type: string
18132
+ required: true
18133
+ tags:
18134
+ - core
18135
+ requestBody:
18136
+ content:
18137
+ application/json:
18138
+ schema:
18139
+ $ref: '#/components/schemas/FieldDefinitionImport'
18140
+ multipart/form-data:
18141
+ schema:
18142
+ $ref: '#/components/schemas/FieldDefinitionImport'
18143
+ application/x-www-form-urlencoded:
18144
+ schema:
18145
+ $ref: '#/components/schemas/FieldDefinitionImport'
18146
+ security:
18147
+ - PlatformApiKeyAuthentication: []
18148
+ responses:
18149
+ '201':
18150
+ description: No response body
17805
18151
  /api/core/platforms/{platform_key}/public-image-assets/:
17806
18152
  get:
17807
18153
  operationId: core_platforms_public_image_assets_list
@@ -38866,6 +39212,108 @@ components:
38866
39212
  * `completed` - Completed
38867
39213
  * `failed` - Failed
38868
39214
  * `cancelled` - Cancelled
39215
+ DemographicsFieldDefinition:
39216
+ type: object
39217
+ properties:
39218
+ id:
39219
+ type: integer
39220
+ readOnly: true
39221
+ name:
39222
+ type: string
39223
+ description: Human-readable field label displayed in forms.
39224
+ maxLength: 255
39225
+ slug:
39226
+ type: string
39227
+ description: URL-safe identifier used as the key in custom_fields payloads.
39228
+ maxLength: 255
39229
+ pattern: ^[-a-zA-Z0-9_]+$
39230
+ field_type:
39231
+ allOf:
39232
+ - $ref: '#/components/schemas/FieldTypeEnum'
39233
+ description: |-
39234
+ Data type for this field. One of: text, number, date, boolean, select, multi_select.
39235
+
39236
+ * `text` - Text
39237
+ * `number` - Number
39238
+ * `date` - Date
39239
+ * `boolean` - Boolean
39240
+ * `select` - Select
39241
+ * `multi_select` - Multi-select
39242
+ required:
39243
+ type: boolean
39244
+ description: Whether this field must be filled in by the user.
39245
+ choices:
39246
+ description: List of valid options for select/multi_select fields. Must
39247
+ be empty for other types.
39248
+ display_order:
39249
+ type: integer
39250
+ description: Sort order for rendering fields in the UI. Lower values appear
39251
+ first.
39252
+ active:
39253
+ type: boolean
39254
+ description: Inactive fields are hidden from forms and excluded from responses.
39255
+ description:
39256
+ type: string
39257
+ description: Optional description or instructions shown alongside the field.
39258
+ created_at:
39259
+ type: string
39260
+ format: date-time
39261
+ readOnly: true
39262
+ updated_at:
39263
+ type: string
39264
+ format: date-time
39265
+ readOnly: true
39266
+ required:
39267
+ - created_at
39268
+ - field_type
39269
+ - id
39270
+ - name
39271
+ - slug
39272
+ - updated_at
39273
+ DemographicsFieldDefinitionWrite:
39274
+ type: object
39275
+ properties:
39276
+ name:
39277
+ type: string
39278
+ description: Human-readable field label displayed in forms.
39279
+ maxLength: 255
39280
+ slug:
39281
+ type: string
39282
+ description: URL-safe identifier used as the key in custom_fields payloads.
39283
+ maxLength: 255
39284
+ pattern: ^[-a-zA-Z0-9_]+$
39285
+ field_type:
39286
+ allOf:
39287
+ - $ref: '#/components/schemas/FieldTypeEnum'
39288
+ description: |-
39289
+ Data type for this field. One of: text, number, date, boolean, select, multi_select.
39290
+
39291
+ * `text` - Text
39292
+ * `number` - Number
39293
+ * `date` - Date
39294
+ * `boolean` - Boolean
39295
+ * `select` - Select
39296
+ * `multi_select` - Multi-select
39297
+ required:
39298
+ type: boolean
39299
+ description: Whether this field must be filled in by the user.
39300
+ choices:
39301
+ description: List of valid options for select/multi_select fields. Must
39302
+ be empty for other types.
39303
+ display_order:
39304
+ type: integer
39305
+ description: Sort order for rendering fields in the UI. Lower values appear
39306
+ first.
39307
+ active:
39308
+ type: boolean
39309
+ description: Inactive fields are hidden from forms and excluded from responses.
39310
+ description:
39311
+ type: string
39312
+ description: Optional description or instructions shown alongside the field.
39313
+ required:
39314
+ - field_type
39315
+ - name
39316
+ - slug
38869
39317
  DesiredRole:
38870
39318
  type: object
38871
39319
  properties:
@@ -38989,6 +39437,16 @@ components:
38989
39437
  required:
38990
39438
  - display_name
38991
39439
  - id
39440
+ DisabilityStatusEnum:
39441
+ enum:
39442
+ - 'yes'
39443
+ - 'no'
39444
+ - prefer_not_to_say
39445
+ type: string
39446
+ description: |-
39447
+ * `yes` - Yes
39448
+ * `no` - No
39449
+ * `prefer_not_to_say` - Prefer not to say
38992
39450
  Education:
38993
39451
  type: object
38994
39452
  properties:
@@ -39215,6 +39673,28 @@ components:
39215
39673
  required:
39216
39674
  - message
39217
39675
  - status
39676
+ EthnicityEnum:
39677
+ enum:
39678
+ - american_indian_alaska_native
39679
+ - asian
39680
+ - black_african_american
39681
+ - hispanic_latino
39682
+ - native_hawaiian_pacific_islander
39683
+ - white
39684
+ - two_or_more
39685
+ - prefer_not_to_say
39686
+ - other
39687
+ type: string
39688
+ description: |-
39689
+ * `american_indian_alaska_native` - American Indian or Alaska Native
39690
+ * `asian` - Asian
39691
+ * `black_african_american` - Black or African American
39692
+ * `hispanic_latino` - Hispanic or Latino
39693
+ * `native_hawaiian_pacific_islander` - Native Hawaiian or Other Pacific Islander
39694
+ * `white` - White
39695
+ * `two_or_more` - Two or more races
39696
+ * `prefer_not_to_say` - Prefer not to say
39697
+ * `other` - Other
39218
39698
  Experience:
39219
39699
  type: object
39220
39700
  properties:
@@ -39352,6 +39832,33 @@ components:
39352
39832
  - provider_name
39353
39833
  - provider_name_display
39354
39834
  - updated
39835
+ FieldDefinitionImport:
39836
+ type: object
39837
+ properties:
39838
+ definitions:
39839
+ type: array
39840
+ items:
39841
+ type: object
39842
+ additionalProperties: {}
39843
+ file:
39844
+ type: string
39845
+ format: uri
39846
+ FieldTypeEnum:
39847
+ enum:
39848
+ - text
39849
+ - number
39850
+ - date
39851
+ - boolean
39852
+ - select
39853
+ - multi_select
39854
+ type: string
39855
+ description: |-
39856
+ * `text` - Text
39857
+ * `number` - Number
39858
+ * `date` - Date
39859
+ * `boolean` - Boolean
39860
+ * `select` - Select
39861
+ * `multi_select` - Multi-select
39355
39862
  FlowTypeEnum:
39356
39863
  enum:
39357
39864
  - payment_method_update
@@ -39405,6 +39912,20 @@ components:
39405
39912
  - name
39406
39913
  - username
39407
39914
  - x_gcp_marketplace_token
39915
+ GenderEnum:
39916
+ enum:
39917
+ - male
39918
+ - female
39919
+ - non_binary
39920
+ - prefer_not_to_say
39921
+ - other
39922
+ type: string
39923
+ description: |-
39924
+ * `male` - Male
39925
+ * `female` - Female
39926
+ * `non_binary` - Non-binary
39927
+ * `prefer_not_to_say` - Prefer not to say
39928
+ * `other` - Other
39408
39929
  GlobalCatalogSearchResponse:
39409
39930
  type: object
39410
39931
  description: Response serializer for GlobalCatalogSearchView
@@ -42749,6 +43270,46 @@ components:
42749
43270
  readOnly: true
42750
43271
  description: The platform key to update settings for (read-only in update
42751
43272
  context).
43273
+ PatchedDemographicsFieldDefinitionWrite:
43274
+ type: object
43275
+ properties:
43276
+ name:
43277
+ type: string
43278
+ description: Human-readable field label displayed in forms.
43279
+ maxLength: 255
43280
+ slug:
43281
+ type: string
43282
+ description: URL-safe identifier used as the key in custom_fields payloads.
43283
+ maxLength: 255
43284
+ pattern: ^[-a-zA-Z0-9_]+$
43285
+ field_type:
43286
+ allOf:
43287
+ - $ref: '#/components/schemas/FieldTypeEnum'
43288
+ description: |-
43289
+ Data type for this field. One of: text, number, date, boolean, select, multi_select.
43290
+
43291
+ * `text` - Text
43292
+ * `number` - Number
43293
+ * `date` - Date
43294
+ * `boolean` - Boolean
43295
+ * `select` - Select
43296
+ * `multi_select` - Multi-select
43297
+ required:
43298
+ type: boolean
43299
+ description: Whether this field must be filled in by the user.
43300
+ choices:
43301
+ description: List of valid options for select/multi_select fields. Must
43302
+ be empty for other types.
43303
+ display_order:
43304
+ type: integer
43305
+ description: Sort order for rendering fields in the UI. Lower values appear
43306
+ first.
43307
+ active:
43308
+ type: boolean
43309
+ description: Inactive fields are hidden from forms and excluded from responses.
43310
+ description:
43311
+ type: string
43312
+ description: Optional description or instructions shown alongside the field.
42752
43313
  PatchedMediaResource:
42753
43314
  type: object
42754
43315
  properties:
@@ -49241,6 +49802,152 @@ components:
49241
49802
  type: string
49242
49803
  required:
49243
49804
  - message
49805
+ UserDemographicsResponse:
49806
+ type: object
49807
+ properties:
49808
+ username:
49809
+ type: string
49810
+ readOnly: true
49811
+ gender:
49812
+ description: |-
49813
+ Gender identity. One of: male, female, non_binary, prefer_not_to_say, other.
49814
+
49815
+ * `male` - Male
49816
+ * `female` - Female
49817
+ * `non_binary` - Non-binary
49818
+ * `prefer_not_to_say` - Prefer not to say
49819
+ * `other` - Other
49820
+ oneOf:
49821
+ - $ref: '#/components/schemas/GenderEnum'
49822
+ - $ref: '#/components/schemas/BlankEnum'
49823
+ ethnicity:
49824
+ description: |-
49825
+ Ethnic background. See Ethnicity enum for valid values.
49826
+
49827
+ * `american_indian_alaska_native` - American Indian or Alaska Native
49828
+ * `asian` - Asian
49829
+ * `black_african_american` - Black or African American
49830
+ * `hispanic_latino` - Hispanic or Latino
49831
+ * `native_hawaiian_pacific_islander` - Native Hawaiian or Other Pacific Islander
49832
+ * `white` - White
49833
+ * `two_or_more` - Two or more races
49834
+ * `prefer_not_to_say` - Prefer not to say
49835
+ * `other` - Other
49836
+ oneOf:
49837
+ - $ref: '#/components/schemas/EthnicityEnum'
49838
+ - $ref: '#/components/schemas/BlankEnum'
49839
+ date_of_birth:
49840
+ type: string
49841
+ format: date
49842
+ nullable: true
49843
+ description: Date of birth in YYYY-MM-DD format.
49844
+ primary_language:
49845
+ type: string
49846
+ description: Primary language as ISO 639-1 code, e.g. 'en', 'es'.
49847
+ maxLength: 10
49848
+ country_of_birth:
49849
+ type: string
49850
+ description: Country of birth as ISO 3166-1 alpha-3 code, e.g. 'USA', 'MEX'.
49851
+ maxLength: 3
49852
+ nationality:
49853
+ type: string
49854
+ description: Nationality as ISO 3166-1 alpha-3 code, e.g. 'USA', 'MEX'.
49855
+ maxLength: 3
49856
+ disability_status:
49857
+ description: |-
49858
+ Disability status. One of: yes, no, prefer_not_to_say.
49859
+
49860
+ * `yes` - Yes
49861
+ * `no` - No
49862
+ * `prefer_not_to_say` - Prefer not to say
49863
+ oneOf:
49864
+ - $ref: '#/components/schemas/DisabilityStatusEnum'
49865
+ - $ref: '#/components/schemas/BlankEnum'
49866
+ custom_fields:
49867
+ type: string
49868
+ readOnly: true
49869
+ created_at:
49870
+ type: string
49871
+ format: date-time
49872
+ readOnly: true
49873
+ updated_at:
49874
+ type: string
49875
+ format: date-time
49876
+ readOnly: true
49877
+ required:
49878
+ - created_at
49879
+ - custom_fields
49880
+ - updated_at
49881
+ - username
49882
+ UserDemographicsWrite:
49883
+ type: object
49884
+ properties:
49885
+ gender:
49886
+ default: ''
49887
+ description: |-
49888
+ Gender identity. One of: male, female, non_binary, prefer_not_to_say, other.
49889
+
49890
+ * `male` - Male
49891
+ * `female` - Female
49892
+ * `non_binary` - Non-binary
49893
+ * `prefer_not_to_say` - Prefer not to say
49894
+ * `other` - Other
49895
+ oneOf:
49896
+ - $ref: '#/components/schemas/GenderEnum'
49897
+ - $ref: '#/components/schemas/BlankEnum'
49898
+ ethnicity:
49899
+ default: ''
49900
+ description: |-
49901
+ Ethnic background. See Ethnicity enum for valid values.
49902
+
49903
+ * `american_indian_alaska_native` - American Indian or Alaska Native
49904
+ * `asian` - Asian
49905
+ * `black_african_american` - Black or African American
49906
+ * `hispanic_latino` - Hispanic or Latino
49907
+ * `native_hawaiian_pacific_islander` - Native Hawaiian or Other Pacific Islander
49908
+ * `white` - White
49909
+ * `two_or_more` - Two or more races
49910
+ * `prefer_not_to_say` - Prefer not to say
49911
+ * `other` - Other
49912
+ oneOf:
49913
+ - $ref: '#/components/schemas/EthnicityEnum'
49914
+ - $ref: '#/components/schemas/BlankEnum'
49915
+ date_of_birth:
49916
+ type: string
49917
+ format: date
49918
+ nullable: true
49919
+ description: Date of birth in YYYY-MM-DD format.
49920
+ primary_language:
49921
+ type: string
49922
+ default: ''
49923
+ description: Primary language as ISO 639-1 code, e.g. 'en', 'es'.
49924
+ maxLength: 10
49925
+ country_of_birth:
49926
+ type: string
49927
+ default: ''
49928
+ description: Country of birth as ISO 3166-1 alpha-3 code, e.g. 'USA', 'MEX'.
49929
+ maxLength: 3
49930
+ nationality:
49931
+ type: string
49932
+ default: ''
49933
+ description: Nationality as ISO 3166-1 alpha-3 code, e.g. 'USA', 'MEX'.
49934
+ maxLength: 3
49935
+ disability_status:
49936
+ default: ''
49937
+ description: |-
49938
+ Disability status. One of: yes, no, prefer_not_to_say.
49939
+
49940
+ * `yes` - Yes
49941
+ * `no` - No
49942
+ * `prefer_not_to_say` - Prefer not to say
49943
+ oneOf:
49944
+ - $ref: '#/components/schemas/DisabilityStatusEnum'
49945
+ - $ref: '#/components/schemas/BlankEnum'
49946
+ custom_fields:
49947
+ type: object
49948
+ additionalProperties: {}
49949
+ description: 'Custom field values as {slug: value} pairs. Slugs must match
49950
+ active field definitions.'
49244
49951
  UserGroup:
49245
49952
  type: object
49246
49953
  description: Serializer for UserGroups.