Omniplex Docs

Tickets

These API endpoints are related to tickets on IBL

GET
/tickets/{id}

Get Ticket

Gets a support ticket. Requires you to be the author of the ticket or have the 'staff' permission

/tickets/{id}

The Authorization access token

Authorization

User-Auth<token>

Requires a user token. Should be prefixed with User in Authorization header.

In: header

Path Parameters

id
Required
string

The ticket's ID

curl -X GET "https://spider.omniplex.gg/tickets/string" \
  -H "User-Auth: <token>"

Success

{
  "author": {
    "avatar": "string",
    "bot": true,
    "display_name": "string",
    "extra_data": {
      "property1": null,
      "property2": null
    },
    "flags": [
      "string"
    ],
    "id": "string",
    "status": "string",
    "username": "string"
  },
  "channel_id": "string",
  "close_user": {
    "avatar": "string",
    "bot": true,
    "display_name": "string",
    "extra_data": {
      "property1": null,
      "property2": null
    },
    "flags": [
      "string"
    ],
    "id": "string",
    "status": "string",
    "username": "string"
  },
  "created_at": "2019-08-24T14:15:22Z",
  "id": "string",
  "issue": "string",
  "mentions": {
    "channels": {
      "property1": "string",
      "property2": "string"
    },
    "roles": {
      "property1": {
        "color": 0,
        "name": "string"
      },
      "property2": {
        "color": 0,
        "name": "string"
      }
    },
    "users": {
      "property1": {
        "avatar": "string",
        "bot": true,
        "display_name": "string",
        "extra_data": {
          "property1": null,
          "property2": null
        },
        "flags": [
          "string"
        ],
        "id": "string",
        "status": "string",
        "username": "string"
      },
      "property2": {
        "avatar": "string",
        "bot": true,
        "display_name": "string",
        "extra_data": {
          "property1": null,
          "property2": null
        },
        "flags": [
          "string"
        ],
        "id": "string",
        "status": "string",
        "username": "string"
      }
    }
  },
  "messages": [
    {
      "attachments": [
        {
          "content_type": "string",
          "errors": [
            "string"
          ],
          "id": "string",
          "name": "string",
          "size": 0
        }
      ],
      "author": {
        "avatar": "string",
        "bot": true,
        "display_name": "string",
        "extra_data": {
          "property1": null,
          "property2": null
        },
        "flags": [
          "string"
        ],
        "id": "string",
        "status": "string",
        "username": "string"
      },
      "author_id": "string",
      "content": "string",
      "embeds": [
        {
          "author": {
            "icon_url": "string",
            "name": "string",
            "proxy_icon_url": "string",
            "url": "string"
          },
          "color": 0,
          "description": "string",
          "fields": [
            {
              "inline": true,
              "name": "string",
              "value": "string"
            }
          ],
          "footer": {
            "icon_url": "string",
            "proxy_icon_url": "string",
            "text": "string"
          },
          "image": {
            "height": 0,
            "proxy_url": "string",
            "url": "string",
            "width": 0
          },
          "provider": {
            "name": "string",
            "url": "string"
          },
          "thumbnail": {
            "height": 0,
            "proxy_url": "string",
            "url": "string",
            "width": 0
          },
          "timestamp": "2019-08-24T14:15:22Z",
          "title": "string",
          "type": "string",
          "url": "string",
          "video": {
            "height": 0,
            "proxy_url": "string",
            "url": "string",
            "width": 0
          }
        }
      ],
      "id": "string",
      "timestamp": "2019-08-24T14:15:22Z"
    }
  ],
  "open": true,
  "ticket_context": {
    "property1": "string",
    "property2": "string"
  },
  "topic_id": "string"
}

PATCH
/tickets/{id}

Patch Ticket

Closes or reopens a ticket. The author may close their own ticket; reopening requires staff. Returns 204 on success.

/tickets/{id}

The Authorization access token

Authorization

User-Auth<token>

Requires a user token. Should be prefixed with User in Authorization header.

In: header

Request Body

application/jsonRequired

openboolean

Path Parameters

id
Required
string

The ticket's ID.

curl -X PATCH "https://spider.omniplex.gg/tickets/string" \
  -H "User-Auth: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "open": true
  }'

Success

{
  "context": {
    "property1": "string",
    "property2": "string"
  },
  "message": "string"
}

GET
/tickets/topics

Get Ticket Topics

Returns the predefined list of topics a ticket can be filed under.

