---
title: "Get project factory ticket to PR time"
method: GET
path: "/experimental/projects/{projectId}/factory/metrics/ticket-to-pr"
tags: ["Projects"]
---

# Get project factory ticket to PR time

`GET /experimental/projects/{projectId}/factory/metrics/ticket-to-pr`

## Request

- Base URL: `https://api.tessl.io`
- URL: `https://api.tessl.io/experimental/projects/{projectId}/factory/metrics/ticket-to-pr`
- Auth: none declared

Takes the median time, in minutes, from the factory picking up a PR's tickets to the PR opening, for PRs a project run produced, by open time, in the requested window (`filter[timestamp][gte]` to the exclusive `filter[timestamp][lt]`, at most 90 days, the last 7 days when neither is given) and in the window of the same length just before it. A PR's tickets are the issues its producing runs reference. Pickup is the earliest project run that references one of them. The open time is GitHub’s, from webhooks, else when the PR was first linked as produced. A PR with no ticket, or opened before pickup, is left out. `medianMinutes` is null with no PRs. `trackedSince` is when the repository’s record of PRs starts, null before its first. `series` has one point per UTC day that the current window touches, zeros included, and its `prs` add up to `current`.

## Path parameters

- `projectId` string, uuid, required

## Query parameters

- `filter[timestamp][gte]` string, date-time
- `filter[timestamp][lt]` string, date-time

## Headers

- `Authorization` string

## Response `200`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
  - `data` object, required
    - `id` string, uuid, required
    - `type` 'project-factory-ticket-to-pr', required
    - `attributes` object, required
      - `current` object, required
        - `start` string, date-time, required
        - `end` string, date-time, required
        - `prs` integer, required
        - `medianMinutes` number, nullable, required
      - `previous` object, required
        - `start` string, date-time, required
        - `end` string, date-time, required
        - `prs` integer, required
        - `medianMinutes` number, nullable, required
      - `series` object[], required
        - `day` string, required
        - `prs` integer, required
        - `medianMinutes` number, nullable, required
      - `trackedSince` string, date-time, nullable, required

## Other responses

- `401`: Unauthorized
- `403`: Default Response
- `404`: Not Found
- `500`: Internal Server Error

## Changes

- **2026-10-29** `06d2142ed144`: 1 info
  - api operation id `getProjectFactoryMetricTicketToPr` was added
- **2026-10-28** `a1ace5a7e7a4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/tessl/apis/tessl-api/changes/experimental/projects/:projectId/factory/metrics/ticket-to-pr/get.md)

---

[API](https://skmtc.dev/tessl/apis/tessl-api.md) - [All operations](https://skmtc.dev/tessl/apis/tessl-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tessl/apis/tessl-api/revisions/4fa2a17154e4?raw)
