Items
An item is a chronological representation of an interaction with a user.
Endpoint
GET /api/data/{queue}/{number}
 
Parameters
| Name | 
Value | 
queue | 
The queue of the item. | 
number | 
The number of the item. | 
Query String Options
| Name | 
Description | 
Possible Values | 
headers_only | 
When "True", only meta data will be loaded. When "False" content will be parsed. (Defaults to "False".) | 
"True" | "False" | 
Return Codes
| Code | 
Description | 
200 - Ok | 
On success. | 
404 - Not Found | 
When the Item does not exist. | 
500 - Internal Service Error | 
On failure. | 
Properties
Item.assigned_to:
| Type | 
Description | 
String | 
The Purdue career account alias of the person this item is assigned to. | 
Example
console.log(Item.assigned_to)
// Expexted Output
"sundeep"
 
 
Item.building
| Type | 
Description | 
String | 
The building a particular Item is related to. | 
Example
console.log(Item.building)
// Expexted Output
"ME"
 
 
Item.content
| Type | 
Description | 
Array<Object> | 
A chronological array of objects representing 1 of 9 possible actions taken on an item. | 
Possible Actions
Directory Information
Information about the user info collected from ECNDB including but not limited to alias, phone number and office location.
Properties
| Key | 
Value | 
type | 
directory_information | 
Name | 
The real name of the sender. | 
Login | 
The career account alias of the sender. | 
Computer | 
The computer the item is related to. Formatting may vary. | 
Location | 
Where the computer is located. | 
Email | 
The email address of the sender. | 
Phone | 
The phone number of the sender. | 
Office | 
The office location of the sender. | 
UNIX Dir | 
The home directory for the user on non-Windows systems | 
Zero Dir | 
The home directory for the user via Active Directory | 
User ECNDB | 
Link to the sender's username report in ECNDB | 
Host ECNDB | 
Link to the computer report in ECNDB | 
Subject | 
The subject of the email sent to the queue | 
 
Parsed Example
{
    "type": "directory_information",
    "Name": "Nestor Fabian Rodriguez Buitrago",
    "Login": "rodri563",
    "Computer": "ce-205-38 (128.46.205.67)",
    "Location": "HAMP G230",
    "Email": "rodri563@purdue.edu",
    "Phone": "7654766893",
    "Office": "HAMP G230",
    "UNIX Dir": "/home/bridge/b/rodri563",
    "Zero Dir": "U=\\\\bridge.ecn.purdue.edu\\rodri563",
    "User ECNDB": "http://eng.purdue.edu/jump/2e8399a",
    "Host ECNDB": "http://eng.purdue.edu/jump/2e83999",
    "Subject": "Autocad installation"
}
 
 
 
Initial Message
The body of the email the item originated from.
Properties
| Key | 
Value | 
type | 
initial_message | 
datetime | 
RFC 8061 formatted datetime string. | 
from_name | 
The sender's real name. Formatting may vary. This can be empty. | 
from_email | 
The sender's email address. | 
to | 
A list of names(s) and email(s) of people this message was sent to. | 
cc | 
A list of name(s) and email(s) of people who were CC'd. This can be empty. | 
subject | 
The subject of the initial message. | 
content | 
The content of the message as an list of strings. | 
 
Parsed Example
{
    "type": "initial_message",
    "datetime": "2020-09-11T01:26:45+00:00",
    "from_name": "Justin Campbell",
    "from_email": "campb303@purdue.edu",
    "to": [
        { "name": "John Doe", "email": "johndoe@example.com" },
    ],
    "cc": [
        { "name": "", "email": "janesmith@example.com" }
    ],
    "subject": Maps to item.subject,
    "content": [
        "I need some help with something.\n"
    ]
}
 
 
 