/tickets/topics
curl -X GET "https://spider.omniplex.gg/tickets/topics"

Success

{
  "topics": [
    {
      "id": "string",
      "name": "string"
    }
  ]
}

POST
/tickets/{id}/messages

Create Ticket Message

Replies to a ticket. Requires being the ticket's author or staff with the 'manage_tickets' permission. Returns 204 on success.

/tickets/{id}/messages

The Authorization access token

Authorization

User-Auth<token>

Requires a user token. Should be prefixed with User in Authorization header.

In: header

Request Body

application/jsonRequired

contentstring

Path Parameters

id
Required
string

The ticket's ID.

curl -X POST "https://spider.omniplex.gg/tickets/string/messages" \
  -H "User-Auth: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "string"
  }'

Success

{
  "context": {
    "property1": "string",
    "property2": "string"
  },
  "message": "string"
}

GET
/staff/tickets

Get Staff Tickets

Gets every ticket platform-wide. Requires the 'view_tickets' staff permission.

/staff/tickets

The Authorization access token

Authorization

User-Auth<token>

Requires a user token. Should be prefixed with User in Authorization header.

In: header

Query Parameters

openstring

Filter to open (true) or closed (false) tickets only. Omit for all tickets.

pagestring

The page number, 1-indexed.

curl -X GET "https://spider.omniplex.gg/staff/tickets?open=string&page=string" \
  -H "User-Auth: <token>"

Success

{
  "tickets": [
    {
      "author": {
        "avatar": "string",
        "bot": true,
        "display_name": "string",
        "extra_data": {
          "property1": null,
          "property2": null
        },
        "flags": [
          "string"
        ],
        "id": "string",
        "status": "string",
        "username": "string"
      },
      "channel_id": "string",
      "close_user": {
        "avatar": "string",
        "bot": true,
        "display_name": "string",
        "extra_data": {
          "property1": null,
          "property2": null
        },
        "flags": [
          "string"
        ],
        "id": "string",
        "status": "string",
        "username": "string"
      },
      "created_at": "2019-08-24T14:15:22Z",
      "id": "string",
      "issue": "string",
      "mentions": {
        "channels": {
          "property1": "string",
          "property2": "string"
        },
        "roles": {
          "property1": {
            "color": 0,
            "name": "string"
          },
          "property2": {
            "color": 0,
            "name": "string"
          }
        },
        "users": {
          "property1": {
            "avatar": "string",
            "bot": true,
            "display_name": "string",
            "extra_data": {
              "property1": null,
              "property2": null
            },
            "flags": [
              "string"
            ],
            "id": "string",
            "status": "string",
            "username": "string"
          },
          "property2": {
            "avatar": "string",
            "bot": true,
            "display_name": "string",
            "extra_data": {
              "property1": null,
              "property2": null
            },
            "flags": [
              "string"
            ],
            "id": "string",
            "status": "string",
            "username": "string"
          }
        }
      },
      "messages": [
        {
          "attachments": [
            {
              "content_type": "string",
              "errors": [
                "string"
              ],
              "id": "string",
              "name": "string",
              "size": 0
            }
          ],
          "author": {
            "avatar": "string",
            "bot": true,
            "display_name": "string",
            "extra_data": {
              "property1": null,
              "property2": null
            },
            "flags": [
              "string"
            ],
            "id": "string",
            "status": "string",
            "username": "string"
          },
          "author_id": "string",
          "content": "string",
          "embeds": [
            {
              "author": {
                "icon_url": "string",
                "name": "string",
                "proxy_icon_url": "string",
                "url": "string"
              },
              "color": 0,
              "description": "string",
              "fields": [
                {
                  "inline": true,
                  "name": "string",
                  "value": "string"
                }
              ],
              "footer": {
                "icon_url": "string",
                "proxy_icon_url": "string",
                "text": "string"
              },
              "image": {
                "height": 0,
                "proxy_url": "string",
                "url": "string",
                "width": 0
              },
              "provider": {
                "name": "string",
                "url": "string"
              },
              "thumbnail": {
                "height": 0,
                "proxy_url": "string",
                "url": "string",
                "width": 0
              },
              "timestamp": "2019-08-24T14:15:22Z",
              "title": "string",
              "type": "string",
              "url": "string",
              "video": {
                "height": 0,
                "proxy_url": "string",
                "url": "string",
                "width": 0
              }
            }
          ],
          "id": "string",
          "timestamp": "2019-08-24T14:15:22Z"
        }
      ],
      "open": true,
      "ticket_context": {
        "property1": "string",
        "property2": "string"
      },
      "topic_id": "string"
    }
  ]
}

