Problem Tasks API

Access to problem tasks requires the problem-task scope; the problem scope does not give access to them.

List problem tasks

List all problem tasks for an account:

GET /problem_tasks

Response

status: 200 OK
[
  {
    "created_at": "2026-10-05T09:12:44-05:00",
    "desired_completion_at": "2026-10-12T17:00:00-05:00",
    "id": 154,
    "member": {
      "id": 18,
      "name": "Ellen Brown",
      "account": {
        "id": "widget",
        "name": "Widget International"
      },
      "nodeID": "..."
    },
    "position": 1,
    "priority": "high",
    "problem": {
      "id": 2,
      "subject": "SAP timeouts during month-end closing",
      "nodeID": "..."
    },
    "problem_task_type": "investigation",
    "status": "accepted",
    "subject": "Correlate timeouts with the batch schedule",
    "team": {
      "id": 11,
      "name": "Application Development",
      "nodeID": "..."
    },
    "updated_at": "2026-10-06T11:03:17-05:00",
    "nodeID": "..."
  },
  {
    "created_at": "2026-10-05T09:15:02-05:00",
    "desired_completion_at": null,
    "id": 155,
    "member": null,
    "position": 2,
    "priority": "medium",
    "problem": {
      "id": 2,
      "subject": "SAP timeouts during month-end closing",
      "nodeID": "..."
    },
    "problem_task_type": "workaround",
    "status": "assigned",
    "subject": "Move the invoice batch out of the closing window",
    "team": {
      "id": 11,
      "name": "Application Development",
      "nodeID": "..."
    },
    "updated_at": "2026-10-05T09:15:02-05:00",
    "nodeID": "..."
  },
  "..."
]

The response contains these fields by default. Filtering and pagination are available to reduce/limit the collection of problem tasks.

This collection is served from the search index. A problem task appears in it shortly after it was created or updated, so a list retrieved immediately after a write may not contain the change yet. The subject filter matches the subject as a phrase rather than as a substring. Use Get a single problem task or Problems - Problem Tasks to read a problem task straight after a write.

Collection Fields

By default the following fields will appear in collections of problem tasks:

id subject problem problem_task_type priority status team member position desired_completion_at created_at updated_at

Obtain a different set of fields using the ?fields= parameter.

Filtering

Filtering is available for the following fields:

id problem subject problem_task_type priority status team member desired_completion_at closed_at created_at updated_at

A closed problem task is not found by a desired_completion_at filter.

Sorting

By default a collection of problem tasks is sorted ascending by position, and then by id.

The following fields are accepted by the ?sort= parameter:

id subject problem priority status team member position desired_completion_at closed_at created_at updated_at

Get a single problem task

GET /problem_tasks/:id

Response

status: 200 OK
{
  "close_note": null,
  "closed_at": null,
  "closed_by": null,
  "created_at": "2026-10-05T09:12:44-05:00",
  "created_by": {
    "id": 6,
    "name": "Howard Tanner",
    "account": {
      "id": "widget",
      "name": "Widget International"
    },
    "nodeID": "..."
  },
  "desired_completion_at": "2026-10-12T17:00:00-05:00",
  "id": 154,
  "instructions": "Collect the application logs of the last two weeks from the WDC-SAP-PRD01 server and compare the timeouts with the batch schedule.",
  "manager": {
    "id": 6,
    "name": "Howard Tanner",
    "account": {
      "id": "widget",
      "name": "Widget International"
    },
    "nodeID": "..."
  },
  "member": {
    "id": 18,
    "name": "Ellen Brown",
    "account": {
      "id": "widget",
      "name": "Widget International"
    },
    "nodeID": "..."
  },
  "position": 1,
  "priority": "high",
  "problem": {
    "id": 2,
    "subject": "SAP timeouts during month-end closing",
    "nodeID": "..."
  },
  "problem_task_type": "investigation",
  "request": null,
  "risk": null,
  "status": "accepted",
  "subject": "Correlate timeouts with the batch schedule",
  "team": {
    "id": 11,
    "name": "Application Development",
    "nodeID": "..."
  },
  "updated_at": "2026-10-06T11:03:17-05:00",
  "attachments": [],
  "nodeID": "..."
}

