diff --git a/01 Cloud Platform/04 Organizations/05 Support/02 Features.php b/01 Cloud Platform/04 Organizations/05 Support/02 Features.php index 8a91af7f7e..6d64f632df 100644 --- a/01 Cloud Platform/04 Organizations/05 Support/02 Features.php +++ b/01 Cloud Platform/04 Organizations/05 Support/02 Features.php @@ -2,6 +2,7 @@
The Lean trading engine is under constant development, so you may occasionally experience bugs when using it. If you think you have found a bug, share a simple backtest with us that reproduces the issue. You can contact us either through email, Discord, or the forum. We will review your submission. If we confirm you've found a bug, we will create a GitHub Issue to have it resolved. Subscribe to the GitHub Issue to track our progress in fixing the bug.
+If you find an issue in historical data, we recommend you report it on the Data Issues page of the dataset portal.
| Bug Reports | -![]() |
- ![]() |
- ![]() |
- ![]() |
+ Supported✓ | +Supported✓ | +Supported✓ | +Supported✓ |
Mia is an AI assistant we trained on hundreds of algorithms and thousands of documentation pages to provide contextual assistance for most issues you may encounter when developing a strategy.
+Our support ticket system enables you to privately email with our Support Team. We address support tickets in a first-in, first-out order, but we give priority to tickets opened by members with higher support seats.
| Feature | +Feature | Community | Bronze | Silver | @@ -39,23 +40,23 @@|||||
|---|---|---|---|---|---|---|---|---|---|
| Premium AI Support | -- | -![]() |
- ![]() |
- ![]() |
+ Email Support | +Not supported | +Supported✓ | +Supported✓ | +Supported✓ |
For more information on this feature, see AI Assistance.
+For information on quotas and response time, see Ticket Quotas.
-Our support ticket system enables you to privately email with our Support Team. We address support tickets in a first-in, first-out order, but we give priority to tickets opened by members with higher support seats.
+You can access Email Support through the REST API. With the API, you can open, list, read, reply to, and close support tickets. For more information, see the Support endpoints in the API Reference.
| Feature | +Feature | Community | Bronze | Silver | @@ -64,15 +65,14 @@|||||
|---|---|---|---|---|---|---|---|---|---|
| Email Support | -- | -![]() |
- ![]() |
- ![]() |
+ API Support | +Not supported | +Supported✓ | +Supported✓ | +Supported✓ |
For information on quotas and response time, see Ticket Quotas.
If you attach a backtest or live trading deployment when you open a support ticket, the intellectual property of your project is protected. We have a restricted subset of the Support Team who can access private support tickets. Using paid support plans ensures only a limited subset of the QuantConnect team can access the algorithms you attach to support tickets. These team members are carefully selected, have been at QuantConnect for at least 2 years, and have passed a background check. In contrast, if you share a backtest or live trading deployment to the forum for assistance, your project becomes part of the public domain.
@@ -80,7 +80,7 @@| Feature | +Feature | Community | Bronze | Silver | @@ -90,23 +90,14 @@||||
|---|---|---|---|---|---|---|---|---|
| IP Protection | -- | -![]() |
- ![]() |
- ![]() |
+ Not supported | +Supported✓ | +Supported✓ | +Supported✓ |



