# Update support ticket Update support ticket categorization. Access control follows the same rules as retrieval: - User-scoped tokens: Can only update tickets belonging to that user - Organization-scoped tokens: Can only update tickets belonging to users in that organization - Tokens with access_all_areas: Can update all tickets including those without a user Endpoint: PATCH /support_tickets/{support_ticket_id} Version: 2.0 Security: oauth2 ## Path parameters: - `support_ticket_id` (string, required) The ID of the specific support ticket to retrieve. Example: "tick01HN2NJ9NMRZBXT1H6FT9N7735" ## Header parameters: - `EvEnergy-Version` (number) Specify the version of this endpoint to use. Enum: 2 ## Request fields (application/json): - `human_verified_category` (any) Human verified category for the ticket. Example: "VEHICLE" - `human_verified_subcategory` (any) Human verified subcategory for the ticket. Example: "TELEMATICS_ISSUE" - `ai_generated_category` (any) AI generated category for the ticket. Example: "VEHICLE" - `ai_generated_subcategory` (any) AI generated subcategory for the ticket. Example: "TELEMATICS_ISSUE" ## Response 200 fields (application/json): - `id` (string, required) Unique identifier for the given support ticket. Example: "tick01HN2NJ9NMRZBXT1H6FT9N7735" - `url` (string, required) Example: "https://api.ev.energy/v2/support_tickets/tick01HN2NJ9NMRZBXT1H6FT9N7735" - `user` (any,null) Reference to the user who created the ticket. Can be null for tickets created through channels where a user account may not exist (e.g., pre-signup inquiries, web forms). Access control: - Tickets with a user are accessible based on user/organization permissions - Tickets without a user (null) are only accessible to applications with access_all_areas permission - `external_ticket_id` (string, required) External ticket ID from Freshdesk or other support system. Example: "12345" - `position` (integer, required) The position in the conversation history. 0 is the first message. - `message_type` (string, required) The type of message in the ticket conversation. Enum: "INITIAL_REQUEST", "CUSTOMER_RESPONSE", "HUMAN_AGENT_RESPONSE", "AI_AGENT_RESPONSE" - `subject` (string,null) The subject or title of the ticket. Example: "Unable to connect my vehicle" - `status` (string,null) Status name (e.g., Open, Resolved, Closed). Example: "Open" - `priority` (string,null) Priority name (e.g., Low, Medium, High, Urgent). Example: "Medium" - `source` (string,null) Source name (e.g., Email, Phone, Feedback Widget). Example: "Email" - `human_verified_category` (any) Human verified category for the ticket. Example: "VEHICLE" - `human_verified_subcategory` (any) Human verified subcategory for the ticket. Example: "TELEMATICS_ISSUE" - `ai_generated_category` (any) AI generated category for the ticket. Example: "VEHICLE" - `ai_generated_subcategory` (any) AI generated subcategory for the ticket. Example: "TELEMATICS_ISSUE" - `type_deprecated` (string,null) Legacy ticket type (phased out for category/subcategory system). Example: "Vehicle API error" - `tags` (array) List of tags (e.g., ['ai-categorised', 'escalated']). Example: ["ai-categorised"] - `message` (string, required) The message from the agent or customer. Example: "I am having trouble connecting my Tesla to the app." - `message_clean` (string,null) A cleaned version of the message with all unnecessary text removed. Example: "Having trouble connecting Tesla to app." - `conversation_summary` (string,null) An AI generated summary of the conversation. Example: "Customer experiencing issues with Tesla vehicle connection to mobile app." - `custom_fields` (object) Additional custom fields from support system (e.g., car_manufacturer, mobile_app, legal_country, membership_level). Example: {"car_manufacturer":"Tesla","mobile_app":"iOS"} - `attributes` (object) Additional information about the user and their hardware. Example: {"evse_model":"ChargePoint Home Flex"} - `created_at` (string, required) When the ticket was created in the support system. Example: "2019-08-24T14:15:22Z" - `ticket_updated_at` (string,null) When the ticket was last updated in the support system. Example: "2019-08-24T15:30:00Z" - `resolved_at` (string,null) When the ticket was resolved in the support system. Example: "2019-08-25T10:00:00Z" ## Response 400 fields (application/problem+json): - `type` (string) Example: "https://api.ev.energy/v2/problems/example-problem/" - `status` (number) Example: 400 - `title` (string, required) Example: "Short description" - `detail` (string, required) Example: "Long, more specific description." - `instance` (string) Example: "https://api.ev.energy/v2/users/user01HN2P75GBNFRJPCZJXEFVXH5E" - `notification` (object) Something that the user should be informed about. - `notification.id` (string, required) Unique identifier for the Notification Example: "notf67O36PLTFDB57M0E5L33JZLGM0" - `notification.url` (string, required) Example: "https://api.ev.energy/notifications/notf67O36PLTFDB57M0E5L33JZLGM0" - `notification.message_id` (string, required) Internal identifier for this notification type. E.g. 'ERR0023' - `notification.category` (any, required) Category of this notification type Enum: "ACTIONABLE", "SERVICE", "RETRY", "MARKETING", "INTERNAL" - `notification.event_time` (string, required) The timestamp of the event described by this notification - `notification.short_text_title` (string, required) Short title for the notification - `notification.short_text_body` (string, required) Short description of the event being notified - `notification.detail_page_title` (string) Title of a help page giving more information about this notification - `notification.detail_page_body` (string) Text of a help page giving more information about this notification - `notification.external_link` (string,null) URL of a web page giving further information about this notification - `notification.external_button_label` (string) Text to be displayed on a button leading to the external_link location - `notification.read_at` (string) When the user examined the contents of this notification - `notification.resolved_at` (string) When the problem associated with this notification was resolved ## Response 401 fields (application/problem+json): - `status` (number) Example: 401 - `title` (string, required) Example: "Unauthorized" - `detail` (string, required) Example: "Authentication credentials were not provided." ## Response 403 fields (application/problem+json): - `status` (number) Example: 403 - `title` (string, required) Example: "Forbidden" - `detail` (string, required) Example: "You do not have permission to perform this action." ## Response 404 fields (application/problem+json): - `status` (number) Example: 404 - `title` (string, required) Example: "Not found" - `detail` (string, required) Example: "Resource does not exist or cannot be accessed." ## Response 406 fields (application/problem+json): - `status` (number) Example: 406 - `title` (string, required) Example: "Not Acceptable" - `detail` (string, required) Example: "Could not satisfy the request Accept header." ## Response 429 fields (application/problem+json): - `type` (string) Example: "https://api.ev.energy/v2/problems/example-problem/" - `status` (number) Example: 400 - `title` (string, required) Example: "Short description" - `detail` (string, required) Example: "Long, more specific description." - `instance` (string) Example: "https://api.ev.energy/v2/users/user01HN2P75GBNFRJPCZJXEFVXH5E" - `notification` (object) Something that the user should be informed about. - `notification.id` (string, required) Unique identifier for the Notification Example: "notf67O36PLTFDB57M0E5L33JZLGM0" - `notification.url` (string, required) Example: "https://api.ev.energy/notifications/notf67O36PLTFDB57M0E5L33JZLGM0" - `notification.message_id` (string, required) Internal identifier for this notification type. E.g. 'ERR0023' - `notification.category` (any, required) Category of this notification type Enum: "ACTIONABLE", "SERVICE", "RETRY", "MARKETING", "INTERNAL" - `notification.event_time` (string, required) The timestamp of the event described by this notification - `notification.short_text_title` (string, required) Short title for the notification - `notification.short_text_body` (string, required) Short description of the event being notified - `notification.detail_page_title` (string) Title of a help page giving more information about this notification - `notification.detail_page_body` (string) Text of a help page giving more information about this notification - `notification.external_link` (string,null) URL of a web page giving further information about this notification - `notification.external_button_label` (string) Text to be displayed on a button leading to the external_link location - `notification.read_at` (string) When the user examined the contents of this notification - `notification.resolved_at` (string) When the problem associated with this notification was resolved