From c83a05a853ab8c47695c7e2250c2bfbdb70e6603 Mon Sep 17 00:00:00 2001 From: Mark Dennis Date: Mon, 29 Sep 2025 18:16:18 +0100 Subject: [PATCH 1/7] docs --- descriptions/0/api.intercom.io.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/descriptions/0/api.intercom.io.yaml b/descriptions/0/api.intercom.io.yaml index c6a9b41..754fde8 100644 --- a/descriptions/0/api.intercom.io.yaml +++ b/descriptions/0/api.intercom.io.yaml @@ -2677,6 +2677,12 @@ paths: segments: type: segment.list segments: [] + notes: + type: note.list + data: [] + url: "/companies/6762f0761bb69f9f2193bae2/notes" + total_count: 0 + has_more: false plan: {} custom_attributes: creation_source: api @@ -2900,6 +2906,13 @@ paths: segments: type: segment.list segments: [] + + notes: + type: note.list + data: [] + url: "/companies/6762f0761bb69f9f2193bae2/notes" + total_count: 0 + has_more: false plan: {} custom_attributes: {} schema: From 8ea038c8e89c6db71900bb61c0b9abd0a3af2c5b Mon Sep 17 00:00:00 2001 From: Mark Dennis Date: Tue, 30 Sep 2025 09:42:16 +0100 Subject: [PATCH 2/7] Add notes field to company API endpoint responses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Updated PUT /companies/{id} endpoint to include notes in response - Updated GET /companies endpoint to include notes in response - Updated POST /companies/list endpoint to include notes in response - Updated GET /companies/scroll endpoint to include notes in response - Updated POST /contacts/{id}/companies endpoint to include notes in response All company endpoints now consistently return the notes field with the same structure. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- descriptions/0/api.intercom.io.yaml | 31 ++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/descriptions/0/api.intercom.io.yaml b/descriptions/0/api.intercom.io.yaml index 754fde8..19a10f1 100644 --- a/descriptions/0/api.intercom.io.yaml +++ b/descriptions/0/api.intercom.io.yaml @@ -2823,6 +2823,12 @@ paths: segments: type: segment.list segments: [] + notes: + type: note.list + data: [] + url: "/companies/6762f07a1bb69f9f2193baea/notes" + total_count: 0 + has_more: false plan: {} custom_attributes: {} pages: @@ -2906,7 +2912,6 @@ paths: segments: type: segment.list segments: [] - notes: type: note.list data: [] @@ -2993,6 +2998,12 @@ paths: segments: type: segment.list segments: [] + notes: + type: note.list + data: [] + url: "/companies/6762f0841bb69f9f2193baff/notes" + total_count: 0 + has_more: false plan: {} custom_attributes: {} schema: @@ -3279,6 +3290,12 @@ paths: segments: type: segment.list segments: [] + notes: + type: note.list + data: [] + url: "/companies/6762f0941bb69f9f2193bb25/notes" + total_count: 0 + has_more: false plan: {} custom_attributes: {} pages: @@ -3364,6 +3381,12 @@ paths: segments: type: segment.list segments: [] + notes: + type: note.list + data: [] + url: "/companies/6762f0971bb69f9f2193bb2b/notes" + total_count: 0 + has_more: false plan: {} custom_attributes: {} pages: @@ -3429,6 +3452,12 @@ paths: segments: type: segment.list segments: [] + notes: + type: note.list + data: [] + url: "/companies/6762f09a1bb69f9f2193bb34/notes" + total_count: 0 + has_more: false plan: {} custom_attributes: {} schema: From fcf2b7bf916d4779e9e2b2f68f6861027267286e Mon Sep 17 00:00:00 2001 From: Mark Dennis Date: Tue, 30 Sep 2025 13:58:12 +0100 Subject: [PATCH 3/7] update docs --- descriptions/0/api.intercom.io.yaml | 43 +++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/descriptions/0/api.intercom.io.yaml b/descriptions/0/api.intercom.io.yaml index 19a10f1..a1253de 100644 --- a/descriptions/0/api.intercom.io.yaml +++ b/descriptions/0/api.intercom.io.yaml @@ -16517,6 +16517,49 @@ components: type: array items: "$ref": "#/components/schemas/segment" + notes: + type: object + description: The list of notes associated with the company + properties: + type: + type: string + description: The type of the object + enum: + - note.list + example: note.list + data: + type: array + description: An array containing note objects + items: + type: object + properties: + id: + type: string + description: The id of the note + type: + type: string + description: The type of the object + enum: + - note + url: + type: string + description: The URL of the note + body: + type: string + description: The body of the note in HTML format + example: [] + url: + type: string + description: The URL to get all notes associated with the company + example: "/companies/6762f0761bb69f9f2193bae2/notes" + total_count: + type: integer + description: The total number of notes associated with the company + example: 0 + has_more: + type: boolean + description: Whether there are more notes than returned + example: false company_attached_contacts: title: Company Attached Contacts type: object From bfb5845a433385f473cae332b4e80a335a9bbb27 Mon Sep 17 00:00:00 2001 From: Mark Dennis Date: Tue, 30 Sep 2025 14:38:09 +0100 Subject: [PATCH 4/7] Add company_note and company_note_list schemas for company-specific notes --- descriptions/0/api.intercom.io.yaml | 76 +++++++++++++++++------------ 1 file changed, 44 insertions(+), 32 deletions(-) diff --git a/descriptions/0/api.intercom.io.yaml b/descriptions/0/api.intercom.io.yaml index a1253de..2dff6b5 100644 --- a/descriptions/0/api.intercom.io.yaml +++ b/descriptions/0/api.intercom.io.yaml @@ -16526,40 +16526,10 @@ components: description: The type of the object enum: - note.list - example: note.list - data: + notes: type: array - description: An array containing note objects items: - type: object - properties: - id: - type: string - description: The id of the note - type: - type: string - description: The type of the object - enum: - - note - url: - type: string - description: The URL of the note - body: - type: string - description: The body of the note in HTML format - example: [] - url: - type: string - description: The URL to get all notes associated with the company - example: "/companies/6762f0761bb69f9f2193bae2/notes" - total_count: - type: integer - description: The total number of notes associated with the company - example: 0 - has_more: - type: boolean - description: Whether there are more notes than returned - example: false + "$ref": "#/components/schemas/company_note" company_attached_contacts: title: Company Attached Contacts type: object @@ -21187,6 +21157,48 @@ components: example: 1 pages: "$ref": "#/components/schemas/cursor_pages" + company_note: + title: Company Note + type: object + x-tags: + - Notes + description: Notes allow you to annotate and comment on companies. + properties: + type: + type: string + description: String representing the object's type. Always has the value + `note`. + example: note + id: + type: string + description: The id of the note. + example: '17495962' + created_at: + type: integer + format: timestamp + description: The time the note was created. + example: 1674589321 + company: + type: object + description: Represents the company that the note was created about. + nullable: true + properties: + type: + type: string + description: String representing the object's type. Always has the value + `company`. + example: company + id: + type: string + description: The id of the company. + example: 6329bd9ffe4e2e91dac76188 + author: + "$ref": "#/components/schemas/admin" + description: Optional. Represents the Admin that created the note. + body: + type: string + description: The body text of the note. + example: "

