---
sourceDocument: Australia API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/api-reference

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Conversation Member API

# Conversation Member API {#ariaid-title1}

Release version: Australia  
Updated March 12, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 7 minutes to read  
The Conversation Member API provides methods for changing a specific agent's member state to removed or updated in a given Agent Chat conversation.
This API provides the ability to programmatically manage an agent member's state in conversations in Agent Chat experience of Conversational Interfaces. See [Agent Chat](https://www.servicenow.com/docs/access?context=ci-use-agent-chat&version=australia&pubname=australia-conversational-interfaces&ft:locale=en-US) for more information.

This API is available by default. The calling user must have the awa_integration_user role.

## Conversation Member - PUT /now/conversation/member/{user_id}/drop {#ariaid-title2}

Drops an agent from a conversation.

### URL format

Default URL: /api/now/conversation/member/{user_id}/drop

### Supported request parameters

{#conv-member-PUT-userId-drop__entry__2}

| Name | Description |
|-|-|
| user_id | Sys_id of the agent to drop from the conversation. Data type: String Table: User \[sys_user\] |
[Table 1. Path parameters]

{#conv-member-PUT-userId-drop__entry__6}

| Name | Description |
|-|-|
| None |   |
[Table 2. Query parameters]

{#conv-member-PUT-userId-drop__entry__10}

| Name | Description |
|-|-|
| interaction_id | Required. Sys_id of the conversation record to drop the agent from. Data type: String Table: Interaction \[interaction\] |
[Table 3. Request body parameters (XML or JSON)]

### Headers

The following request and response headers apply to this HTTP
action only, or apply to this action in a distinct way. For a list of general headers used
in the REST API, see [Supported REST API headers](https://servicenow-prod.fluidtopics.net/qh7RcF0RI6a~i9u3octdlg "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#conv-member-PUT-userId-drop__entry__14}{#conv-member-PUT-userId-drop__accept-RESTAPI}{#conv-member-PUT-userId-drop__content_type-RESTAPI}

| Header | Description |
|-|-|
| Accept | Data format of the response body. Supported types: application/json or application/xml. Default: application/json |
| Content-Type | Data format of the request body. Supported types: application/json or application/xml. Default: application/json |
[Table 4. Request headers]

{#conv-member-PUT-userId-drop__entry__20}

| Header | Description |
|-|-|
| None |   |
[Table 5. Response headers]

### Status codes

The following status codes apply to this HTTP action. For a
list of possible status codes used in the REST API, see [REST API HTTP response
codes](https://servicenow-prod.fluidtopics.net/qh7RcF0RI6a~i9u3octdlg "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#conv-member-PUT-userId-drop__entry__24}{#conv-member-PUT-userId-drop__entry-200-status-code}{#conv-member-PUT-userId-drop__entry-401-status-code}{#conv-member-PUT-userId-drop__entry-403-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Error when processing Conversation Member operations. For example: * Conversation is not found for the provided interaction. * User is not a member of the interaction conversation provided.Provide a different user_id or interaction_id in the request. {#conv-member-PUT-userId-drop__ul_kg2_2c5_bfc} |
| 401 | Unauthorized. The user credentials are incorrect or have not been passed. |
| 403 | Forbidden. The user doesn't have access rights to the specified record. |
[Table 6. Status codes]

### Response body parameters (JSON or XML)

{#conv-member-PUT-userId-drop__entry__34}

| Name | Description |
|-|-|
| conversation_member | Object containing information about the agent status as a conversation member, after the drop request is processed. Data type: Object "conversation_member": { "active": Boolean, "memberType": "String", "conversation_id": "String" } |
| conversation_member.active | Flag that indicates whether the current user is present in the conversation. Possible values: * true: Agent is active in the conversation. * false: Agent is dropped from the conversation and is no longer an active participant in the chat. {#conv-member-PUT-userId-drop__ul_e3q_fd5_bfc} Data type: Boolean |
| conversation_member.memberType | Type of member agent. Possible values: * public_fulfiller: Allows the agent to chat publicly with other agents and requestor in a the given conversation. * observer: Only available for the user with the manager role. Grants the right to look at the conversation content without joining the conversation. * private_fulfiller: Allows agent to join a private chat between the agents to discuss the active conversation. {#conv-member-PUT-userId-drop__ul_evw_xlb_cfc} Data type: String Table: Conversation Member \[sys_cs_conversation_member\] |
| conversation_member.conversation_id | Required. Sys_id of the conversation record that the agent was dropped from. Data type: String Table: Interaction \[interaction\] |
| success | Flag that indicates whether the drop agent process was successful. Valid values: * true: Agent dropped successfully. * false: Agent failed to be dropped and is still considered active in the conversation. Data type: Boolean |
| message | Response message acknowledging successful assignment or exception. Success message: Request to drop agent processed successfully. Possible exceptions: * Invalid request. Insufficient input: Agent sys_id or interaction sys_id isn't provided in the request. * Provided interaction is not a third party interaction: Request only works for the third-party interaction and the given interaction_id isn't a third-party interaction. * Conversation for corresponding interaction could not be found: Can't find the corresponding conversation record with the given interaction sys_id. * Invalid request. User is not a member of the interaction provided: Agent sys_id isn't a member of the given interaction conversation. Data type: String |
[ ]

### cURL request

The following example demonstrates how to drop the given Agent's user ID from the given interaction ID.

    curl "https://instance.servicenow.com/api/now/conversation/member/0b10223c57a313005baaaa65ef94f970/drop" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{\" interaction_id":\"27f675e3739713004a905ee515f6a7c3\"}" \ 
    --user 'username':'password'

The response shows a successful drop operation for the given Agent from the interaction. Note that the active field is set to false and the message indicates a successful drop operation.

    {
      "result": {
        "conversation_member": {
          "active": false,
          "memberType": "public_fulfiller",
          "conversation_id": "27f675e3739713004a905ee515f6a7c3"
        },
        "success": true,
        "message": "Request to drop agent processed successfully."
      }
    }

## Conversation Member - PUT /now/conversation/member/{user_id}/update {#ariaid-title3}

Updates the agent's member type in a given conversation to a public fulfiller from an observer or private fulfiller type.
You can only use this endpoint to update an agent's current observer or private fulfiller type to a public fulfiller type. This endpoint does not support switching the agent back to an observer or private type. The response returns
a 500 status code if the given agent already holds a public fulfiller role.  
The following scenario is an example of how an agent's member type is updated using the Conversation Member PUT update endpoint:

1. The supervisor opens and observes an ongoing conversation which the agent is asking for help.
2. The supervisor decides to join the conversation to offer help and clicks the 'Join Conversation' button in the UI. The join conversation request is sent to the third-party server.
3. The third-party server processes the join conversation request and calls the Conversation Member PUT update endpoint and updates the supervisor's member type from observer to public fulfiller.
4. The agent's client UI reflects the updated conversation state.
{#conv-member-PUT-userid__ol_ppy_21v_bfc}

### URL format

Versioned URL: /api/now/{api_version}/conversation/member/{user_id}/update

Default URL: /api/now/conversation/member/{user_id}/update

### Supported request parameters

{#conv-member-PUT-userid__entry__2}{#conv-member-PUT-userid__version-not_optional-RESTAPI}

| Name | Description |
|-|-|
| api_version | Optional. Version of the endpoint to access. For example, <kbd class="ph userinput">v1</kbd> or <kbd class="ph userinput">v2</kbd>. Only specify this value to use an endpoint version other than the latest. Data type: String |
| user_id | Sys_id of the agent to update with a new member type in the conversation. Data type: String Table: User \[sys_user\] |
[Table 7. Path parameters]

{#conv-member-PUT-userid__entry__8}

| Name | Description |
|-|-|
| None |   |
[Table 8. Query parameters]

{#conv-member-PUT-userid__entry__12}

| Name | Description |
|-|-|
| interaction_id | Required. Sys_id of the conversation record in which to update the agent member type. Data type: String Table: Interaction \[interaction\] |
| member_type | Required. Type of member to update the agent to in the given conversation. Only valid value: public_fulfiller Data type: String Table: Conversation Member \[sys_cs_conversation_member\], Field: Member Type |
[Table 9. Request body parameters (XML or JSON)]

### Headers

The following request and response headers apply to this HTTP
action only, or apply to this action in a distinct way. For a list of general headers used
in the REST API, see [Supported REST API headers](https://servicenow-prod.fluidtopics.net/qh7RcF0RI6a~i9u3octdlg "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#conv-member-PUT-userid__entry__18}{#conv-member-PUT-userid__accept-RESTAPI}

| Header | Description |
|-|-|
| Accept | Data format of the response body. Supported types: application/json or application/xml. Default: application/json |
[Table 10. Request headers]

{#conv-member-PUT-userid__entry__22}

| Header | Description |
|-|-|
| None |   |
[Table 11. Response headers]

### Status codes

The following status codes apply to this HTTP action. For a
list of possible status codes used in the REST API, see [REST API HTTP response
codes](https://servicenow-prod.fluidtopics.net/qh7RcF0RI6a~i9u3octdlg "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#conv-member-PUT-userid__table_xbw_3v5_bfc__entry__2}{#conv-member-PUT-userid__entry-200-status-code}{#conv-member-PUT-userid__entry-401-status-code}{#conv-member-PUT-userid__entry-403-status-code}{#conv-member-PUT-userid__entry-500-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 400 | Error when processing Conversation Member operations. For example: * Conversation is not found for the provided interaction. * User is not a member of the interaction conversation provided. |
| 401 | Unauthorized. The user credentials are incorrect or have not been passed. |
| 403 | Forbidden. The user doesn't have access rights to the specified record. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
[Table 12. Status codes]

{#conv-member-PUT-userid__table_xbw_3v5_bfc}

### Response body parameters (JSON or XML)

{#conv-member-PUT-userid__table_d1f_k55_bfc__entry__2}

| Name | Description |
|-|-|
| conversation_member | Object containing information about the agent member's state once the update request is processed. Data type: Object "conversation_member": { "active": Boolean, "memberType": "String", "conversation_id": "String" } |
| conversation_member.active | Flag that indicates whether the current user is present in the conversation. Possible values: * true: Agent is active in the conversation. * false: Agent is dropped from the conversation and is no longer an active participant in the chat. {#conv-member-PUT-userid__ul_e3q_fd5_bfc} Data type: Boolean |
| conversation_member.memberType | Type of member agent. Possible values: * public_fulfiller: Allows the agent to chat publicly with other agents and requestor in a the given conversation. * observer: Only available for the user with the manager role. Grants the right to look at the conversation content without joining the conversation. * private_fulfiller: Allows agent to join a private chat between the agents to discuss the active conversation. Data type: String Table: Conversation Member \[sys_cs_conversation_member\] |
| conversation_member.conversation_id | Sys_id of the conversation record that the agent was updated in. Data type: String Table: Interaction \[interaction\] |
| success | Flag that indicates whether the update process was successful. Valid values: * true: Agent updated successfully. * false: Agent failed to be updated. Data type: Boolean |
| message | Response message acknowledging successful assignment or exception. Success message: Request to update agent member type processed successfully. Possible exceptions: * Invalid request. Insufficient input: agent sys_id or interaction sys_id is not provided in the request. * Provided interaction is not a third party interaction: the request only works for the third-party interaction and the given one is not third-party interaction. * Invalid request. Member type must be one of \[allowed member type\]: The member type provided in the request is not in one of the allowed type to be updated to. * Conversation for corresponding interaction could not be found: Cannot find the corresponding conversation record with the given interaction sys_id. * Invalid request. User is not a member of the interaction provided: The given agent sys_id is not a member of the given interaction conversation. Data type: String |
[ ]

{#conv-member-PUT-userid__table_d1f_k55_bfc}  

### cURL request

The following request demonstrates how to update a Agent user to a public fulfiller role in a given conversation.

    curl "https://instance.servicenow.com/api/now/conversation/member/{user_id}/update" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data "{ 
     \"interaction_id"":\"< interaction_sys_id" >\", 
     \"member_type\":\"public_fulfiller\" 
    }" \ 
    --user 'username':'password'

The response returns information about the successful update to a public fulfiller role. Note that the memberType is updated but the active field remains true, indicating that the agent's type has changed but is still active in the
conversation.

    {
      "result": {
        "conversation_member": {
          "active": true,
          "memberType": "public_fulfiller",
          "conversation_id": " <conversation_sys_id>"
        },
        "success": true,
        "message": "Request to update agent member type processed successfully."
      }
    }


