Skip to content

A person's contribution graph and timeline for the last year

A contribution is a commit that reached a repository's main (credited to its author and to every Co-authored-by person whose sign-in email it names, if they can open that repository; merge commits never), a branch opened (by the person whose sign-in pushed it), a review, or a repository made. Pushes, merges as such, checks and saves of the shared files themselves do not count. A repository's past commits count when its main first arrives (pando init in an existing repo, a first push of main), read in the background a page at a time. A viewer sees only the work in repositories they can open now, on their own profile too. Counts are kept per UTC hour in the person's feed; a credit shows about half a second after a merge. With day, the answer is that day's ContributionPeriod. 404 for an org or no such person.

GET
https://app.gitpando.com/v1/users/{login}/contributions

Authorisation

  • credentialoptionalHTTP
  • sessionoptionalAPI key in cookie

Path parameters

  • loginstringrequired

    A user's login, which is their namespace, or an organization's (one space for both): 1 to 39 lower-case letters, digits and single hyphens, no hyphen at either end (input in any case is lowered). Reserved, because a namespace is the first URL segment: v1, healthz, login, logout, settings, assets, fonts, new, api, app, static, orgs, users, docs, install. A login made at sign-in comes from the email's local part, skipping reserved and taken names (base, base-2, ... base-999, then a random tail).

    pattern: ^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$

Query parameters

  • tzoptionalinteger

    The viewer's time zone, in minutes east of UTC (-420 for California in summer; the browser's -getTimezoneOffset()). Days are counted in it, at its offset today for the whole year: up to an hour off across a daylight-saving change, half-hour zones rounded to the hour.

    maximum: 840, minimum: -720
    Default: 0
  • dayoptionalstring

    One day of the window (YYYY-MM-DD) for its timeline alone.

    format: date

Returns

200

OK (Contributions; with day, ContributionPeriod)

JSON

One of the following:

  • 10 properties
    • loginstringrequired

      A user's login, which is their namespace, or an organization's (one space for both): 1 to 39 lower-case letters, digits and single hyphens, no hyphen at either end (input in any case is lowered). Reserved, because a namespace is the first URL segment: v1, healthz, login, logout, settings, assets, fonts, new, api, app, static, orgs, users, docs, install. A login made at sign-in comes from the email's local part, skipping reserved and taken names (base, base-2, ... base-999, then a random tail).

      pattern: ^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$
    • tzintegerrequired

      The tz asked for.

    • fromstringrequired

      The first square: the Sunday 52 weeks before this week's.

      format: date
    • tostringrequired

      Today

      format: date
    • totalintegerrequired
      minimum: 0
    • levelsarray ofintegerrequired

      The lowest count of shades 1 to 4, the quartiles of the person's non-empty days.

      minimum: 0
    • daysarray ofobjectrequired

      Non-empty days only, oldest first.

      6 properties
      • datestringrequired
        format: date
      • nintegerrequired
      • commitintegerrequired
      • branchintegerrequired
      • reviewintegerrequired
      • createdintegerrequired
    • monoreposarray ofobjectrequired

      Repositories shared with the viewer or with the person's work in them, most first.

      5 properties
      • full_namestringrequired
      • owner_typeuserororgrequired
      • kindmonorepoorreporequired
      • nintegerrequired
      • monthsarray ofintegerrequired

        By calendar month, oldest first, one per month the window touches.

    • kindsobjectrequired
      4 properties
      • commitintegerrequired
      • branchintegerrequired
      • reviewintegerrequired
      • createdintegerrequired
    • monthsarray ofobjectrequired

      Months with any activity, newest first.

      6 properties
      • periodstringrequired
      • commitarray ofobjectrequired
        2 properties
        • full_namestringrequired
        • nintegerrequired
          minimum: 0
      • brancharray ofobjectrequired
        2 properties
        • full_namestringrequired
        • nintegerrequired
          minimum: 0
      • reviewarray ofobjectrequired
        2 properties
        • full_namestringrequired
        • nintegerrequired
          minimum: 0
      • createdarray ofobjectrequired

        Repositories the person made, oldest first.

        2 properties
        • full_namestringrequired
        • atstringrequired
          format: date-time
      • joinedarray ofobjectrequired

        Organizations the person made (created) or joined, shared with the viewer. Not counted on the graph.

        4 properties
        • orgstringrequired

          A user's login, which is their namespace, or an organization's (one space for both): 1 to 39 lower-case letters, digits and single hyphens, no hyphen at either end (input in any case is lowered). Reserved, because a namespace is the first URL segment: v1, healthz, login, logout, settings, assets, fonts, new, api, app, static, orgs, users, docs, install. A login made at sign-in comes from the email's local part, skipping reserved and taken names (base, base-2, ... base-999, then a random tail).

          pattern: ^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$
        • namestring | nullrequired
        • atstringrequired
          format: date-time
        • createdbooleanrequired
  • 6 properties
    • periodstringrequired
    • commitarray ofobjectrequired
      2 properties
      • full_namestringrequired
      • nintegerrequired
        minimum: 0
    • brancharray ofobjectrequired
      2 properties
      • full_namestringrequired
      • nintegerrequired
        minimum: 0
    • reviewarray ofobjectrequired
      2 properties
      • full_namestringrequired
      • nintegerrequired
        minimum: 0
    • createdarray ofobjectrequired

      Repositories the person made, oldest first.

      2 properties
      • full_namestringrequired
      • atstringrequired
        format: date-time
    • joinedarray ofobjectrequired

      Organizations the person made (created) or joined, shared with the viewer. Not counted on the graph.

      4 properties
      • orgstringrequired

        A user's login, which is their namespace, or an organization's (one space for both): 1 to 39 lower-case letters, digits and single hyphens, no hyphen at either end (input in any case is lowered). Reserved, because a namespace is the first URL segment: v1, healthz, login, logout, settings, assets, fonts, new, api, app, static, orgs, users, docs, install. A login made at sign-in comes from the email's local part, skipping reserved and taken names (base, base-2, ... base-999, then a random tail).

        pattern: ^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$
      • namestring | nullrequired
      • atstringrequired
        format: date-time
      • createdbooleanrequired

