Skip to main content
Export Employee Task Profile data
curl --request POST \
  --url https://{tenant_name}.{region}.techwolf.ai/export/employees/task_profiles \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "limit": 10,
  "include": [
    "ai_impact",
    "source_events"
  ],
  "filters": [
    {
      "filter": "is_active",
      "is_active": true
    }
  ]
}
'
{
  "has_next": true,
  "next_starting_after": "id_4",
  "records": [
    {
      "external_id": "61a6e076-d780-11ec-9d64-0242ac120002",
      "tasks": [
        {
          "task_id": "write-unit-tests",
          "task": "Write unit tests",
          "validation_state": "validated",
          "weekly_hours": 5,
          "ai_impact": {
            "level": "H2",
            "rationale": "Portions can be automated via LLM test generation"
          },
          "source_events": [
            {
              "external_id": "5cbdbdbe-5f44-4423-8157-520f8a2f429a",
              "event_type": "project"
            }
          ]
        },
        {
          "task_id": "review-pull-requests",
          "task": "Review pull requests",
          "validation_state": "suggested",
          "ai_impact": {
            "level": "H3",
            "rationale": "Requires human judgment for code quality assessment"
          },
          "source_events": [
            {
              "external_id": "5cbdbdbe-5f44-4423-8157-520f8a2f429a",
              "event_type": "project"
            }
          ]
        }
      ]
    }
  ]
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Query Parameters

response_format
enum<string>
default:list

The format of the response profile.

Available options:
list,
hierarchy
Example:

"list"

Body

application/json
limit
integer
required

Number of Employees to return per page.

Required range: 1 <= x <= 100
Example:

10

starting_after
string<slug>

The external_id of the last Employee seen. Used for cursor-based pagination. Omit on the first request.

Maximum string length: 100
Example:

"id_9"

include
enum<string>[]

Expand tasks with additional data.

Available options:
ai_impact,
source_events,
weekly_hours
Example:
["ai_impact", "source_events"]
filters
(is_active · object | last_updated · object)[]

A set of filters to apply on the exported Employees.

Response

OK

has_next
boolean
required

True when there is more data after this page.

Example:

true

records
object[]
required

List of Employee task profile records. Shape depends on response_format: each record contains either a flat tasks array (list) or a nested hierarchy tree (hierarchy).

Record shape when response_format=list (default). The profile consists of a flat list of Tasks assigned to the Employee.

Example:
{
"external_id": "61a6e076-d780-11ec-9d64-0242ac120002",
"tasks": [
{
"task_id": "write-unit-tests",
"task": "Write unit tests",
"validation_state": "validated",
"weekly_hours": 5,
"ai_impact": {
"level": "H2",
"rationale": "Portions can be automated via LLM test generation"
},
"source_events": [
{
"external_id": "5cbdbdbe-5f44-4423-8157-520f8a2f429a",
"event_type": "project"
}
]
},
{
"task_id": "review-pull-requests",
"task": "Review pull requests",
"validation_state": "suggested",
"ai_impact": {
"level": "H3",
"rationale": "Requires human judgment for code quality assessment"
},
"source_events": [
{
"external_id": "5cbdbdbe-5f44-4423-8157-520f8a2f429a",
"event_type": "project"
}
]
}
]
}
next_starting_after
string<slug>

The cursor value to use as starting_after on the next request. Only present when has_next is true.

Maximum string length: 100
Example:

"id_4"