GET
/users/{user_id}/tickets

Get User Tickets

Gets every ticket the given user has opened.

/users/{user_id}/tickets

The Authorization access token

Authorization

User-Auth<token>

Requires a user token. Should be prefixed with User in Authorization header.

In: header

Path Parameters

user_id
Required
string

The ID of the user.

curl -X GET "https://spider.omniplex.gg/users/string/tickets" \
  -H "User-Auth: <token>"

Success

{
  "tickets": [
    {
      "author": {
        "avatar": "string",
        "bot": true,
        "display_name": "string",
        "extra_data": {
          "property1": null,
          "property2": null
        },
        "flags": [
          "string"
        ],
        "id": "string",
        "status": "string",
        "username": "string"
      },
      "channel_id": "string",
      "close_user": {
        "avatar": "string",
        "bot": true,
        "display_name": "string",
        "extra_data": {
          "property1": null,
          "property2": null
        },
        "flags": [
          "string"
        ],
        "id": "string",
        "status": "string",
        "username": "string"
      },
      "created_at": "2019-08-24T14:15:22Z",
      "id": "string",
      "issue": "string",
      "mentions": {
        "channels": {
          "property1": "string",
          "property2": "string"
        },
        "roles": {
          "property1": {
            "color": 0,
            "name": "string"
          },
          "property2": {
            "color": 0,
            "name": "string"
          }
        },
        "users": {
          "property1": {
            "avatar": "string",
            "bot": true,
            "display_name": "string",
            "extra_data": {
              "property1": null,
              "property2": null
            },
            "flags": [
              "string"
            ],
            "id": "string",
            "status": "string",
            "username": "string"
          },
          "property2": {
            "avatar": "string",
            "bot": true,
            "display_name": "string",
            "extra_data": {
              "property1": null,
              "property2": null
            },
            "flags": [
              "string"
            ],
            "id": "string",
            "status": "string",
            "username": "string"
          }
        }
      },
      "messages": [
        {
          "attachments": [
            {
              "content_type": "string",
              "errors": [
                "string"
              ],
              "id": "string",
              "name": "string",
              "size": 0
            }
          ],
          "author": {
            "avatar": "string",
            "bot": true,
            "display_name": "string",
            "extra_data": {
              "property1": null,
              "property2": null
            },
            "flags": [
              "string"
            ],
            "id": "string",
            "status": "string",
            "username": "string"
          },
          "author_id": "string",
          "content": "string",
          "embeds": [
            {
              "author": {
                "icon_url": "string",
                "name": "string",
                "proxy_icon_url": "string",
                "url": "string"
              },
              "color": 0,
              "description": "string",
              "fields": [
                {
                  "inline": true,
                  "name": "string",
                  "value": "string"
                }
              ],
              "footer": {
                "icon_url": "string",
                "proxy_icon_url": "string",
                "text": "string"
              },
              "image": {
                "height": 0,
                "proxy_url": "string",
                "url": "string",
                "width": 0
              },
              "provider": {
                "name": "string",
                "url": "string"
              },
              "thumbnail": {
                "height": 0,
                "proxy_url": "string",
                "url": "string",
                "width": 0
              },
              "timestamp": "2019-08-24T14:15:22Z",
              "title": "string",
              "type": "string",
              "url": "string",
              "video": {
                "height": 0,
                "proxy_url": "string",
                "url": "string",
                "width": 0
              }
            }
          ],
          "id": "string",
          "timestamp": "2019-08-24T14:15:22Z"
        }
      ],
      "open": true,
      "ticket_context": {
        "property1": "string",
        "property2": "string"
      },
      "topic_id": "string"
    }
  ]
}

POST
/users/{user_id}/tickets

Create Ticket

Opens a new standalone support ticket. Returns the new ticket's ID.

/users/{user_id}/tickets

The Authorization access token

Authorization

User-Auth<token>

Requires a user token. Should be prefixed with User in Authorization header.

In: header

Request Body

application/jsonRequired

issuestring

messagestring

topicstring

Path Parameters

user_id
Required
string

The ID of the user opening the ticket.

curl -X POST "https://spider.omniplex.gg/users/string/tickets" \
  -H "User-Auth: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "issue": "string",
    "message": "string",
    "topic": "string"
  }'

Success

{
  "id": "string"
}