Tickets

Manage tickets and link them as requests on deals

List Tickets

get

List tickets. Requires the 'tickets:read' scope.

Authorizations
Query parameters
limitnumber · min: 1 · max: 1000Optional

The number of results to return

Default: 100
offsetnumberOptional

The number of results to skip

Default: 0
Responses
200

Response for status 200

application/json
get
/v1/tickets
GET /v1/tickets HTTP/1.1
Host: api.tryopine.com
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "items": [
    {
      "type": "BUG",
      "state": "OPEN",
      "id": 1,
      "createdAt": "2025-10-30T12:55:20.367Z",
      "updatedAt": "2025-10-30T12:55:20.367Z",
      "closedAt": "2025-10-30T12:55:20.367Z",
      "organizationId": 1,
      "createdByUserId": 1,
      "title": "text",
      "description": "text",
      "vendorEntityId": "text",
      "vendorEntityKey": "text",
      "integrationInstallationId": 1,
      "targetDueDate": "2025-10-30T12:55:20.367Z",
      "linkedDeals": [
        {
          "id": 1,
          "evaluationId": 1,
          "name": "text",
          "priority": "BLOCKER",
          "sharedWithBuyer": true
        }
      ],
      "dealAmountSum": 1,
      "vendorEntityUrl": "text"
    }
  ],
  "limit": 1,
  "offset": 1,
  "totalCount": 1
}

Create Ticket

post

Create a new ticket. Requires the 'tickets:write' scope.

Authorizations
Body
titlestring · min: 1 · max: 256Required
typestring · enumRequiredPossible values:
statestring · enumRequiredPossible values:
descriptionany ofOptional

The description of the ticket. An array of Slate nodes or a markdown string.

or
stringOptional
targetDueDatestring · date-timeOptional
labelsstring[]Optional

Array of case-sensitive label names (will be created if they don't exist)

vendorEntityUrlstring · uriOptional

URL to an existing ticket in the third-party ticketing system

Responses
201

Response for status 201

application/json
post
/v1/tickets
POST /v1/tickets HTTP/1.1
Host: api.tryopine.com
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 306

{
  "title": "text",
  "type": "BUG",
  "state": "OPEN",
  "description": [
    {
      "type": "text",
      "children": [
        {
          "ANY_ADDITIONAL_PROPERTY": "anything"
        }
      ],
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "targetDueDate": "2025-10-30T12:55:20.367Z",
  "deals": [
    {
      "id": 1,
      "priority": "BLOCKER"
    }
  ],
  "labels": [
    "text"
  ],
  "vendorEntityUrl": "https://example.com"
}
{
  "type": "BUG",
  "state": "OPEN",
  "id": 1,
  "createdAt": "2025-10-30T12:55:20.367Z",
  "updatedAt": "2025-10-30T12:55:20.367Z",
  "closedAt": "2025-10-30T12:55:20.367Z",
  "organizationId": 1,
  "createdByUserId": 1,
  "title": "text",
  "description": "text",
  "vendorEntityId": "text",
  "vendorEntityKey": "text",
  "integrationInstallationId": 1,
  "targetDueDate": "2025-10-30T12:55:20.367Z",
  "linkedDeals": [
    {
      "id": 1,
      "evaluationId": 1,
      "name": "text",
      "priority": "BLOCKER",
      "sharedWithBuyer": true
    }
  ],
  "dealAmountSum": 1,
  "vendorEntityUrl": "text"
}

Update Ticket

put

Update an existing ticket. Requires the 'tickets:write' scope.

Authorizations
Path parameters
idstringRequired
Body
titlestring · min: 1 · max: 256Optional
typestring · enumOptionalPossible values:
statestring · enumOptionalPossible values:
descriptionany ofOptional

The description of the ticket. An array of Slate nodes, a markdown string, or null to clear.

or
stringOptional
or
undefined · enum | nullableOptionalPossible values:
targetDueDatestring · date-time | nullableOptional
labelsstring[] | nullableOptional

Array of case-sensitive label names (will be created if they don't exist). Replaces all existing labels. Set to null or empty array to clear all labels.

vendorEntityUrlstring · uri | nullableOptional

URL to an existing ticket in the third-party ticketing system

Responses
200

Response for status 200

application/json
put
/v1/tickets/{id}
PUT /v1/tickets/{id} HTTP/1.1
Host: api.tryopine.com
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 320

{
  "title": "text",
  "type": "BUG",
  "state": "OPEN",
  "description": [
    {
      "type": "text",
      "children": [
        {
          "ANY_ADDITIONAL_PROPERTY": "anything"
        }
      ],
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "targetDueDate": "2025-10-30T12:55:20.367Z",
  "deals": [
    {
      "id": 1,
      "priority": "BLOCKER",
      "delete": true
    }
  ],
  "labels": [
    "text"
  ],
  "vendorEntityUrl": "https://example.com"
}
{
  "type": "BUG",
  "state": "OPEN",
  "id": 1,
  "createdAt": "2025-10-30T12:55:20.367Z",
  "updatedAt": "2025-10-30T12:55:20.367Z",
  "closedAt": "2025-10-30T12:55:20.367Z",
  "organizationId": 1,
  "createdByUserId": 1,
  "title": "text",
  "description": "text",
  "vendorEntityId": "text",
  "vendorEntityKey": "text",
  "integrationInstallationId": 1,
  "targetDueDate": "2025-10-30T12:55:20.367Z",
  "linkedDeals": [
    {
      "id": 1,
      "evaluationId": 1,
      "name": "text",
      "priority": "BLOCKER",
      "sharedWithBuyer": true
    }
  ],
  "dealAmountSum": 1,
  "vendorEntityUrl": "text"
}

Last updated