Skip to content

Commit 2906bde

Browse files
marcmlcclaude
andauthored
Document list CDA value validation on contact and company writes (#457)
All API versions now reject custom_attributes writes for list-type attributes when the value is not in the attribute's allowed values. Updated custom_attributes descriptions across all version specs. Companion to intercom/intercom#497043. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent ac8ce3f commit 2906bde

10 files changed

Lines changed: 128 additions & 32 deletions

descriptions/0/api.intercom.io.yaml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22400,7 +22400,10 @@ components:
2240022400
custom_attributes:
2240122401
type: object
2240222402
nullable: true
22403-
description: The custom attributes which are set for the contact
22403+
description: The custom attributes which are set for the contact.
22404+
For list-type attributes, the value must be one of the attribute's
22405+
predefined allowed values. Setting a value not in the allowed list
22406+
will return a 400 Bad Request error.
2240422407
example:
2240522408
paid_subscriber: true
2240622409
monthly_spend: 155.5
@@ -22893,7 +22896,10 @@ components:
2289322896
custom_attributes:
2289422897
type: object
2289522898
description: A hash of key/value pairs containing any other data about the
22896-
company you want Intercom to store.
22899+
company you want Intercom to store. For list-type attributes, the
22900+
value must be one of the attribute's predefined allowed values.
22901+
Setting a value not in the allowed list will return a 400 Bad
22902+
Request error.
2289722903
additionalProperties:
2289822904
type: string
2289922905
example:
@@ -28558,7 +28564,10 @@ components:
2855828564
custom_attributes:
2855928565
type: object
2856028566
nullable: true
28561-
description: The custom attributes which are set for the contact
28567+
description: The custom attributes which are set for the contact.
28568+
For list-type attributes, the value must be one of the attribute's
28569+
predefined allowed values. Setting a value not in the allowed list
28570+
will return a 400 Bad Request error.
2856228571
update_content_import_source_request:
2856328572
title: Create Content Import Source Payload
2856428573
type: object

descriptions/2.10/api.intercom.io.yaml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13743,7 +13743,10 @@ components:
1374313743
custom_attributes:
1374413744
type: object
1374513745
nullable: true
13746-
description: The custom attributes which are set for the contact
13746+
description: The custom attributes which are set for the contact.
13747+
For list-type attributes, the value must be one of the attribute's
13748+
predefined allowed values. Setting a value not in the allowed list
13749+
will return a 400 Bad Request error.
1374713750
example:
1374813751
paid_subscriber: true
1374913752
monthly_spend: 155.5
@@ -14082,7 +14085,10 @@ components:
1408214085
custom_attributes:
1408314086
type: object
1408414087
description: A hash of key/value pairs containing any other data about the
14085-
company you want Intercom to store.
14088+
company you want Intercom to store. For list-type attributes, the
14089+
value must be one of the attribute's predefined allowed values.
14090+
Setting a value not in the allowed list will return a 400 Bad
14091+
Request error.
1408614092
additionalProperties:
1408714093
type: string
1408814094
example:
@@ -16874,7 +16880,10 @@ components:
1687416880
custom_attributes:
1687516881
type: object
1687616882
nullable: true
16877-
description: The custom attributes which are set for the contact
16883+
description: The custom attributes which are set for the contact.
16884+
For list-type attributes, the value must be one of the attribute's
16885+
predefined allowed values. Setting a value not in the allowed list
16886+
will return a 400 Bad Request error.
1687816887
update_conversation_request:
1687916888
title: Update Conversation Request
1688016889
type: object

descriptions/2.11/api.intercom.io.yaml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14552,7 +14552,10 @@ components:
1455214552
custom_attributes:
1455314553
type: object
1455414554
nullable: true
14555-
description: The custom attributes which are set for the contact
14555+
description: The custom attributes which are set for the contact.
14556+
For list-type attributes, the value must be one of the attribute's
14557+
predefined allowed values. Setting a value not in the allowed list
14558+
will return a 400 Bad Request error.
1455614559
example:
1455714560
paid_subscriber: true
1455814561
monthly_spend: 155.5
@@ -14902,7 +14905,10 @@ components:
1490214905
custom_attributes:
1490314906
type: object
1490414907
description: A hash of key/value pairs containing any other data about the
14905-
company you want Intercom to store.
14908+
company you want Intercom to store. For list-type attributes, the
14909+
value must be one of the attribute's predefined allowed values.
14910+
Setting a value not in the allowed list will return a 400 Bad
14911+
Request error.
1490614912
additionalProperties:
1490714913
type: string
1490814914
example:
@@ -18726,7 +18732,10 @@ components:
1872618732
custom_attributes:
1872718733
type: object
1872818734
nullable: true
18729-
description: The custom attributes which are set for the contact
18735+
description: The custom attributes which are set for the contact.
18736+
For list-type attributes, the value must be one of the attribute's
18737+
predefined allowed values. Setting a value not in the allowed list
18738+
will return a 400 Bad Request error.
1873018739
update_conversation_request:
1873118740
title: Update Conversation Request
1873218741
type: object

descriptions/2.12/api.intercom.io.yaml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14909,7 +14909,10 @@ components:
1490914909
custom_attributes:
1491014910
type: object
1491114911
nullable: true
14912-
description: The custom attributes which are set for the contact
14912+
description: The custom attributes which are set for the contact.
14913+
For list-type attributes, the value must be one of the attribute's
14914+
predefined allowed values. Setting a value not in the allowed list
14915+
will return a 400 Bad Request error.
1491314916
example:
1491414917
paid_subscriber: true
1491514918
monthly_spend: 155.5
@@ -15345,7 +15348,10 @@ components:
1534515348
custom_attributes:
1534615349
type: object
1534715350
description: A hash of key/value pairs containing any other data about the
15348-
company you want Intercom to store.
15351+
company you want Intercom to store. For list-type attributes, the
15352+
value must be one of the attribute's predefined allowed values.
15353+
Setting a value not in the allowed list will return a 400 Bad
15354+
Request error.
1534915355
additionalProperties:
1535015356
type: string
1535115357
example:
@@ -18373,7 +18379,10 @@ components:
1837318379
custom_attributes:
1837418380
type: object
1837518381
nullable: true
18376-
description: The custom attributes which are set for the contact
18382+
description: The custom attributes which are set for the contact.
18383+
For list-type attributes, the value must be one of the attribute's
18384+
predefined allowed values. Setting a value not in the allowed list
18385+
will return a 400 Bad Request error.
1837718386
update_content_import_source_request:
1837818387
title: Create Content Import Source Payload
1837918388
type: object

descriptions/2.13/api.intercom.io.yaml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16249,7 +16249,10 @@ components:
1624916249
custom_attributes:
1625016250
type: object
1625116251
nullable: true
16252-
description: The custom attributes which are set for the contact
16252+
description: The custom attributes which are set for the contact.
16253+
For list-type attributes, the value must be one of the attribute's
16254+
predefined allowed values. Setting a value not in the allowed list
16255+
will return a 400 Bad Request error.
1625316256
example:
1625416257
paid_subscriber: true
1625516258
monthly_spend: 155.5
@@ -16685,7 +16688,10 @@ components:
1668516688
custom_attributes:
1668616689
type: object
1668716690
description: A hash of key/value pairs containing any other data about the
16688-
company you want Intercom to store.
16691+
company you want Intercom to store. For list-type attributes, the
16692+
value must be one of the attribute's predefined allowed values.
16693+
Setting a value not in the allowed list will return a 400 Bad
16694+
Request error.
1668916695
additionalProperties:
1669016696
type: string
1669116697
example:
@@ -20103,7 +20109,10 @@ components:
2010320109
custom_attributes:
2010420110
type: object
2010520111
nullable: true
20106-
description: The custom attributes which are set for the contact
20112+
description: The custom attributes which are set for the contact.
20113+
For list-type attributes, the value must be one of the attribute's
20114+
predefined allowed values. Setting a value not in the allowed list
20115+
will return a 400 Bad Request error.
2010720116
update_content_import_source_request:
2010820117
title: Create Content Import Source Payload
2010920118
type: object

descriptions/2.14/api.intercom.io.yaml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18047,7 +18047,10 @@ components:
1804718047
custom_attributes:
1804818048
type: object
1804918049
nullable: true
18050-
description: The custom attributes which are set for the contact
18050+
description: The custom attributes which are set for the contact.
18051+
For list-type attributes, the value must be one of the attribute's
18052+
predefined allowed values. Setting a value not in the allowed list
18053+
will return a 400 Bad Request error.
1805118054
example:
1805218055
paid_subscriber: true
1805318056
monthly_spend: 155.5
@@ -18525,7 +18528,10 @@ components:
1852518528
custom_attributes:
1852618529
type: object
1852718530
description: A hash of key/value pairs containing any other data about the
18528-
company you want Intercom to store.
18531+
company you want Intercom to store. For list-type attributes, the
18532+
value must be one of the attribute's predefined allowed values.
18533+
Setting a value not in the allowed list will return a 400 Bad
18534+
Request error.
1852918535
additionalProperties:
1853018536
type: string
1853118537
example:
@@ -18573,7 +18579,10 @@ components:
1857318579
custom_attributes:
1857418580
type: object
1857518581
description: A hash of key/value pairs containing any other data about the
18576-
company you want Intercom to store.
18582+
company you want Intercom to store. For list-type attributes, the
18583+
value must be one of the attribute's predefined allowed values.
18584+
Setting a value not in the allowed list will return a 400 Bad
18585+
Request error.
1857718586
additionalProperties:
1857818587
type: string
1857918588
example:
@@ -22737,7 +22746,10 @@ components:
2273722746
custom_attributes:
2273822747
type: object
2273922748
nullable: true
22740-
description: The custom attributes which are set for the contact
22749+
description: The custom attributes which are set for the contact.
22750+
For list-type attributes, the value must be one of the attribute's
22751+
predefined allowed values. Setting a value not in the allowed list
22752+
will return a 400 Bad Request error.
2274122753
update_content_import_source_request:
2274222754
title: Create Content Import Source Payload
2274322755
type: object

descriptions/2.15/api.intercom.io.yaml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18774,7 +18774,10 @@ components:
1877418774
custom_attributes:
1877518775
type: object
1877618776
nullable: true
18777-
description: The custom attributes which are set for the contact
18777+
description: The custom attributes which are set for the contact.
18778+
For list-type attributes, the value must be one of the attribute's
18779+
predefined allowed values. Setting a value not in the allowed list
18780+
will return a 400 Bad Request error.
1877818781
example:
1877918782
paid_subscriber: true
1878018783
monthly_spend: 155.5
@@ -19252,7 +19255,10 @@ components:
1925219255
custom_attributes:
1925319256
type: object
1925419257
description: A hash of key/value pairs containing any other data about the
19255-
company you want Intercom to store.
19258+
company you want Intercom to store. For list-type attributes, the
19259+
value must be one of the attribute's predefined allowed values.
19260+
Setting a value not in the allowed list will return a 400 Bad
19261+
Request error.
1925619262
additionalProperties:
1925719263
type: string
1925819264
example:
@@ -19300,7 +19306,10 @@ components:
1930019306
custom_attributes:
1930119307
type: object
1930219308
description: A hash of key/value pairs containing any other data about the
19303-
company you want Intercom to store.
19309+
company you want Intercom to store. For list-type attributes, the
19310+
value must be one of the attribute's predefined allowed values.
19311+
Setting a value not in the allowed list will return a 400 Bad
19312+
Request error.
1930419313
additionalProperties:
1930519314
type: string
1930619315
example:
@@ -23596,7 +23605,10 @@ components:
2359623605
custom_attributes:
2359723606
type: object
2359823607
nullable: true
23599-
description: The custom attributes which are set for the contact
23608+
description: The custom attributes which are set for the contact.
23609+
For list-type attributes, the value must be one of the attribute's
23610+
predefined allowed values. Setting a value not in the allowed list
23611+
will return a 400 Bad Request error.
2360023612
update_content_import_source_request:
2360123613
title: Create Content Import Source Payload
2360223614
type: object

descriptions/2.7/api.intercom.io.yaml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11824,7 +11824,10 @@ components:
1182411824
custom_attributes:
1182511825
type: object
1182611826
nullable: true
11827-
description: The custom attributes which are set for the contact
11827+
description: The custom attributes which are set for the contact.
11828+
For list-type attributes, the value must be one of the attribute's
11829+
predefined allowed values. Setting a value not in the allowed list
11830+
will return a 400 Bad Request error.
1182811831
example:
1182911832
paid_subscriber: true
1183011833
monthly_spend: 155.5
@@ -12163,7 +12166,10 @@ components:
1216312166
custom_attributes:
1216412167
type: object
1216512168
description: A hash of key/value pairs containing any other data about the
12166-
company you want Intercom to store.
12169+
company you want Intercom to store. For list-type attributes, the
12170+
value must be one of the attribute's predefined allowed values.
12171+
Setting a value not in the allowed list will return a 400 Bad
12172+
Request error.
1216712173
additionalProperties:
1216812174
type: string
1216912175
example:
@@ -14329,7 +14335,10 @@ components:
1432914335
custom_attributes:
1433014336
type: object
1433114337
nullable: true
14332-
description: The custom attributes which are set for the contact
14338+
description: The custom attributes which are set for the contact.
14339+
For list-type attributes, the value must be one of the attribute's
14340+
predefined allowed values. Setting a value not in the allowed list
14341+
will return a 400 Bad Request error.
1433314342
update_conversation_request:
1433414343
title: Update Conversation Request
1433514344
type: object

descriptions/2.8/api.intercom.io.yaml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11848,7 +11848,10 @@ components:
1184811848
custom_attributes:
1184911849
type: object
1185011850
nullable: true
11851-
description: The custom attributes which are set for the contact
11851+
description: The custom attributes which are set for the contact.
11852+
For list-type attributes, the value must be one of the attribute's
11853+
predefined allowed values. Setting a value not in the allowed list
11854+
will return a 400 Bad Request error.
1185211855
example:
1185311856
paid_subscriber: true
1185411857
monthly_spend: 155.5
@@ -12187,7 +12190,10 @@ components:
1218712190
custom_attributes:
1218812191
type: object
1218912192
description: A hash of key/value pairs containing any other data about the
12190-
company you want Intercom to store.
12193+
company you want Intercom to store. For list-type attributes, the
12194+
value must be one of the attribute's predefined allowed values.
12195+
Setting a value not in the allowed list will return a 400 Bad
12196+
Request error.
1219112197
additionalProperties:
1219212198
type: string
1219312199
example:
@@ -14376,7 +14382,10 @@ components:
1437614382
custom_attributes:
1437714383
type: object
1437814384
nullable: true
14379-
description: The custom attributes which are set for the contact
14385+
description: The custom attributes which are set for the contact.
14386+
For list-type attributes, the value must be one of the attribute's
14387+
predefined allowed values. Setting a value not in the allowed list
14388+
will return a 400 Bad Request error.
1438014389
update_conversation_request:
1438114390
title: Update Conversation Request
1438214391
type: object

descriptions/2.9/api.intercom.io.yaml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13028,7 +13028,10 @@ components:
1302813028
custom_attributes:
1302913029
type: object
1303013030
nullable: true
13031-
description: The custom attributes which are set for the contact
13031+
description: The custom attributes which are set for the contact.
13032+
For list-type attributes, the value must be one of the attribute's
13033+
predefined allowed values. Setting a value not in the allowed list
13034+
will return a 400 Bad Request error.
1303213035
example:
1303313036
paid_subscriber: true
1303413037
monthly_spend: 155.5
@@ -13367,7 +13370,10 @@ components:
1336713370
custom_attributes:
1336813371
type: object
1336913372
description: A hash of key/value pairs containing any other data about the
13370-
company you want Intercom to store.
13373+
company you want Intercom to store. For list-type attributes, the
13374+
value must be one of the attribute's predefined allowed values.
13375+
Setting a value not in the allowed list will return a 400 Bad
13376+
Request error.
1337113377
additionalProperties:
1337213378
type: string
1337313379
example:
@@ -16187,7 +16193,10 @@ components:
1618716193
custom_attributes:
1618816194
type: object
1618916195
nullable: true
16190-
description: The custom attributes which are set for the contact
16196+
description: The custom attributes which are set for the contact.
16197+
For list-type attributes, the value must be one of the attribute's
16198+
predefined allowed values. Setting a value not in the allowed list
16199+
will return a 400 Bad Request error.
1619116200
update_conversation_request:
1619216201
title: Update Conversation Request
1619316202
type: object

0 commit comments

Comments
 (0)