Skip to content

Commit 27f49a8

Browse files
darraghclaude
andcommitted
Add IP Allowlist API endpoint to v2.14
Add OpenAPI documentation for the new IP Allowlist API: - GET /ip_allowlist - Retrieve current IP allowlist settings - PUT /ip_allowlist - Update IP allowlist settings Includes: - ip_allowlist schema for response - ip_allowlist_request schema for request body - IP Allowlist tag with description - Examples for success and error responses - Documentation for lockout protection feature - Clear explanation of IP/CIDR format for allowlist entries Requires `manage_ip_allowlist` OAuth scope. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 98d79b4 commit 27f49a8

File tree

1 file changed

+168
-0
lines changed

1 file changed

+168
-0
lines changed

descriptions/2.14/api.intercom.io.yaml

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2631,6 +2631,119 @@ paths:
26312631
message: Access Token Invalid
26322632
schema:
26332633
"$ref": "#/components/schemas/error"
2634+
"/ip_allowlist":
2635+
get:
2636+
summary: Get IP allowlist settings
2637+
parameters:
2638+
- name: Intercom-Version
2639+
in: header
2640+
schema:
2641+
"$ref": "#/components/schemas/intercom_version"
2642+
tags:
2643+
- IP Allowlist
2644+
operationId: getIpAllowlist
2645+
description: Retrieve the current IP allowlist configuration for the workspace.
2646+
responses:
2647+
'200':
2648+
description: Successful response
2649+
content:
2650+
application/json:
2651+
examples:
2652+
Successful:
2653+
value:
2654+
type: ip_allowlist
2655+
enabled: true
2656+
ip_allowlist:
2657+
- "192.168.1.0/24"
2658+
- "10.0.0.1"
2659+
schema:
2660+
"$ref": "#/components/schemas/ip_allowlist"
2661+
'401':
2662+
description: Unauthorized
2663+
content:
2664+
application/json:
2665+
examples:
2666+
Unauthorized:
2667+
value:
2668+
type: error.list
2669+
request_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
2670+
errors:
2671+
- code: unauthorized
2672+
message: Access Token Invalid
2673+
schema:
2674+
"$ref": "#/components/schemas/error"
2675+
put:
2676+
summary: Update IP allowlist settings
2677+
parameters:
2678+
- name: Intercom-Version
2679+
in: header
2680+
schema:
2681+
"$ref": "#/components/schemas/intercom_version"
2682+
tags:
2683+
- IP Allowlist
2684+
operationId: updateIpAllowlist
2685+
description: |
2686+
Update the IP allowlist configuration for the workspace.
2687+
2688+
{% admonition type="warning" name="Lockout Protection" %}
2689+
The API will reject updates that would lock out the caller's IP address. Ensure your current IP is included in the allowlist when enabling the feature.
2690+
{% /admonition %}
2691+
responses:
2692+
'200':
2693+
description: Successful response
2694+
content:
2695+
application/json:
2696+
examples:
2697+
Successful:
2698+
value:
2699+
type: ip_allowlist
2700+
enabled: true
2701+
ip_allowlist:
2702+
- "192.168.1.0/24"
2703+
- "10.0.0.1"
2704+
schema:
2705+
"$ref": "#/components/schemas/ip_allowlist"
2706+
'401':
2707+
description: Unauthorized
2708+
content:
2709+
application/json:
2710+
examples:
2711+
Unauthorized:
2712+
value:
2713+
type: error.list
2714+
request_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
2715+
errors:
2716+
- code: unauthorized
2717+
message: Access Token Invalid
2718+
schema:
2719+
"$ref": "#/components/schemas/error"
2720+
'422':
2721+
description: Validation error
2722+
content:
2723+
application/json:
2724+
examples:
2725+
Lockout Protection:
2726+
value:
2727+
type: error.list
2728+
request_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
2729+
errors:
2730+
- code: parameter_invalid
2731+
message: Your IP (1.2.3.4) is not on the allowlist. Saving would lock you out of this workspace.
2732+
schema:
2733+
"$ref": "#/components/schemas/error"
2734+
requestBody:
2735+
content:
2736+
application/json:
2737+
schema:
2738+
"$ref": "#/components/schemas/ip_allowlist_request"
2739+
examples:
2740+
successful:
2741+
summary: Enable IP allowlist
2742+
value:
2743+
enabled: true
2744+
ip_allowlist:
2745+
- "192.168.1.0/24"
2746+
- "10.0.0.1"
26342747
"/companies":
26352748
post:
26362749
summary: Create or Update a company
@@ -19587,6 +19700,52 @@ components:
1958719700
nullable: true
1958819701
required:
1958919702
- id
19703+
ip_allowlist:
19704+
title: IP Allowlist
19705+
type: object
19706+
description: IP allowlist settings for the workspace.
19707+
properties:
19708+
type:
19709+
type: string
19710+
description: String representing the object's type. Always has the value `ip_allowlist`.
19711+
example: ip_allowlist
19712+
enabled:
19713+
type: boolean
19714+
description: Whether the IP allowlist is enabled for the workspace.
19715+
example: true
19716+
ip_allowlist:
19717+
type: array
19718+
description: |
19719+
List of allowed IP addresses and/or IP ranges in CIDR notation.
19720+
Examples:
19721+
- Single IP: `192.168.0.1`
19722+
- IP range: `192.168.0.1/24` (allows 192.168.0.0 - 192.168.0.255)
19723+
items:
19724+
type: string
19725+
example:
19726+
- "192.168.1.0/24"
19727+
- "10.0.0.1"
19728+
ip_allowlist_request:
19729+
title: IP Allowlist Request
19730+
type: object
19731+
description: Request body for updating IP allowlist settings.
19732+
properties:
19733+
enabled:
19734+
type: boolean
19735+
description: Whether to enable the IP allowlist.
19736+
example: true
19737+
ip_allowlist:
19738+
type: array
19739+
description: |
19740+
List of allowed IP addresses and/or IP ranges in CIDR notation.
19741+
Examples:
19742+
- Single IP: `192.168.0.1`
19743+
- IP range: `192.168.0.1/24` (allows 192.168.0.0 - 192.168.0.255)
19744+
items:
19745+
type: string
19746+
example:
19747+
- "192.168.1.0/24"
19748+
- "10.0.0.1"
1959019749
intercom_version:
1959119750
description: Intercom API version.</br>By default, it's equal to the version
1959219751
set in the app package.
@@ -22406,6 +22565,15 @@ tags:
2240622565
description: Everything about your Help Center
2240722566
- name: Internal Articles
2240822567
description: Everything about your Internal Articles
22568+
- name: IP Allowlist
22569+
description: |
22570+
Manage IP allowlist settings for your workspace.
22571+
22572+
The IP Allowlist API allows you to configure which IP addresses are allowed to access the Intercom API and web application for your workspace. This is useful for restricting access to your Intercom workspace to specific corporate networks or VPNs.
22573+
22574+
{% admonition type="info" name="Authentication" %}
22575+
This endpoint requires the `manage_ip_allowlist` OAuth scope.
22576+
{% /admonition %}
2240922577
- name: Jobs
2241022578
description: Everything about jobs
2241122579
- name: Messages

0 commit comments

Comments
 (0)