GET /analytics/pull-requests

Return pull-request analytics.

Windowing: pass explicit start/end, or days (default: the last 30 days).

curl "https://api.ellipsis.dev/v1/analytics/pull-requests" \
  -H "Authorization: Bearer $ELLIPSIS_API_KEY"
{
  "facets": {
    "account_types": [
      "string"
    ],
    "authors": [
      {
        "account_type": "string",
        "author_id": 0,
        "avatar_url": "string",
        "login": "string",
        "prs": 0
      }
    ],
    "repos": [
      {
        "prs": 0,
        "repository_id": 0,
        "repository_name": "string"
      }
    ]
  },
  "recent": [
    {
      "additions": 0,
      "changed_files": 0,
      "commits": 0,
      "created_at": "2026-01-01T00:00:00Z",
      "deletions": 0,
      "head_ref": "string",
      "head_sha": "string",
      "html_url": "string",
      "id": 0,
      "merged_at": "2026-01-01T00:00:00Z",
      "number": 0,
      "repository_name": "string",
      "status": "string",
      "title": "string",
      "user_avatar_url": "string",
      "user_login": "string"
    }
  ],
  "series": [
    {
      "authors": 0,
      "authors_bot": 0,
      "authors_human": 0,
      "closed": 0,
      "commits": 0,
      "commits_bot": 0,
      "commits_human": 0,
      "date": "string",
      "lines": 0,
      "lines_bot": 0,
      "lines_human": 0,
      "merge_time": {
        "p0": 0,
        "p100": 0,
        "p25": 0,
        "p50": 0,
        "p75": 0
      },
      "merged": 0,
      "prs": 0,
      "prs_bot": 0,
      "prs_human": 0
    }
  ],
  "totals": {
    "active_authors": 0,
    "commits": 0,
    "lines": 0,
    "merge_time_p50_hours": 0,
    "merged": 0,
    "prs": 0
  },
  "truncated": false
}
No request body.
{
  "properties": {
    "facets": {
      "properties": {
        "account_types": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "authors": {
          "items": {
            "properties": {
              "account_type": {
                "type": "string"
              },
              "author_id": {
                "type": "integer"
              },
              "avatar_url": {
                "type": "string"
              },
              "login": {
                "type": "string"
              },
              "prs": {
                "type": "integer"
              }
            },
            "required": [
              "author_id",
              "login",
              "avatar_url",
              "account_type",
              "prs"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "repos": {
          "items": {
            "properties": {
              "prs": {
                "type": "integer"
              },
              "repository_id": {
                "type": "integer"
              },
              "repository_name": {
                "type": "string"
              }
            },
            "required": [
              "repository_id",
              "repository_name",
              "prs"
            ],
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "repos",
        "authors",
        "account_types"
      ],
      "type": "object"
    },
    "recent": {
      "items": {
        "properties": {
          "additions": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "changed_files": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "commits": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "deletions": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "head_ref": {
            "type": "string"
          },
          "head_sha": {
            "type": "string"
          },
          "html_url": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "merged_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "number": {
            "type": "integer"
          },
          "repository_name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "user_avatar_url": {
            "type": "string"
          },
          "user_login": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "number",
          "title",
          "status",
          "repository_name",
          "head_sha",
          "head_ref",
          "user_login",
          "user_avatar_url",
          "additions",
          "deletions",
          "changed_files",
          "commits",
          "created_at",
          "merged_at",
          "html_url"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "series": {
      "items": {
        "properties": {
          "authors": {
            "type": "integer"
          },
          "authors_bot": {
            "type": "integer"
          },
          "authors_human": {
            "type": "integer"
          },
          "closed": {
            "type": "integer"
          },
          "commits": {
            "type": "integer"
          },
          "commits_bot": {
            "type": "integer"
          },
          "commits_human": {
            "type": "integer"
          },
          "date": {
            "type": "string"
          },
          "lines": {
            "type": "integer"
          },
          "lines_bot": {
            "type": "integer"
          },
          "lines_human": {
            "type": "integer"
          },
          "merge_time": {
            "properties": {
              "p0": {
                "type": "number"
              },
              "p100": {
                "type": "number"
              },
              "p25": {
                "type": "number"
              },
              "p50": {
                "type": "number"
              },
              "p75": {
                "type": "number"
              }
            },
            "required": [
              "p0",
              "p25",
              "p50",
              "p75",
              "p100"
            ],
            "type": "object"
          },
          "merged": {
            "type": "integer"
          },
          "prs": {
            "type": "integer"
          },
          "prs_bot": {
            "type": "integer"
          },
          "prs_human": {
            "type": "integer"
          }
        },
        "required": [
          "date",
          "prs",
          "prs_human",
          "prs_bot",
          "merged",
          "closed",
          "lines",
          "lines_human",
          "lines_bot",
          "commits",
          "commits_human",
          "commits_bot",
          "authors",
          "authors_human",
          "authors_bot",
          "merge_time"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "totals": {
      "properties": {
        "active_authors": {
          "type": "integer"
        },
        "commits": {
          "type": "integer"
        },
        "lines": {
          "type": "integer"
        },
        "merge_time_p50_hours": {
          "type": "number"
        },
        "merged": {
          "type": "integer"
        },
        "prs": {
          "type": "integer"
        }
      },
      "required": [
        "prs",
        "merged",
        "lines",
        "commits",
        "active_authors",
        "merge_time_p50_hours"
      ],
      "type": "object"
    },
    "truncated": {
      "type": "boolean"
    }
  },
  "required": [
    "series",
    "totals",
    "facets",
    "recent",
    "truncated"
  ],
  "type": "object"
}

Request

Responses

On this page

No Headings
Schedule a demo