# Agent mode: Cancel a response

Launch stage: GA

`POST /api/2.0/genie/agents/{agent_id}/conversations/{conversation_id}/responses/{response_id}/cancel`

Cancels an in-flight agent-mode response. `response_id` is the id returned in the
 `response.created` event from the agent-mode responses endpoint. The response stops at
 the next agent boundary and its terminal state is returned.

API scopes: genie

## Path parameters

- `agent_id` (string, uuid, required)
  The ID of the Genie agent (synonymous with the Genie space ID).
  Example: `e1ef34712a29169db030324fd0e1df5f`
- `conversation_id` (string, uuid, required)
  The ID of the conversation containing the response.
  Example: `e1ef34712a29169db030324fd0e1df5f`
- `response_id` (string, uuid, required)
  The ID of the response to cancel (the id from the `response.created` event).
  Example: `e1ef34712a29169db030324fd0e1df5f`

## Returns

- `id` (string, uuid, optional, Deprecated, Output only)
  Message ID.
   Legacy identifier, use message_id instead
  Example: `e1ef34712a29169db030324fd0e1df5f`
- `space_id` (string, uuid, required)
  Genie space ID
  Example: `e1ef34712a29169db030324fd0e1df5f`
- `conversation_id` (string, uuid, required)
  Conversation ID
  Example: `e1ef34712a29169db030324fd0e1df5f`
- `user_id` (int64, optional, Output only)
  ID of the user who created the message
- `created_timestamp` (int64, optional, Output only)
  Timestamp when the message was created
- `last_updated_timestamp` (int64, optional, Output only)
  Timestamp when the message was last updated
- `status` (string, optional, Output only)
  Possible values:
  - `FETCHING_METADATA`
  - `FILTERING_CONTEXT`
  - `ASKING_AI`
  - `PENDING_WAREHOUSE`
  - `EXECUTING_QUERY`
  - `FAILED`
  - `COMPLETED`
  - `SUBMITTED`
  - `QUERY_RESULT_EXPIRED`
  - `CANCELLED`
  Example: `ASKING_AI`
- `content` (string, required)
  User message content
  Example: `Biggest open opportunities`
- `attachments` (array of object, optional, Output only)
  AI-generated response to the message
  - `text` (object, optional, Output only)
    Text Attachment if Genie responds with text
     This also contains the final summary when available.
    - `content` (string, optional)
      AI generated message
    - `id` (string, optional)
    - `purpose` (string, optional)
      Purpose of this text attachment. A completed message may contain more than
       one text attachment (for example a clarifying follow-up question alongside
       the final answer); use this field to tell them apart. `TEXT_ATTACHMENT_PURPOSE_ANSWER`
       marks the final answer/summary and `FOLLOW_UP_QUESTION` marks a clarifying question.
      Possible values:
      - `TEXT_ATTACHMENT_PURPOSE_UNSPECIFIED`
      - `FOLLOW_UP_QUESTION`
      - `TEXT_ATTACHMENT_PURPOSE_ANSWER`
  - `query` (object, optional, Output only)
    Query Attachment if Genie responds with a SQL query
    - `title` (string, optional)
      Name of the query
    - `query` (string, optional)
      AI generated SQL query
    - `description` (string, optional)
      Description of the query
    - `last_updated_timestamp` (int64, optional, Output only)
      Time when the user updated the query last
    - `parameters` (array of object, optional)
      - `keyword` (string, optional)
      - `value` (string, optional)
      - `sql_type` (string, optional)
    - `id` (string, optional, Deprecated, Output only)
    - `statement_id` (string, optional, Output only)
      Statement Execution API statement id. Use [Get status, manifest, and result first chunk](:method:statementexecution/getstatement) to get the full result data.
    - `query_result_metadata` (object, optional, Output only)
      Metadata associated with the query result.
      - `row_count` (int64, optional, Output only)
        The number of rows in the result set.
      - `is_truncated` (boolean, optional, Output only)
        Indicates whether the result set is truncated.
    - `thoughts` (array of object, optional, Public Preview, Output only)
      Insights into how Genie came to generate the SQL.
      - `thought_type` (string, optional, Public Preview, Output only)
        The category of this thought.
         The possible values are:
         * `THOUGHT_TYPE_DESCRIPTION`: A high-level description of how the question was interpreted.
         * `THOUGHT_TYPE_UNDERSTANDING`: How ambiguous parts of the question were resolved.
         * `THOUGHT_TYPE_DATA_SOURCING`: Which tables or datasets were identified as relevant.
         * `THOUGHT_TYPE_INSTRUCTIONS`: Which author-defined instructions were referenced.
         * `THOUGHT_TYPE_STEPS`: The logical steps taken to compute the answer.
        Possible values:
        - `THOUGHT_TYPE_UNSPECIFIED`
        - `THOUGHT_TYPE_DESCRIPTION`
        - `THOUGHT_TYPE_UNDERSTANDING`
        - `THOUGHT_TYPE_DATA_SOURCING`
        - `THOUGHT_TYPE_INSTRUCTIONS`
        - `THOUGHT_TYPE_STEPS`
      - `content` (string, optional, Public Preview, Output only)
        The md formatted content for this thought.
  - `suggested_questions` (object, optional, Output only)
    Follow-up questions suggested by Genie
    - `questions` (array of string, optional, Output only)
      The suggested follow-up questions
  - `viz` (object, optional, Output only)
    Visualization generated by Genie, if requested via `enable_visualization`
    - `title` (string, optional, Output only)
      Name of the visualization
    - `query_attachment_id` (string, optional, Output only)
      The ID of the query attachment the visualization was generated from
  - `attachment_id` (string, optional, Output only)
    Attachment ID