Text for the note.

" open_conversation_request: title: Open Conversation Request type: object From c31feb03e387f1ccf1c17afe057dcab0f18e1d37 Mon Sep 17 00:00:00 2001 From: Mark Dennis Date: Tue, 30 Sep 2025 16:48:16 +0100 Subject: [PATCH 5/7] Add GET /companies/{id}/notes endpoint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added new endpoint to list all notes associated with a company. This follows the same pattern as the existing /contacts/{id}/notes endpoint. - Added endpoint definition at /companies/{id}/notes - Created company_note_list schema for paginated response - Included proper error handling for company not found 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- descriptions/0/api.intercom.io.yaml | 124 ++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) diff --git a/descriptions/0/api.intercom.io.yaml b/descriptions/0/api.intercom.io.yaml index 2dff6b5..71d7325 100644 --- a/descriptions/0/api.intercom.io.yaml +++ b/descriptions/0/api.intercom.io.yaml @@ -3220,6 +3220,109 @@ paths: message: Access Token Invalid schema: "$ref": "#/components/schemas/error" + "/companies/{id}/notes": + get: + summary: List all notes + parameters: + - name: id + in: path + required: true + description: The unique identifier for the company which is given by Intercom + example: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + schema: + type: string + - name: Intercom-Version + in: header + schema: + "$ref": "#/components/schemas/intercom_version" + tags: + - Notes + - Companies + operationId: listCompanyNotes + description: You can fetch a list of notes that are associated to a company. + responses: + '200': + description: Successful response + content: + application/json: + examples: + Successful response: + value: + type: list + data: + - type: note + id: '26' + created_at: 1733932587 + company: + type: company + id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + author: + type: admin + id: '991267581' + name: Ciaran122 Lee + email: admin122@email.com + away_mode_enabled: false + away_mode_reassign: false + away_status_reason_id: null + has_inbox_seat: true + team_ids: [] + team_priority_level: {} + body: "