Edit
Information added by someone at ECN, usually for internal use and/or communication.
Properties
| Key | 
Value | 
type | 
edit | 
datetime | 
RFC 8061 formatted datetime string. | 
by | 
The career account alias of the person who added the edit. | 
content | 
The content of the edit as a list of strings. | 
 
Parsed Example
{
    "type": "edit",
    "datetime": "2020-04-22T16:39:51",
    "by": "knewell",
    "content": [
        "This is related to another item. I need to do X next.\n"
    ]
}
 
 
 
Status
A short message about the progress of the item.
Properties
| Key | 
Value | 
type | 
status | 
datetime | 
RFC 8061 formatted datetime string. | 
by | 
The career account alias of the person who updated the status. | 
content | 
The content of the status as a list of strings. | 
 
Parsed Example
{
    "type": "status",
    "datetime": "2020-04-23T10:35:47",
    "by": "knewell",
    "content": [
        "Doing X thing."
    ]
}
 
 
 
Assignment
Assigning the item to someone.
Properties
| Key | 
Value | 
type | 
assignment | 
datetime | 
RFC 8061 formatted datetime string. | 
by | 
The career account alias of the person who changed the | 
to | 
The career account alias of the person who the item was assigned to. | 
 
Parsed Example
{
    "type": "assignment",
    "datetime": "2020-06-23T13:27:00",
    "by": "harley",
    "to": "campb303",
}
 
 
 
Reply To User
A message from ECN to the user and/or related parties.
Properties
| Key | 
Value | 
type | 
reply_to_user | 
datetime | 
RFC 8061 formatted datetime string. | 
by | 
The sender's real name. Formatting may vary. This can be empty. | 
content | 
The content of the message as an list of strings | 
 
Parsed Example
{
    "type": "reply_to_user",
    "datetime": "2020-05-08T09:21:43",
    "by": "ewhile",
    "content": [
        "Sascha,\n",
        "\n",
        "Chicken kevin biltong, flank jowl prosciutto shoulder meatball meatloaf sirloin.\n",
        "\n",
        "Ethan White\n",
        "ECN"
    ]
}
 
 
 
Reply To User
A message from ECN to the user and/or related parties.
Properties
| Key | 
Value | 
type | 
reply_to_user | 
datetime | 
RFC 8061 formatted datetime string. | 
by | 
The sender's real name. Formatting may vary. This can be empty. | 
content | 
The content of the message as an list of strings | 
 
Parsed Example
{
    "type": "reply_to_user",
    "datetime": "2020-05-08T09:21:43",
    "by": "ewhile",
    "content": [
        "Sascha,\n",
        "\n",
        "Chicken kevin biltong, flank jowl prosciutto shoulder meatball meatloaf sirloin.\n",
        "\n",
        "Ethan White\n",
        "ECN"
    ]
}
 
 
 
Reply From User
A message from the user and/or related parties.
Properties
| Key | 
Value | 
type | 
reply_from_user | 
datetime | 
RFC 8061 formatted datetime string. | 
from_name | 
The sender's real name. Formatting may vary. This can be empty. | 
from_email | 
The sender's email address. | 
cc | 
A list of name(s) and email(s) of people who were CC'd. This can be empty. | 
headers | 
A dictionary of headers from the reply. | 
subject | 
The subject of the reply. | 
content | 
The content of the message as an list of strings | 
 
Parsed Example
{
    "type": "reply_from_user",
    "datetime": "2020-05-08T13:57:18+00:00",
    "from_name": "Reckowsky, Michael J.",
    "from_email": "mreckowsky@purdue.edu",
    "cc": [
        { "name": "John Doe", "email": "johndoe@example.com" },
        { "name": "", "email": "janesmith@example.com" }
    ],
    "headers" : [
        {
            "type": "Subject", 
            "content": "RE: New Computer Deploy"
        },
        {
            "type": "From", 
            "content": "\"Reckowsky, Michael J.\" <mreckowsky@purdue.edu>"
        },
        {
            "type": "Date", 
            "content": "Fri, 8 May 2020 13:57:17 +0000"
        },
    ],
    "subject": "RE: New Computer Deploy",
    "content": [
        "Ethan,\n",
        "\n",
        "Biltong beef ribs doner chuck, pork chop jowl salami cow filet mignon pork.\n",
        "\n",
        "Mike\n",
    ]
}
 
 
 