- `query_result` (object, optional, Deprecated, Output only)
  The result of SQL query if the message includes a query attachment.
   Deprecated. Use `query_result_metadata` in `GenieQueryAttachment` instead.
  - `statement_id` (string, optional)
    Statement Execution API statement id. Use [Get status, manifest, and result first chunk](:method:statementexecution/getstatement) to get the full result data.
  - `row_count` (int64, optional)
    Row count of the result
  - `is_truncated` (boolean, optional)
    If result is truncated
  - `statement_id_signature` (string, optional)
    JWT corresponding to the statement contained in this result
- `error` (object, optional, Output only)
  Error message if Genie failed to respond to the message
  - `error` (string, optional)
  - `type` (string, optional)
    Possible values:
    - `TYPE_UNSPECIFIED`
    - `UNEXPECTED_REPLY_PROCESS_EXCEPTION`
    - `GENERIC_CHAT_COMPLETION_EXCEPTION`
    - `CONTEXT_EXCEEDED_EXCEPTION`
    - `DEPLOYMENT_NOT_FOUND_EXCEPTION`
    - `FUNCTIONS_NOT_AVAILABLE_EXCEPTION`
    - `INVALID_COMPLETION_REQUEST_EXCEPTION`
    - `CONTENT_FILTER_EXCEPTION`
    - `FUNCTION_ARGUMENTS_INVALID_JSON_EXCEPTION`
    - `RETRYABLE_PROCESSING_EXCEPTION`
    - `INVALID_FUNCTION_CALL_EXCEPTION`
    - `LOCAL_CONTEXT_EXCEEDED_EXCEPTION`
    - `CHAT_COMPLETION_NETWORK_EXCEPTION`
    - `INVALID_CHAT_COMPLETION_JSON_EXCEPTION`
    - `GENERIC_CHAT_COMPLETION_SERVICE_EXCEPTION`
    - `WAREHOUSE_ACCESS_MISSING_EXCEPTION`
    - `WAREHOUSE_NOT_FOUND_EXCEPTION`
    - `NO_TABLES_TO_QUERY_EXCEPTION`
    - `SQL_EXECUTION_EXCEPTION`
    - `REPLY_PROCESS_TIMEOUT_EXCEPTION`
    - `COULD_NOT_GET_UC_SCHEMA_EXCEPTION`
    - `INVALID_TABLE_IDENTIFIER_EXCEPTION`
    - `TOO_MANY_TABLES_EXCEPTION`
    - `FUNCTION_ARGUMENTS_INVALID_EXCEPTION`
    - `GENERIC_SQL_EXEC_API_CALL_EXCEPTION`
    - `CHAT_COMPLETION_CLIENT_EXCEPTION`
    - `CHAT_COMPLETION_CLIENT_TIMEOUT_EXCEPTION`
    - `UNKNOWN_AI_MODEL`
    - `TABLES_MISSING_EXCEPTION`
    - `MESSAGE_DELETED_WHILE_EXECUTING_EXCEPTION`
    - `MESSAGE_UPDATED_WHILE_EXECUTING_EXCEPTION`
    - `BLOCK_MULTIPLE_EXECUTIONS_EXCEPTION`
    - `INVALID_CERTIFIED_ANSWER_IDENTIFIER_EXCEPTION`
    - `TOO_MANY_CERTIFIED_ANSWERS_EXCEPTION`
    - `RATE_LIMIT_EXCEEDED_GENERIC_EXCEPTION`
    - `RATE_LIMIT_EXCEEDED_SPECIFIED_WAIT_EXCEPTION`
    - `FUNCTION_CALL_MISSING_PARAMETER_EXCEPTION`
    - `INVALID_CERTIFIED_ANSWER_FUNCTION_EXCEPTION`
    - `ILLEGAL_PARAMETER_DEFINITION_EXCEPTION`
    - `NO_QUERY_TO_VISUALIZE_EXCEPTION`
    - `NO_DEPLOYMENTS_AVAILABLE_TO_WORKSPACE`
    - `STOP_PROCESS_DUE_TO_AUTO_REGENERATE`
    - `FUNCTION_ARGUMENTS_INVALID_TYPE_EXCEPTION`
    - `MESSAGE_CANCELLED_WHILE_EXECUTING_EXCEPTION`
    - `COULD_NOT_GET_MODEL_DEPLOYMENTS_EXCEPTION`
    - `GENERATED_SQL_QUERY_TOO_LONG_EXCEPTION`
    - `MISSING_SQL_QUERY_EXCEPTION`
    - `DESCRIBE_QUERY_UNEXPECTED_FAILURE`
    - `DESCRIBE_QUERY_TIMEOUT`
    - `DESCRIBE_QUERY_INVALID_SQL_ERROR`
    - `INVALID_SQL_UNKNOWN_TABLE_EXCEPTION`
    - `INVALID_SQL_MULTIPLE_STATEMENTS_EXCEPTION`
    - `INVALID_SQL_MULTIPLE_DATASET_REFERENCES_EXCEPTION`
    - `MESSAGE_ATTACHMENT_TOO_LONG_ERROR`
    - `INTERNAL_CATALOG_PATH_OVERLAP_EXCEPTION`
    - `INTERNAL_CATALOG_MISSING_UC_PATH_EXCEPTION`
    - `EXCEEDED_MAX_TOKEN_LENGTH_EXCEPTION`
    - `INTERNAL_CATALOG_ASSET_CREATION_ONGOING_EXCEPTION`
    - `INTERNAL_CATALOG_ASSET_CREATION_FAILED_EXCEPTION`
    - `INTERNAL_CATALOG_ASSET_CREATION_UNSUPPORTED_EXCEPTION`
    - `UNSUPPORTED_CONVERSATION_TYPE_EXCEPTION`
    - `COULD_NOT_GET_DASHBOARD_SCHEMA_EXCEPTION`