This is a note.

" + - type: note + id: '25' + created_at: 1733846187 + company: + type: company + id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + author: + type: admin + id: '991267581' + name: Ciaran122 Lee + email: admin122@email.com + away_mode_enabled: false + away_mode_reassign: false + body: "

This is a note.

" + - type: note + id: '24' + created_at: 1733846187 + company: + type: company + id: 5f4d3c1c-7b1b-4d7d-a97e-6095715c6632 + author: + type: admin + id: '991267581' + name: Ciaran122 Lee + email: admin122@email.com + away_mode_enabled: false + away_mode_reassign: false + away_status_reason_id: null + has_inbox_seat: true + team_ids: [] + team_priority_level: {} + body: "

This is a note.

" + total_count: 3 + pages: + type: pages + next: + page: 1 + per_page: 50 + total_pages: 1 + schema: + "$ref": "#/components/schemas/company_note_list" + '404': + description: Company not found + content: + application/json: + examples: + Company not found: + value: + type: error.list + request_id: 57055cde-3d0d-4c67-b5c9-b20b80340bf0 + errors: + - code: company_not_found + message: Company Not Found + schema: + "$ref": "#/components/schemas/error" "/companies/list": post: summary: List all companies @@ -21157,6 +21260,27 @@ components: example: 1 pages: "$ref": "#/components/schemas/cursor_pages" + company_note_list: + title: Paginated Company Notes Response + type: object + description: A paginated list of notes associated with a company. + properties: + type: + type: string + description: String representing the object's type. Always has the value + `list`. + example: list + data: + type: array + description: An array of company notes. + items: + "$ref": "#/components/schemas/company_note" + total_count: + type: integer + description: A count of the total number of notes. + example: 1 + pages: + "$ref": "#/components/schemas/cursor_pages" company_note: title: Company Note type: object From c139205573e7bc131f4e695023a3793a17278860 Mon Sep 17 00:00:00 2001 From: Mark Dennis Date: Wed, 1 Oct 2025 17:00:24 +0100 Subject: [PATCH 6/7] removed redundant company_note_list --- descriptions/0/api.intercom.io.yaml | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/descriptions/0/api.intercom.io.yaml b/descriptions/0/api.intercom.io.yaml index 71d7325..dd29eb9 100644 --- a/descriptions/0/api.intercom.io.yaml +++ b/descriptions/0/api.intercom.io.yaml @@ -3308,7 +3308,7 @@ paths: per_page: 50 total_pages: 1 schema: - "$ref": "#/components/schemas/company_note_list" + "$ref": "#/components/schemas/note_list" '404': description: Company not found content: @@ -21242,7 +21242,7 @@ components: note_list: title: Paginated Response type: object - description: A paginated list of notes associated with a contact. + description: A paginated list of notes associated with a contact or a company. properties: type: type: string @@ -21260,27 +21260,6 @@ components: example: 1 pages: "$ref": "#/components/schemas/cursor_pages" - company_note_list: - title: Paginated Company Notes Response - type: object - description: A paginated list of notes associated with a company. - properties: - type: - type: string - description: String representing the object's type. Always has the value - `list`. - example: list - data: - type: array - description: An array of company notes. - items: - "$ref": "#/components/schemas/company_note" - total_count: - type: integer - description: A count of the total number of notes. - example: 1 - pages: - "$ref": "#/components/schemas/cursor_pages" company_note: title: Company Note type: object From 88690fab27eaf005cb8f3e0207456ed0a597b65e Mon Sep 17 00:00:00 2001 From: Mark Dennis Date: Mon, 6 Oct 2025 15:14:48 +0100 Subject: [PATCH 7/7] Update notes endpoint summaries for clarity MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Changed "List all notes" to "List all company notes" for /companies/{id}/notes - Changed "List all notes" to "List all contact notes" for /contacts/{id}/notes This makes the API documentation more specific and clearer about what type of notes each endpoint returns. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- descriptions/0/api.intercom.io.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/descriptions/0/api.intercom.io.yaml b/descriptions/0/api.intercom.io.yaml index dd29eb9..ad0ae7a 100644 --- a/descriptions/0/api.intercom.io.yaml +++ b/descriptions/0/api.intercom.io.yaml @@ -3222,7 +3222,7 @@ paths: "$ref": "#/components/schemas/error" "/companies/{id}/notes": get: - summary: List all notes + summary: List all company notes parameters: - name: id in: path @@ -3811,7 +3811,7 @@ paths: "$ref": "#/components/schemas/error" "/contacts/{id}/notes": get: - summary: List all notes + summary: List all contact notes parameters: - name: id in: path