The response contains these fields.

Create a problem task

POST /problem_tasks

When creating a new problem task these fields are available. The problem_id field is required and selects the problem the task is added to.

Example

$ curl -H "Authorization: Bearer <oauth-token>" \
       -H "X-Xurrent-Account: wdc" \
       -X POST \
       -d '{"problem_id":2,"subject":"Correlate timeouts with the batch schedule","problem_task_type":"investigation","priority":"high"}' \
       https://api.xurrent.com/v1/problem_tasks

Only problem_id and subject are required. The task gets the team of the problem, the status assigned, the priority medium and the default type of the account, unless other values are provided.

Response

status: 201 Created
{
  "created_at": "...",
  "...": "..."
}

The response contains all fields of the created problem task and is similar to the response in Get a single problem task

Update a problem task

PATCH /problem_tasks/:id

When updating a problem task these fields are available.

Response

status: 200 OK
{
  "created_at": "...",
  "...": "..."
}

The response contains all fields of the updated problem task and is similar to the response in Get a single problem task

Problem tasks cannot be deleted.

Fields

attachments
Readonly aggregated Attachments
close_note
Optional text — The Close note field explains why the problem task was completed or canceled. It is required when the status is completed or canceled, and it is cleared when a closed problem task is reopened.
closed_at
Readonly datetime — The Closed field is set to the current date and time when the problem task is completed or canceled. It is cleared when the problem task is reopened.
closed_by
Readonly reference to Person — The Closed by field is set to the person who completed or canceled the problem task. It is cleared when the problem task is reopened.
created_at
Readonly datetime — The date and time at which the problem task was created.
created_by
Readonly reference to Person — The person who created the problem task.
desired_completion_at
Optional datetime — The Desired completion field is used to specify the date and time by which the problem task is expected to be completed.
id
Readonly integer — The unique ID of the problem task.
instructions
Optional text (max 64KB) — The Instructions field is used to describe the work that needs to be done for the problem task.
instructions_attachments
Writeonly attachments The attachments used in the Instructions field.
manager
Readonly reference to Person — The Manager field shows the person who is selected in the Manager field of the problem that this problem task belongs to.
member
Optional reference to Person — The Member field is used to select the person to whom the problem task is assigned. The member must be a member of the selected team. A member is required unless the status is assigned or canceled. Clearing the member of an open problem task sets its status to assigned. Setting the status to accepted makes the API user the member, unless a member is provided. Completing a problem task without a member makes the API user the member, and moves the task to a team of the API user when they are not a member of its team.
position
Optional integer — The Position field is used to specify the position of the problem task relative to the other tasks of the problem. Setting it moves the problem task and renumbers the other tasks of the problem. The position can only be set by someone who can see every task of the problem.
priority
Optional enum — The Priority field is used to indicate how important the problem task is for solving the problem. A problem cannot be solved while one of its tasks with priority high is open. Valid values are:
  • low: Low - Optional
  • medium: Medium - Expected (default)
  • high: High - Essential to the fix
problem
Required reference to Problem — The problem that the problem task belongs to. It is set with problem_id when the problem task is created and cannot be changed afterwards.
problem_task_type
Optional string — The reference of the problem task type, for example investigation, workaround, corrective, preventive, verification or other. The types are defined per account, see Problem Task Types Import. A problem task saved without a type gets the default type of the account (corrective). An unknown or disabled reference is rejected.
request
Optional reference to Request — The request that is linked to the problem task.
risk
Optional reference to Risk — The risk that is linked to the problem task. This field is only available for accounts in which risk management is enabled.
status
Optional enum — The Status field is used to select the current status of the problem task. Valid values are:
  • assigned: Assigned (default)
  • accepted: Accepted
  • in_progress: In Progress
  • completed: Completed
  • canceled: Canceled
subject
Required string (max 255) — The Subject field is used to enter a short description of the objective of the problem task.
team
Optional reference to Team — The Team field is used to select the team to which the problem task is assigned. It defaults to the team of the problem.
updated_at
Readonly datetime — The date and time of the last update of the problem task. If the problem task has no updates it contains the created_at value.