Parse Error
An error caused by a malformed delimiter or nested delimiters.
Properties
| Key | 
Value | 
type | 
parse_error | 
datetime | 
RFC 8061 formatted datetime string. | 
file_path | 
Full path of the item with the error. | 
expected | 
Description of what the parser was expecting. | 
got | 
Line that cause the parse error. | 
line_num | 
The line number in the item that caused the parse error. | 
 
Parsed Example
{
    'type': 'parse_error',
    'datetime': '2020-10-16T10:44:45',
    'file_path': '/home/pier/e/benne238/webqueue2/q-snapshot/aae/2',
    'expected': 'Did not encounter a reply-from-user ending delimiter',
    'got': 'Kris', 
    'line_num': 468
}
 
 
 
Item.date_received
| Type | 
Description | 
String | 
An ISO 8601 formatted time string showing the date this item was created. | 
Example
console.log(Item.date_received)
// Expexted Output
"2021-04-03T00:48:38+00:00"
 
 
Item.department
| Type | 
Description | 
String | 
The most recent department for this item. | 
Example
console.log(Item.department)
// Expexted Output
"Bussiness Office"
 
 
| Type | 
Description | 
Array<Object> | 
An array of objects containing parsed item headers in type/value pairs. | 
Example
console.log(Item.headers[0])
// Expexted Output
{ type: "From", content: "\"Campbell, Justin Tyler\" <campb303@purdue.edu>\n"}
 
 
Item.is_locked
| Type | 
Description | 
Boolean | 
A boolean showing whether or not a lockfile for the item is present. | 
Example
console.log(Item.is_locked)
// Expexted Output
true
 
 
Item.last_updated
| Type | 
Description | 
String | 
An ISO 8601 formatted time string showing the last time the file was updated according to the filesystem. | 
Example
console.log(Item.last_updated)
// Expected Output
"2021-04-03T00:48:38+00:00"
 
 
Item.number
| Type | 
Description | 
Number | 
The indentifying number of the queue item. | 
Example
console.log(Item.number)
// Expected Output
4
 
 
Item.path
| Type | 
Description | 
String | 
The absolute file path to the Item. | 
Example
console.log(Item.path)
// Expected Output
"/home/pier/e/queue/Mail/ce/1"
 
 
Item.priority:
| Type | 
Description | 
String | 
The most recent priority for this item. | 
Example
console.log(Item.priority)
// Expexted Output
"COVID"
 
 
Item.queue:
| Type | 
Description | 
String | 
The queue the Item is in. | 
Example
console.log(Item.queue)
// Expexted Output
"ce"
 
 
Item.status
| Type | 
Description | 
String | 
The most recent status update for the item. | 
Example
console.log(Item.status)
// Expexted Output
"Waiting for Reply"
 
 
Item.subject:
| Type | 
Description | 
String | 
The subject of the original message for this item. | 
Example
console.log(Item.subject)
// Expexted Output
"Can't Access Outlook"
 
 
Item.user_alias:
| Type | 
Description | 
String | 
The Purdue career account alias of the person this item is from. | 
Example
console.log(Item.user_alias)
// Expexted Output
"campb303"
 
 
Item.user_email
| Type | 
Description | 
String | 
The email address of the person who this item is from. | 
Example
console.log(Item.user_email)
// Expexted Output
"campb303@purdue.edu"
 
 
Item.user_name
| Type | 
Description | 
String | 
The real name of the person who this item is from. | 
Example
console.log(Item.user_name)
// Expexted Output
"Justin Campbell"