- `message_id` (string, uuid, required)
  Message ID
  Example: `e1ef34712a29169db030324fd0e1df5f`
- `feedback` (object, optional, Output only)
  User feedback for the message if provided
  - `rating` (string, optional)
    The feedback rating
    Possible values:
    - `GENIE_FEEDBACK_RATING_UNSPECIFIED`
    - `POSITIVE`
    - `NEGATIVE`
    - `NONE`
  - `comment` (string, optional, Public Preview)
    Optional feedback comment text

## Response

```json
{
  "id": "e1ef34712a29169db030324fd0e1df5f",
  "space_id": "e1ef34712a29169db030324fd0e1df5f",
  "conversation_id": "e1ef34712a29169db030324fd0e1df5f",
  "user_id": 0,
  "created_timestamp": 0,
  "last_updated_timestamp": 0,
  "status": "ASKING_AI",
  "content": "Biggest open opportunities",
  "attachments": [
    {
      "text": {},
      "query": {},
      "suggested_questions": {},
      "viz": {},
      "attachment_id": "string"
    }
  ],
  "query_result": {
    "statement_id": "string",
    "row_count": 0,
    "is_truncated": true,
    "statement_id_signature": "string"
  },
  "error": {
    "error": "string",
    "type": "UNEXPECTED_REPLY_PROCESS_EXCEPTION"
  },
  "message_id": "e1ef34712a29169db030324fd0e1df5f",
  "feedback": {
    "rating": "POSITIVE",
    "comment": "string"
  }
}
```