| Feature | +Feature | Community | Bronze | Silver | @@ -150,10 +141,10 @@||||
|---|---|---|---|---|---|---|---|---|
| Algorithm Design Suggestions | -- | -- | -![]() |
- ![]() |
+ Not supported | +Not supported | +Supported✓ | +Supported✓ |
| Feature | +Feature | Community | Bronze | Silver | @@ -174,10 +165,10 @@||||
|---|---|---|---|---|---|---|---|---|
| Private Chatroom | -- | -- | -- | -![]() |
+ Not supported | +Not supported | +Not supported | +Supported✓ |
| Feature | +Feature | Community | Bronze | Silver | @@ -199,10 +190,10 @@||||
|---|---|---|---|---|---|---|---|---|
| Phone Call Consultations | -- | -- | -- | -![]() |
+ Not supported | +Not supported | +Not supported | +Supported✓ |
| Feature | +Feature | Community | Bronze | Silver | @@ -222,11 +213,11 @@|||||
|---|---|---|---|---|---|---|---|---|---|
| Private Chatroom | -- | -- | -- | -![]() |
+ Local Development | +Not supported | +Not supported | +Not supported | +Supported✓ |
| Feature | +Feature | Community | Bronze | Silver | @@ -247,66 +238,66 @@|||||
|---|---|---|---|---|---|---|---|---|---|
| Bug Reports | -![]() |
- ![]() |
- ![]() |
- ![]() |
+ Supported✓ | +Supported✓ | +Supported✓ | +Supported✓ | |
| AI Support | -![]() |
- ![]() |
- ![]() |
- ![]() |
+ Email Support | +Not supported | +Supported✓ | +Supported✓ | +Supported✓ |
| Email Support | -- | -![]() |
- ![]() |
- ![]() |
+ API Support | +Not supported | +Supported✓ | +Supported✓ | +Supported✓ |
| IP Protection | -- | -![]() |
- ![]() |
- ![]() |
+ Not supported | +Supported✓ | +Supported✓ | +Supported✓ | |
| Live Trading Debugging | -- | -![]() |
- ![]() |
- ![]() |
+ Not supported | +Supported✓ | +Supported✓ | +Supported✓ | |
| Algorithm Design Suggestions | -- | -- | -![]() |
- ![]() |
+ Not supported | +Not supported | +Supported✓ | +Supported✓ | |
| Private Chatroom | -- | -- | -- | -![]() |
+ Not supported | +Not supported | +Not supported | +Supported✓ | |
| Phone Call Consultations | -- | -- | -- | -![]() |
+ Not supported | +Not supported | +Not supported | +Supported✓ | |
| Local Development | -- | -- | -- | -![]() |
+ Not supported | +Not supported | +Not supported | +Supported✓ |
+Open a new support ticket or comment on an existing ticket. +
diff --git a/01 Cloud Platform/99 API Reference/16 Support/01 Create Support Ticket/02 Description.html b/01 Cloud Platform/99 API Reference/16 Support/01 Create Support Ticket/02 Description.html new file mode 100644 index 0000000000..c17c5cda37 --- /dev/null +++ b/01 Cloud Platform/99 API Reference/16 Support/01 Create Support Ticket/02 Description.html @@ -0,0 +1,5 @@ + + +
+To open a new ticket, provide the subject and message properties. Each new ticket uses one ticket from the quota of your support seat. To update an existing ticket with a comment, provide the hash of the ticket and the message. A comment on a closed ticket opens the ticket again, unless you set close to true. You can attach a project, backtest, live deployment, or AI conversation only when you open a new ticket. When you attach any of them, you give the QuantConnect Support Staff permission to view your project and all its libraries. When you comment on a ticket, the endpoint ignores these properties. You must have a support seat in the organization to use this endpoint.
+
+The organization, the ticket to comment on or the subject of a new ticket, and the message. The /organizations/support/tickets/create API accepts requests in the following format:
+
CreateSupportTicketRequest Model - Request body to open a support ticket or comment on a ticket. |
+|
|---|---|
| organizationId | string Id of the organization. |
+
| subject | string Subject of the new ticket. Required to open a new ticket. |
+
| message | string HTML body of the message. |
+
| hash | string Id of the ticket to comment on. To open a new ticket, omit this property. |
+
| close | boolean If true, close the ticket after you add the comment. Requires hash. |
+
| projectId | integer Optional. Id of one of your projects to attach to the new ticket. To get your project Ids, use the /projects/read endpoint. |
+
| backtestId | string Optional. Id of a backtest of the attached project to attach to the new ticket. Requires projectId. To get the backtest Ids of a project, use the /backtests/list endpoint. |
+
| deployId | string Optional. Id of a stopped live deployment of the attached project to attach to the new ticket. Requires projectId. To get the deployment Ids of a project, use the /live/list endpoint. |
+
| agentDeploymentId | string Optional. Id of an AI conversation of the attached project to attach to the new ticket. Requires projectId. To get the conversation Ids of a project, use the /agents/deployments/list endpoint. |
+
| Example | +
+
+{
+ "organizationId": "5cad178b20a1d52567b534553413b691",
+ "subject": "Live algorithm stopped after a brokerage disconnection",
+ "message": "My live algorithm stopped at 10:32 ET after the brokerage disconnected.",
+ "hash": "string",
+ "close": true,
+ "projectId": 0,
+ "backtestId": "string",
+ "deployId": "string",
+ "agentDeploymentId": "string"
+}
+ |
+
+The /organizations/support/tickets/create API provides a response in the following format:
+
CreateSupportTicketResponse Model - Response from opening a support ticket or commenting on a ticket. |
+|
|---|---|
| hash | string Id of the ticket. |
+
| success | boolean Indicate if the API request was successful. |
+
| errors | string Array List of errors with the API call. |
+
| Example | +
+
+{
+ "hash": "string",
+ "success": true,
+ "errors": [
+ "string"
+ ]
+}
+ |
+
UnauthorizedError Model - Unauthorized response from the API. Key is missing, invalid, or timestamp is too old for hash. |
+|
|---|---|
| www_authenticate | string Header |
+
+List the support tickets of an organization. +
diff --git a/01 Cloud Platform/99 API Reference/16 Support/02 List Support Tickets/02 Description.html b/01 Cloud Platform/99 API Reference/16 Support/02 List Support Tickets/02 Description.html new file mode 100644 index 0000000000..cbfe42e627 --- /dev/null +++ b/01 Cloud Platform/99 API Reference/16 Support/02 List Support Tickets/02 Description.html @@ -0,0 +1,5 @@ + + +
+The response contains all the open tickets and one page of 10 closed tickets. Use the closedPage property to select the page of closed tickets and the totalClosed property of the response to get the number of closed tickets.
+
+The organization and the page of closed tickets to list. The /organizations/support/tickets/list API accepts requests in the following format:
+
ListSupportTicketsRequest Model - Request body to list the support tickets of an organization. |
+|
|---|---|
| organizationId | string Id of the organization. |
+
| closedPage | integer Index of the page of closed tickets to return, starting at 0. Each page contains 10 tickets. The default value is 0. |
+
| Example | +
+
+{
+ "organizationId": "5cad178b20a1d52567b534553413b691",
+ "closedPage": 0
+}
+ |
+
+The /organizations/support/tickets/list API provides a response in the following format:
+
SupportTicketListResponse Model - Response from listing the support tickets of an organization. |
+|
|---|---|
| open | SupportTicket Array Open tickets of the organization. |
+
| closed | SupportTicket Array Closed tickets in the requested page. |
+
| closedPage | integer Index of the page of closed tickets in the response. |
+
| totalClosed | integer Number of closed tickets of the organization. |
+
| allowance | integer Number of tickets your support seat lets you open in a 1-month rolling window. |
+
| remaining | integer Number of new tickets you can open now. The value is the allowance minus the tickets you opened in the last month, including closed tickets. |
+
| success | boolean Indicate if the API request was successful. |
+
| errors | string Array List of errors with the API call. |
+
| Example | +
+
+{
+ "open": [
+ {
+ "hash": "string",
+ "title": "string",
+ "status": "Open",
+ "time": "September 29, 2026 - 18:00",
+ "timeUnix": 0,
+ "data": {
+ "external_id": "215476157330380",
+ "ticket_hash": "string",
+ "status": "open",
+ "subject": "string",
+ "created_time": "2026-09-29 18:00:38",
+ "updated_time": "2026-09-29 18:01:28",
+ "project_id": 0,
+ "backtest_id": "string",
+ "live_deploy_id": "string"
+ },
+ "profiles": [
+ {
+ "name": "string",
+ "profile": "string"
+ }
+ ]
+ }
+ ],
+ "closed": [
+ {
+ "hash": "string",
+ "title": "string",
+ "status": "Open",
+ "time": "September 29, 2026 - 18:00",
+ "timeUnix": 0,
+ "data": {
+ "external_id": "215476157330380",
+ "ticket_hash": "string",
+ "status": "open",
+ "subject": "string",
+ "created_time": "2026-09-29 18:00:38",
+ "updated_time": "2026-09-29 18:01:28",
+ "project_id": 0,
+ "backtest_id": "string",
+ "live_deploy_id": "string"
+ },
+ "profiles": [
+ {
+ "name": "string",
+ "profile": "string"
+ }
+ ]
+ }
+ ],
+ "closedPage": 0,
+ "totalClosed": 0,
+ "allowance": 0,
+ "remaining": 0,
+ "success": true,
+ "errors": [
+ "string"
+ ]
+}
+ |
+
SupportTicket Model - A support ticket of an organization. |
+|
|---|---|
| hash | string Id of the ticket. |
+
| title | string Subject of the ticket. |
+
| status | string Enum Status of the ticket. Options : ['Open', 'Closed'] |
+
| time | string Time of the last update of the ticket. |
+
| timeUnix | integer Unix timestamp of the last update of the ticket. |
+
| data | SupportTicketData object Details of a support ticket. |
+
| profiles | SupportTicketMember Array Members who took part in the ticket. |
+
| Example | +
+
+{
+ "hash": "string",
+ "title": "string",
+ "status": "Open",
+ "time": "September 29, 2026 - 18:00",
+ "timeUnix": 0,
+ "data": {
+ "external_id": "215476157330380",
+ "ticket_hash": "string",
+ "status": "open",
+ "subject": "string",
+ "created_time": "2026-09-29 18:00:38",
+ "updated_time": "2026-09-29 18:01:28",
+ "project_id": 0,
+ "backtest_id": "string",
+ "live_deploy_id": "string"
+ },
+ "profiles": [
+ {
+ "name": "string",
+ "profile": "string"
+ }
+ ]
+}
+ |
+
SupportTicketData Model - Details of a support ticket. |
+|
|---|---|
| external_id | string Id of the ticket in the QuantConnect support system. Mention this Id when you contact our Support Team about the ticket. |
+
| ticket_hash | string Id of the ticket in the API. The value is the same as the hash of the ticket. |
+
| status | string Enum Status of the ticket. Options : ['open', 'closed'] |
+
| subject | string Subject of the ticket. |
+
| created_time | string Time the ticket was opened, in YYYY-MM-DD HH:MM:SS format. |
+
| updated_time | string Time of the last update of the ticket, in YYYY-MM-DD HH:MM:SS format. |
+
| project_id | integer Id of the project attached to the ticket. |
+
| backtest_id | string Id of the backtest attached to the ticket. |
+
| live_deploy_id | string Id of the live deployment attached to the ticket. |
+
| Example | +
+
+{
+ "external_id": "215476157330380",
+ "ticket_hash": "string",
+ "status": "open",
+ "subject": "string",
+ "created_time": "2026-09-29 18:00:38",
+ "updated_time": "2026-09-29 18:01:28",
+ "project_id": 0,
+ "backtest_id": "string",
+ "live_deploy_id": "string"
+}
+ |
+
SupportTicketMember Model - A member who took part in a support ticket. |
+|
|---|---|
| name | string Name of the member. |
+
| profile | string URL of the profile image of the member. |
+
| Example | +
+
+{
+ "name": "string",
+ "profile": "string"
+}
+ |
+
UnauthorizedError Model - Unauthorized response from the API. Key is missing, invalid, or timestamp is too old for hash. |
+|
|---|---|
| www_authenticate | string Header |
+
+Read the messages of a support ticket. +
diff --git a/01 Cloud Platform/99 API Reference/16 Support/03 Read Support Ticket/02 Description.html b/01 Cloud Platform/99 API Reference/16 Support/03 Read Support Ticket/02 Description.html new file mode 100644 index 0000000000..cbed491e58 --- /dev/null +++ b/01 Cloud Platform/99 API Reference/16 Support/03 Read Support Ticket/02 Description.html @@ -0,0 +1,5 @@ + + +
+To get the hash of your tickets, use the /organizations/support/tickets/list endpoint.
+
+The organization and the ticket to read. The /organizations/support/tickets/read API accepts requests in the following format:
+
ReadSupportTicketRequest Model - Request body to read a support ticket. |
+|
|---|---|
| organizationId | string Id of the organization. |
+
| hash | string Id of the ticket. |
+
| Example | +
+
+{
+ "organizationId": "5cad178b20a1d52567b534553413b691",
+ "hash": "string"
+}
+ |
+
+The /organizations/support/tickets/read API provides a response in the following format:
+
SupportTicketMessagesResponse Model - Response from reading a support ticket. |
+|
|---|---|
| messages | SupportTicketMessage Array Messages of the ticket. |
+
| success | boolean Indicate if the API request was successful. |
+
| errors | string Array List of errors with the API call. |
+
| Example | +
+
+{
+ "messages": [
+ {
+ "message": "string",
+ "name": "string",
+ "profile": "string",
+ "time": "September 29, 2026 - 18:00",
+ "myself": true
+ }
+ ],
+ "success": true,
+ "errors": [
+ "string"
+ ]
+}
+ |
+
SupportTicketMessage Model - A message in a support ticket. |
+|
|---|---|
| message | string HTML body of the message. |
+
| name | string Name of the author. |
+
| profile | string URL of the profile image of the author. |
+
| time | string Time the message was sent. |
+
| myself | boolean True if you wrote the message. |
+
| Example | +
+
+{
+ "message": "string",
+ "name": "string",
+ "profile": "string",
+ "time": "September 29, 2026 - 18:00",
+ "myself": true
+}
+ |
+
UnauthorizedError Model - Unauthorized response from the API. Key is missing, invalid, or timestamp is too old for hash. |
+|
|---|---|
| www_authenticate | string Header |
+
subject and message properties. Each new ticket uses one ticket from the quota of your support seat. To update an existing ticket with a comment, provide the hash of the ticket and the message. A comment on a closed ticket opens the ticket again, unless you set close to true. You can attach a project, backtest, live deployment, or AI conversation only when you open a new ticket. When you attach any of them, you give the QuantConnect Support Staff permission to view your project and all its libraries. When you comment on a ticket, the endpoint ignores these properties. You must have a support seat in the organization to use this endpoint.
+ requestBody:
+ description: The organization, the ticket to comment on or the subject of a new ticket, and the message.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateSupportTicketRequest'
+ required: true
+ responses:
+ "200":
+ description: The Id of the ticket.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateSupportTicketResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ operationId: createSupportTicket
+ /organizations/support/tickets/list:
+ post:
+ tags:
+ - 01 Cloud Platform
+ - 99 API Reference
+ - 16 Support
+ - 02 List Support Tickets
+ summary: List the support tickets of an organization.
+ description: The response contains all the open tickets and one page of 10 closed tickets. Use the closedPage property to select the page of closed tickets and the totalClosed property of the response to get the number of closed tickets.
+ requestBody:
+ description: The organization and the page of closed tickets to list.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListSupportTicketsRequest'
+ required: true
+ responses:
+ "200":
+ description: The support tickets of the organization and the ticket quota.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SupportTicketListResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ operationId: listSupportTickets
+ /organizations/support/tickets/read:
+ post:
+ tags:
+ - 01 Cloud Platform
+ - 99 API Reference
+ - 16 Support
+ - 03 Read Support Ticket
+ summary: Read the messages of a support ticket.
+ description: To get the hash of your tickets, use the /organizations/support/tickets/list endpoint.
+ requestBody:
+ description: The organization and the ticket to read.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ReadSupportTicketRequest'
+ required: true
+ responses:
+ "200":
+ description: The messages of the support ticket.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SupportTicketMessagesResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ operationId: readSupportTicket
components:
@@ -9198,6 +9276,237 @@ components:
type: string
description: URL of the profile image of the member who reported the issue.
description: An issue reported on the Data Issues page.
+ CreateSupportTicketRequest:
+ type: object
+ required:
+ - organizationId
+ - message
+ properties:
+ organizationId:
+ type: string
+ description: Id of the organization.
+ examples:
+ - 5cad178b20a1d52567b534553413b691
+ subject:
+ type: string
+ description: Subject of the new ticket. Required to open a new ticket.
+ example: Live algorithm stopped after a brokerage disconnection
+ message:
+ type: string
+ description: HTML body of the message.
+ example: My live algorithm stopped at 10:32 ET after the brokerage disconnected.
+ hash:
+ type: string
+ description: Id of the ticket to comment on. To open a new ticket, omit this property.
+ close:
+ type: boolean
+ description: If true, close the ticket after you add the comment. Requires hash.
+ projectId:
+ type: integer
+ description: Optional. Id of one of your projects to attach to the new ticket. To get your project Ids, use the /projects/read endpoint.
+ backtestId:
+ type: string
+ description: Optional. Id of a backtest of the attached project to attach to the new ticket. Requires projectId. To get the backtest Ids of a project, use the /backtests/list endpoint.
+ deployId:
+ type: string
+ description: Optional. Id of a stopped live deployment of the attached project to attach to the new ticket. Requires projectId. To get the deployment Ids of a project, use the /live/list endpoint.
+ agentDeploymentId:
+ type: string
+ description: Optional. Id of an AI conversation of the attached project to attach to the new ticket. Requires projectId. To get the conversation Ids of a project, use the /agents/deployments/list endpoint.
+ description: Request body to open a support ticket or comment on a ticket.
+ CreateSupportTicketResponse:
+ type: object
+ properties:
+ hash:
+ type: string
+ description: Id of the ticket.
+ success:
+ type: boolean
+ description: Indicate if the API request was successful.
+ errors:
+ type: array
+ description: List of errors with the API call.
+ items:
+ type: string
+ description: Response from opening a support ticket or commenting on a ticket.
+ ListSupportTicketsRequest:
+ type: object
+ required:
+ - organizationId
+ properties:
+ organizationId:
+ type: string
+ description: Id of the organization.
+ examples:
+ - 5cad178b20a1d52567b534553413b691
+ closedPage:
+ type: integer
+ description: Index of the page of closed tickets to return, starting at 0. Each page contains 10 tickets. The default value is 0.
+ example: 0
+ description: Request body to list the support tickets of an organization.
+ SupportTicketListResponse:
+ type: object
+ properties:
+ open:
+ type: array
+ description: Open tickets of the organization.
+ items:
+ $ref: '#/components/schemas/SupportTicket'
+ closed:
+ type: array
+ description: Closed tickets in the requested page.
+ items:
+ $ref: '#/components/schemas/SupportTicket'
+ closedPage:
+ type: integer
+ description: Index of the page of closed tickets in the response.
+ totalClosed:
+ type: integer
+ description: Number of closed tickets of the organization.
+ allowance:
+ type: integer
+ description: Number of tickets your support seat lets you open in a 1-month rolling window.
+ remaining:
+ type: integer
+ description: Number of new tickets you can open now. The value is the allowance minus the tickets you opened in the last month, including closed tickets.
+ success:
+ type: boolean
+ description: Indicate if the API request was successful.
+ errors:
+ type: array
+ description: List of errors with the API call.
+ items:
+ type: string
+ description: Response from listing the support tickets of an organization.
+ SupportTicket:
+ type: object
+ properties:
+ hash:
+ type: string
+ description: Id of the ticket.
+ title:
+ type: string
+ description: Subject of the ticket.
+ status:
+ type: string
+ description: Status of the ticket.
+ enum:
+ - Open
+ - Closed
+ time:
+ type: string
+ description: Time of the last update of the ticket.
+ example: September 29, 2026 - 18:00
+ timeUnix:
+ type: integer
+ description: Unix timestamp of the last update of the ticket.
+ data:
+ $ref: '#/components/schemas/SupportTicketData'
+ profiles:
+ type: array
+ description: Members who took part in the ticket.
+ items:
+ $ref: '#/components/schemas/SupportTicketMember'
+ description: A support ticket of an organization.
+ SupportTicketData:
+ type: object
+ properties:
+ external_id:
+ type: string
+ description: Id of the ticket in the QuantConnect support system. Mention this Id when you contact our Support Team about the ticket.
+ example: "215476157330380"
+ ticket_hash:
+ type: string
+ description: Id of the ticket in the API. The value is the same as the hash of the ticket.
+ status:
+ type: string
+ description: Status of the ticket.
+ enum:
+ - open
+ - closed
+ subject:
+ type: string
+ description: Subject of the ticket.
+ created_time:
+ type: string
+ description: Time the ticket was opened, in YYYY-MM-DD HH:MM:SS format.
+ example: "2026-09-29 18:00:38"
+ updated_time:
+ type: string
+ description: Time of the last update of the ticket, in YYYY-MM-DD HH:MM:SS format.
+ example: "2026-09-29 18:01:28"
+ project_id:
+ type: integer
+ description: Id of the project attached to the ticket.
+ backtest_id:
+ type: string
+ description: Id of the backtest attached to the ticket.
+ live_deploy_id:
+ type: string
+ description: Id of the live deployment attached to the ticket.
+ description: Details of a support ticket.
+ SupportTicketMember:
+ type: object
+ properties:
+ name:
+ type: string
+ description: Name of the member.
+ profile:
+ type: string
+ description: URL of the profile image of the member.
+ description: A member who took part in a support ticket.
+ ReadSupportTicketRequest:
+ type: object
+ required:
+ - organizationId
+ - hash
+ properties:
+ organizationId:
+ type: string
+ description: Id of the organization.
+ examples:
+ - 5cad178b20a1d52567b534553413b691
+ hash:
+ type: string
+ description: Id of the ticket.
+ description: Request body to read a support ticket.
+ SupportTicketMessagesResponse:
+ type: object
+ properties:
+ messages:
+ type: array
+ description: Messages of the ticket.
+ items:
+ $ref: '#/components/schemas/SupportTicketMessage'
+ success:
+ type: boolean
+ description: Indicate if the API request was successful.
+ errors:
+ type: array
+ description: List of errors with the API call.
+ items:
+ type: string
+ description: Response from reading a support ticket.
+ SupportTicketMessage:
+ type: object
+ properties:
+ message:
+ type: string
+ description: HTML body of the message.
+ name:
+ type: string
+ description: Name of the author.
+ profile:
+ type: string
+ description: URL of the profile image of the author.
+ time:
+ type: string
+ description: Time the message was sent.
+ example: September 29, 2026 - 18:00
+ myself:
+ type: boolean
+ description: True if you wrote the message.
+ description: A message in a support ticket.
responses:
BacktestResponse:
description: Backtest read response packet.
diff --git a/Resources/qc-api/examples/support.php b/Resources/qc-api/examples/support.php
new file mode 100644
index 0000000000..88ca436fde
--- /dev/null
+++ b/Resources/qc-api/examples/support.php
@@ -0,0 +1,78 @@
+The following example demonstrates checking the ticket quota of your support seat, listing the support tickets of your organization, reading the messages of an open ticket, and opening a new ticket with an attached project, backtest, live deployment, and AI conversation through the cloud API.
+ + include(DOCS_RESOURCES."/qc-api/get_headers.py"); ?>
+
+### Check Ticket Quota
+# Send a POST request to the /organizations/support/tickets/list endpoint to get the ticket quota and the tickets
+response = post(f'{BASE_URL}/organizations/support/tickets/list', headers=get_headers(), json={
+ "organizationId": ORGANIZATION_ID,
+ "closedPage": 0 # Page of 10 closed tickets, starting at 0
+})
+# Parse the JSON response into python managable dict
+result = response.json()
+# Print the number of new tickets you can open. Every ticket you opened in the last month counts, even if it's closed
+remaining = result['remaining'] if result['success'] else 0
+print(f"Remaining tickets: {remaining} of {result.get('allowance')}")
+
+### List Support Tickets
+# The same response contains the open tickets and the requested page of closed tickets
+open_tickets = result.get('open', [])
+for ticket in open_tickets:
+ print(ticket['data']['external_id'], ticket['status'], ticket['title'])
+
+### Read Support Ticket
+if open_tickets:
+ # Send a POST request to the /organizations/support/tickets/read endpoint to read the first open ticket
+ response = post(f'{BASE_URL}/organizations/support/tickets/read', headers=get_headers(), json={
+ "organizationId": ORGANIZATION_ID,
+ "hash": open_tickets[0]['hash']
+ })
+ # Parse the JSON response into python managable dict
+ result = response.json()
+ # Check if the request was successful and print the messages
+ if result['success']:
+ for message in result['messages']:
+ print(message['time'], message['name'], message['message'])
+
+### Create Support Ticket (only when the quota has tickets left)
+if remaining > 0:
+ # Send a POST request to the /organizations/support/tickets/create endpoint to open a new ticket
+ # Each new ticket uses one ticket from the quota of your support seat
+ response = post(f'{BASE_URL}/organizations/support/tickets/create', headers=get_headers(), json={
+ "organizationId": ORGANIZATION_ID,
+ "subject": "Backtest orders don't fill at the expected price",
+ "message": "<p>The market orders in the attached backtest fill at the previous close.</p>",
+ "projectId": 12345678, # Optional. Gives the Support Team permission to view the project
+ "backtestId": "1c991c7eec8a7bd3b4bfc7e18a376fa6", # Optional. Backtest of the attached project
+ "deployId": "L-141106d80de1da9a9f85ea07c06bf7b6", # Optional. Stopped live deployment of the attached project
+ "agentDeploymentId": "A-3306e3e787f321efadf5c4392861d68d" # Optional. AI conversation of the attached project
+ })
+ # Parse the JSON response into python managable dict
+ result = response.json()
+ # Keep the hash of the new ticket to find it and comment on it
+ ticket_hash = result['hash']
+
+ ### Get the Id of the New Support Ticket
+ # Send a POST request to the /organizations/support/tickets/list endpoint to find the new ticket
+ response = post(f'{BASE_URL}/organizations/support/tickets/list', headers=get_headers(), json={
+ "organizationId": ORGANIZATION_ID
+ })
+ # Parse the JSON response into python managable dict
+ result = response.json()
+ # Print the Id to mention when you contact our Support Team about the ticket
+ ticket = next(t for t in result['open'] if t['hash'] == ticket_hash)
+ print(f"Ticket Id: {ticket['data']['external_id']}")
+
+ ### Comment on Support Ticket
+ # Send a POST request to the /organizations/support/tickets/create endpoint with the hash to comment on the ticket
+ response = post(f'{BASE_URL}/organizations/support/tickets/create', headers=get_headers(), json={
+ "organizationId": ORGANIZATION_ID,
+ "hash": ticket_hash,
+ "message": "<p>The issue is resolved. Thank you.</p>",
+ "close": True # Close the ticket after you add the comment
+ })
+ # Parse the JSON response into python managable dict
+ result = response.json()
+ print(result)
+