
# THIS IS PULLED FROM SCRIPTS AND AUTOGENERATED!
# Please use openapi/combine.py to regenerate!
openapi: 3.0.0
info:
  version: 1.0.0
  description: This is the API specifications for interacting with the Kibble UI.
  title: Apache Kibble API
  license:
    name: Apache 2.0
    url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
components:
  schemas:
    ActionCompleted:
      properties:
        message:
          description: Acknowledgement message
          example: Action completed
          type: string
      required:
      - message
    Biography:
      properties:
        foo:
          description: TO-DO!
          type: string
    CommitterList:
      properties:
        okay:
          type: boolean
        people:
          type: object
    Empty:
      properties:
        id:
          description: optional object ID
          type: string
        page:
          description: optional page id
          type: string
      required: []
    Error:
      properties:
        code:
          description: HTTP Error Code
          example: 403
          format: int16
          type: integer
        reason:
          description: Human readable error message
          example: You need to be logged in to view this endpoint!
          type: string
      required:
      - code
      - reason
    Factor:
      properties:
        factors:
          items:
            type: object
          type: array
        okay:
          type: boolean
      required:
      - okay
      - factors
    NewOrg:
      properties:
        desc:
          description: A short description of the organisation
          example: Kibble, inc. is awesome
          type: string
        id:
          description: the ID of the organisation, can be anything.
          example: demo
          type: string
        name:
          description: The name of the organisation to create
          example: Kibble, Inc.
          type: string
      required:
      - id
      - name
      - desc
    OrgMembers:
      properties:
        admins:
          description: An array containing the IDs of the admins of this org
          exammple:
          - foo@bar
          - bar@foo
          type: array
        members:
          description: An array containing the IDs of the members of this org
          exammple:
          - foo@bar
          - bar@foo
          type: array
      required:
      - admins
      - members
    Organisation:
      properties:
        admins:
          description: An array containing the IDs of the admins of this org
          exammple:
          - foo@bar
          - bar@foo
          type: array
        description:
          description: A short (optional) description of the organisation
          example: demo, inc. is awesome
          type: string
        docCount:
          description: The number of source objects gathered from this organisation
          example: 973624
          type: integer
        id:
          description: the ID of the organisation, can be anything.
          example: demo
          type: string
        name:
          description: The name of the organisation to create
          example: Kibble, Inc.
          type: string
        sourceCount:
          description: The number of sources in this organisation
          example: 45
          type: integer
      required:
      - id
      - name
    Phrase:
      properties:
        count:
          description: The number of documents containing this as a key phrase
          example: 25
          type: integer
        phrase:
          description: The key phrase
          example: Ponies are awesome
          type: string
      required:
      - phrase
      - count
    PhraseList:
      properties:
        okay:
          type: boolean
        phrases:
          description: A list of key phrases
          items:
            $ref: '#/components/schemas/Phrase'
          type: array
      required:
      - okay
      - phrases
    Sloc:
      properties:
        count:
          type: object
    Source:
      properties:
        consumer_key:
          description: consumer key (for some apps)
          type: string
        consumer_secret:
          description: consumer secret (for some apps)
          type: string
        cookie:
          description: optional session cookie for auth
          type: string
        organisation:
          description: The organisation this source belongs to
          type: string
        password:
          description: optional password for auth
          type: string
        sourceID:
          description: The SourceID of this source
          type: string
        sourceURL:
          description: The origin URL of this source.
          type: string
        token:
          description: API token
          type: string
        token_secret:
          description: API secret token (for some apps)
          type: string
        type:
          description: The type of source (git, svn, bugzilla, mail, etc)
          type: string
        username:
          description: optional username for auth
          type: string
      required:
      - type
      - sourceURL
    SourceID:
      properties:
        id:
          description: source ID
          type: string
      required:
      - id
    SourceList:
      properties:
        okay:
          type: boolean
        organisation:
          description: The organisation these sources belong to
          type: string
        sources:
          description: The sources in this organisation
          items:
            $ref: '#/components/schemas/Source'
          type: array
      required:
      - sources
    SourceListAdd:
      properties:
        okay:
          type: boolean
        organisation:
          description: The organisation these sources belong to
          type: string
        sources:
          description: The sources to add
          example:
            sources:
            - optauth:
                password: githubpass
                username: githubuser
              sourceURL: https://github.com/apache/kibble.git
              type: github
            - optauth:
                cookie: ponycookie
              sourceURL: https://lists.apache.org/list.html?dev@httpd.apache.org
              type: ponymail
          items:
            $ref: '#/components/schemas/Source'
          type: array
      required:
      - sources
    SourceType:
      properties:
        description:
          example: Git repositories
          type: string
        regex:
          example: https?://.*/.+\.git
          type: string
        title:
          example: git
          type: string
    SourceTypes:
      properties:
        git:
          schema:
            $ref: '#/components/schemas/SourceType'
          type: object
    Timeseries:
      properties:
        interval:
          type: string
        okay:
          type: boolean
        timeseries:
          items:
            $ref: '#/components/schemas/TimeseriesObject'
          type: array
    TimeseriesObject:
      properties:
        $item:
          description: A timeseries object
          example: 50
          type: integer
        $otheritem:
          description: A timeseries object
          example: 26
          type: integer
        date:
          description: Seconds since UNIX epoch
          example: 1508273
          type: integer
      required:
      - date
    TopList:
      properties:
        title:
          type: string
        top:
          items:
            type: object
          type: array
    Trend:
      properties:
        okay:
          type: boolean
        trends:
          type: object
    UserAccount:
      properties:
        displayname:
          description: A display name (e.g. full name) for the account
          example: Kibble Guest
          type: string
        email:
          description: Desired username (email address)
          example: guest@kibble.live
          type: string
        password:
          description: Desired password for the account
          example: kibbledemo
          type: string
      required:
      - email
      - password
      - displayname
    UserAccountEdit:
      properties:
        admin:
          description: when adding users to orgs, this signifies ownership
          example: false
          type: boolean
        defaultOrganisation:
          description: If editing an account, this sets the default org (if a member
            of it)
          example: demo
          type: string
        displayname:
          description: A display name (e.g. full name) for the account
          example: Kibble Guest
          type: string
        email:
          description: Desired username (email address)
          example: guest@kibble.live
          type: string
        password:
          description: Desired password for the account
          example: kibbledemo
          type: string
      required:
      - email
    UserCredentials:
      properties:
        email:
          description: Username (email)
          example: guest@kibble.live
          type: string
        password:
          description: User password
          example: kibbledemo
          type: string
      required:
      - email
      - password
    UserData:
      properties:
        defaultOrganisation:
          description: The default organisation. This is where Kibble will collect
            data from.
          example: apache
          type: string
        displayName:
          description: The display-name of the user
          example: Kibble Guest
          type: string
        organisations:
          description: A list of organisations you belong to
          example:
          - apache
          - demo
          items:
            type: string
          type: array
        userLevel:
          description: User level (user/owner/admin)
          example: user
          type: string
        username:
          description: The username (email) of the user
          example: guest@kibble.live
          type: string
    UserName:
      properties:
        username:
          example: kibbleguest
          type: string
      required:
      - username
    View:
      properties:
        id:
          description: The ID of this view. to be used with other API queries
          example: abcdef67126734271
          type: string
        name:
          description: The name of this view
          example: Big Data Projects
          type: string
        organisation:
          description: The organisation this view belongs to
          example: apache
          type: string
        public:
          description: Whether to make this a global view (admins only!)
          type: boolean
        sources:
          description: The sources within this view
          items:
            $ref: '#/components/schemas/Source'
          type: array
      required:
      - id
    ViewList:
      properties:
        okay:
          type: boolean
        organisation:
          description: The organisation these views belong to
          example: apache
          type: string
        sources:
          description: A list of sources within this org
          items:
            $ref: '#/components/schemas/Source'
          type: array
        views:
          description: The view available
          items:
            $ref: '#/components/schemas/View'
          type: array
      required:
      - okay
      - organisation
      - views
    WidgetApp:
      properties:
        blocks:
          description: Size (width) in UI blocks of the app
          example: 4
          type: integer
        datatype:
          description: The top category of this data
          example: repo
          type: string
        name:
          description: The title of the widget app
          example: Widget Title
          type: string
        representation:
          description: The visual representation style of this widget
          example: donut
          type: string
        source:
          description: The API endpoint to get data from
          example: code-evolution
          type: string
        target:
          type: string
        text:
          description: Text to insert into the widget (if paragraph type widget)
          type: string
        type:
          description: The type of widget
          example: My Widget
          type: string
      required:
      - type
      - name
      - blocks
    WidgetDesign:
      properties:
        rows:
          items:
            $ref: '#/components/schemas/WidgetRow'
          type: array
        title:
          type: string
    WidgetRow:
      properties:
        children:
          items:
            $ref: '#/components/schemas/WidgetApp'
          type: array
        name:
          type: string
    defaultWidgetArgs:
      properties:
        author:
          description: Turns on author view for code results, as opposed to the default
            committer view
          type: boolean
        collapse:
          description: for some widgets, this collapses sources based on a regex
          type: string
        distinguish:
          description: Enables distinguishing different types of data objects, subject
            to the individual API endpoint
          example: false
          type: boolean
        email:
          description: filter sources based on an email (a person)
          type: string
        from:
          description: If specified, compile data from this timestamp onwards
          example: 1400000000
          type: integer
        interval:
          description: If fetching histograms, this specifies the interval to pack
            figures into. Can be day, week, month, quarter or year
          example: month
          type: string
        links:
          description: for relationship maps, this denotes the minimum link strength
            (no. of connections) that makes up a link.
          type: integer
        page:
          type: string
        pathfilter:
          description: Quickly defined view by sub-filtering commits by paths affected.
          type: string
        quick:
          description: Turns on quick data for some endpoints, returning only sparse
            data (thus less traffic)
          example: false
          type: boolean
        relative:
          description: Enables relative comparison mode for API endpoints that have
            this feature.
          example: false
          type: boolean
        search:
          description: for some widgets, this enables sub-filtering based on searches
          type: string
        source:
          description: If specified, only compile data on this specific sourceID
          example: abcdef12345678
          type: string
        sources:
          description: for some widget, this fetches all sources
          type: boolean
        span:
          description: For factor charts, denotes the number of months to base factors
            on from
          example: 2
          type: integer
        subfilter:
          description: Quickly defined view by sub-filtering the existing view and
            matching on sourceURLs
          type: string
        to:
          description: If specified, only compile data up until here
          example: 1503483273
          type: integer
        types:
          description: If set, only return data from sources matching these types
          example:
          - jira
          - bugzilla
          type: array
        unique:
          description: Only compile data from unique commits, ignore duplicates
          type: boolean
        view:
          description: ID Of optional view to use
          example: abcdef12345678
          type: string
    editView:
      properties:
        id:
          type: string
        name:
          type: string
        public:
          type: boolean
        sources:
          type: array
  securitySchemes:
    cookieAuth:
      in: cookie
      name: kibble_session
      type: apiKey