400

An error

JSON
  • errorobjectrequired
    4 properties
    • codestringrequired
    • messagestringrequired
    • pathsoptionalarray ofstring
    • checksoptionalobject

      GitHub's combined status, plus the required contexts and which are missing.

      6 properties
      • shastring | nullrequired
      • statesuccessorpendingorfailureorerrorormissingorunknownrequired

        success when the merge gate passes; missing when a required context has not reported; unknown while the required checks are (an unforced merge is refused).

      • requiredarray | nullrequired

        Null while unknown.

      • checks_unknownstring | nullrequired

        Why the required checks are unknown, in plain words: "Pando couldn't read this monorepo's required checks; try again", or "pando.toml line 3: expected comma or end of structure; fix it on main, or merge with force". Null otherwise.

      • statusesarray ofobjectrequired

        The latest status per context.

        8 properties
        • shastringrequired
        • contextstringrequired
        • statependingorsuccessorfailureorerrorrequired
        • created_atstringrequired
          format: date-time
        • target_urloptionalstring | null
        • descriptionoptionalstring | null
        • creatoroptionalstring

          The member who posted it (a login); app:<slug> for a status posted with a status token or by a CI integration; hook:<hook id> for a status token from a web hook with no app.

        • appoptionalstring | null

          The CI service that reported it (buildkite, github-actions, ...), stamped by Pando from a status token or a CI integration, never from the body or target_url. Null when a member posted it with their own credential. The web shows the service's mark for a slug it knows.

      • missingoptionalarray ofstring

401

An error

JSON
  • errorobjectrequired
    4 properties
    • codestringrequired
    • messagestringrequired
    • pathsoptionalarray ofstring
    • checksoptionalobject

      GitHub's combined status, plus the required contexts and which are missing.

      6 properties
      • shastring | nullrequired
      • statesuccessorpendingorfailureorerrorormissingorunknownrequired

        success when the merge gate passes; missing when a required context has not reported; unknown while the required checks are (an unforced merge is refused).

      • requiredarray | nullrequired

        Null while unknown.

      • checks_unknownstring | nullrequired

        Why the required checks are unknown, in plain words: "Pando couldn't read this monorepo's required checks; try again", or "pando.toml line 3: expected comma or end of structure; fix it on main, or merge with force". Null otherwise.

      • statusesarray ofobjectrequired

        The latest status per context.

        8 properties
        • shastringrequired
        • contextstringrequired
        • statependingorsuccessorfailureorerrorrequired
        • created_atstringrequired
          format: date-time
        • target_urloptionalstring | null
        • descriptionoptionalstring | null
        • creatoroptionalstring

          The member who posted it (a login); app:<slug> for a status posted with a status token or by a CI integration; hook:<hook id> for a status token from a web hook with no app.

        • appoptionalstring | null

          The CI service that reported it (buildkite, github-actions, ...), stamped by Pando from a status token or a CI integration, never from the body or target_url. Null when a member posted it with their own credential. The web shows the service's mark for a slug it knows.

      • missingoptionalarray ofstring

404

An error

JSON
  • errorobjectrequired
    4 properties
    • codestringrequired
    • messagestringrequired
    • pathsoptionalarray ofstring
    • checksoptionalobject

      GitHub's combined status, plus the required contexts and which are missing.

      6 properties
      • shastring | nullrequired
      • statesuccessorpendingorfailureorerrorormissingorunknownrequired

        success when the merge gate passes; missing when a required context has not reported; unknown while the required checks are (an unforced merge is refused).

      • requiredarray | nullrequired

        Null while unknown.

      • checks_unknownstring | nullrequired

        Why the required checks are unknown, in plain words: "Pando couldn't read this monorepo's required checks; try again", or "pando.toml line 3: expected comma or end of structure; fix it on main, or merge with force". Null otherwise.

      • statusesarray ofobjectrequired

        The latest status per context.

        8 properties
        • shastringrequired
        • contextstringrequired
        • statependingorsuccessorfailureorerrorrequired
        • created_atstringrequired
          format: date-time
        • target_urloptionalstring | null
        • descriptionoptionalstring | null
        • creatoroptionalstring

          The member who posted it (a login); app:<slug> for a status posted with a status token or by a CI integration; hook:<hook id> for a status token from a web hook with no app.

        • appoptionalstring | null

          The CI service that reported it (buildkite, github-actions, ...), stamped by Pando from a status token or a CI integration, never from the body or target_url. Null when a member posted it with their own credential. The web shows the service's mark for a slug it knows.

      • missingoptionalarray ofstring
Navigation

Type to search…

↑↓ navigate↵ selectEsc close