paths:
  /api/account:
    delete:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserName'
        description: User ID
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionCompleted'
          description: 200 response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Delete an account
    patch:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserAccountEdit'
        description: User credentials
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionCompleted'
          description: 200 response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      summary: Edit an account
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserAccount'
        description: User credentials
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionCompleted'
          description: 200 response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      summary: Create a new account
  /api/bio/bio:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Biography'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows some facts about a contributor
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Biography'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows some facts about a contributor
  /api/bio/newtimers:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Biography'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows some facts about a contributor
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Biography'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows some facts about a contributor
  /api/bio/trends:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trend'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a quick trend summary of the past 6 months for a contributor
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sloc'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a quick trend summary of the past 6 months for a contributor
  /api/ci/queue:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows email sent over time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows CI queue over time
  /api/ci/status:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows email sent over time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows CI queue over time
  /api/ci/top-buildcount:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows top 25 repos by lines of code
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows top 25 jobs by total builds done. Essentially buildtime, tweaked
  /api/ci/top-buildtime:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows top 25 repos by lines of code
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows top 25 jobs by total build time spent
  /api/code/changes:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Show insertions/deletions as a timeseries
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Show insertions/deletions as a timeseries
  /api/code/commits:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Show commits as a timeseries
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Show commits as a timeseries
  /api/code/committers:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitterList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N of committers
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitterList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows trend data for a set of repos over a given period of time
  /api/code/evolution:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Show code evolution as a timeseries
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Show code evolution as a timeseries
  /api/code/pony:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Factor'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows pony factor data for a set of repos over a given period of time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Factor'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows pony factor data for a set of repos over a given period of time
  /api/code/pony-timeseries:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows timeseries of Pony Factor over time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows timeseries of Pony Factor over time
  /api/code/punchcard:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Show commits as a timeseries
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Show commits as a timeseries
  /api/code/relationships:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sloc'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a breakdown of contributor relationships between repositories
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sloc'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a breakdown of contributor relationships between repositories
  /api/code/retention:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Factor'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows retention metrics for a set of repos over a given period of time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Factor'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows retention metrics for a set of repos over a given period of time
  /api/code/sloc:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sloc'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a breakdown of lines of code for one or more sources
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sloc'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a breakdown of lines of code for one or more sources
  /api/code/top-commits:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows top 25 repos by commit volume
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows top 25 repos by commit volume
  /api/code/top-sloc:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows top 25 repos by lines of code
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows top 25 repos by lines of code
  /api/code/trends:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trend'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows trend data for a set of repos over a given period of time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trend'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows trend data for a set of repos over a given period of time
  /api/forum/actors:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows timeseries of no. of people opening/closing issues over time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows timeseries of no. of people opening topics or replying to them.
  /api/forum/creators:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitterList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N of issue openers
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitterList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N of forum topic creators
  /api/forum/issues:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows timeseries of issues opened/closed over time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows timeseries of forum topics opened/responded-to over time
  /api/forum/responders:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitterList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N of issue closers
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitterList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N of issue closers
  /api/forum/top:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TopList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N issues by interactions
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TopList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N topics by interactions
  /api/forum/top-count:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows top 25 issue trackers by issues
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows top 25 forums by interactions
  /api/forum/trends:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trend'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows trend data for a set of issue trackers over a given period of
        time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trend'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows trend data for a set of forums over a given period of time
  /api/issue/actors:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows timeseries of no. of people opening/closing issues over time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows timeseries of no. of people opening/closing issues over time
  /api/issue/age:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows timeseries of no. of open tickets by age
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows timeseries of no. of open tickets by age
  /api/issue/closers:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitterList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N of issue closers
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitterList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N of issue closers
  /api/issue/issues:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows timeseries of issues opened/closed over time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows timeseries of issues opened/closed over time
  /api/issue/openers:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitterList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N of issue openers
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitterList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N of issue openers
  /api/issue/pony-timeseries:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows timeseries of Pony Factor over time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows timeseries of Pony Factor over time
  /api/issue/relationships:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sloc'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a breakdown of contributor relationships between issue trackers
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sloc'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a breakdown of contributor relationships between issue trackers
  /api/issue/retention:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Factor'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows retention metrics for a set of issue trackers over a given period
        of time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Factor'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows retention metrics for a set of issue trackers over a given period
        of time
  /api/issue/top:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TopList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N issues by interactions
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TopList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N issues by interactions
  /api/issue/top-count:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows top 25 issue trackers by issues
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows top 25 issue trackers by issues
  /api/issue/trends:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trend'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows trend data for a set of issue trackers over a given period of
        time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trend'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows trend data for a set of issue trackers over a given period of
        time
  /api/mail/keyphrases:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PhraseList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the common key phrases in use on one or more mailing lists
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PhraseList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the common key phrases in use on one or more mailing lists
  /api/mail/map:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sloc'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a breakdown of email author reply mappings
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sloc'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a breakdown of email author reply mappings
  /api/mail/mood:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sloc'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a breakdown of the (analyzed) mood in emails
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sloc'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a breakdown of the (analyzed) mood in emails
  /api/mail/mood-timeseries:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a breakdown of the (analyzed) mood in emails as a timeseries
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a breakdown of the (analyzed) mood in emails as a timeseries
  /api/mail/pony-timeseries:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows timeseries of Pony Factor over time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows timeseries of Pony Factor over time
  /api/mail/relationships:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sloc'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a breakdown of contributor relationships between mailing lists
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sloc'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a breakdown of contributor relationships between mailing lists
  /api/mail/retention:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Factor'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows retention metrics for a set of mailing lists over a given period
        of time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Factor'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows retention metrics for a set of mailing lists over a given period
        of time
  /api/mail/timeseries:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows email sent over time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows email sent over time
  /api/mail/timeseries-single:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows email sent over time
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timeseries'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows email sent over time
  /api/mail/top-authors:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitterList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N of email authors
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitterList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N of email authors
  /api/mail/top-topics:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitterList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N of email authors
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitterList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the top N of email authors
  /api/mail/trends:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trend'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a quick email trend summary of the past 6 months for your org
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trend'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a quick email trend summary of the past 6 months for your org
  /api/org/contributors:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contributorList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows contributors for the entire org or matching filters.
  /api/org/list:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trend'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Lists the organisations you belong to (or all, if admin)
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
        description: Nothing...
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Organisation'
                type: array
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Lists the organisations you belong to (or all, if admin)
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewOrg'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionCompleted'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Create a new organisation
  /api/org/members:
    delete:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserAccountEdit'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionCompleted'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Remove a person from an organisation
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgMembers'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Lists the members of an organisation
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
        description: Nothing...
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/OrgMembers'
                type: array
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Lists the members of an organisation
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserAccountEdit'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionCompleted'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Invite a person to an organisation
  /api/org/sourcetypes:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SourceTypes'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Lists the available source types supported by Kibble
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sloc'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Lists the available source types supported by Kibble
  /api/org/trends:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trend'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a quick trend summary of the past 6 months for your org
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sloc'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows a quick trend summary of the past 6 months for your org
  /api/session:
    delete:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Empty'
        description: Nada
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionCompleted'
          description: Logout successful
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Log out (remove session)
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserData'
          description: 200 response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Display your login details
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserCredentials'
        description: User credentials
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionCompleted'
          description: Login successful
          headers:
            Set-Cookie:
              schema:
                example: 77488a26-23c2-4e29-94a1-6a0738f6a3ff
                type: string
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      summary: Log in
  /api/sources:
    delete:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SourceID'
        description: Source ID info
        required: true
      security:
      - cookieAuth: []
      summary: Delete an existing source
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SourceList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Fetches a list of all sources for this organisation
    patch:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Source'
        description: New source data to set
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionCompleted'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Edit an existing source
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SourceList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Fetches a list of all sources for this organisation
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SourceListAdd'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionCompleted'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Add a new source
  /api/verify/{email}/{vcode}:
    get:
      parameters:
      - description: Email address of account
        in: path
        name: email
        required: true
        schema:
          type: string
      - description: Verification code
        in: path
        name: vcode
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionCompleted'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      summary: Verify an account
  /api/views:
    delete:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/editView'
        description: View to delete
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionCompleted'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Delete a new view
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ViewList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Fetches a list of all views (filters) for this user
    patch:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/editView'
        description: New source data to set
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionCompleted'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Edit an existing source
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/defaultWidgetArgs'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ViewList'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Fetches a list of all views (filters) for this user
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/editView'
        description: New view data to add
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionCompleted'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Add a new view
  /api/widgets/{pageid}:
    get:
      parameters:
      - description: Page ID to fetch design for
        in: path
        name: pageid
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WidgetDesign'
          description: 200 Response
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unexpected error
      security:
      - cookieAuth: []
      summary: Shows the widget layout for a specific page
