> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yapcoder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fetch project analytics

> Computes analytics for the specified repositories.



## OpenAPI

````yaml post /api/v1/projects/analytics
openapi: 3.0.0
info:
  title: YapCoder API
  description: API for YapCoder - Developer Reputation and Analytics Platform
  version: 1.0.0
servers:
  - url: https://api.yapcoder.com
    description: Local development server
security:
  - bearerAuth: []
  - apiKeyAuth: []
tags:
  - name: healthchecks
    description: Service health and readiness checks
  - name: developers
    description: Developer management and analytics
  - name: projects
    description: Project analytics and repository details
  - name: sui
    description: Sui ecosystem packages and data
paths:
  /api/v1/projects/analytics:
    post:
      tags:
        - projects
      summary: Fetch project analytics
      description: Computes analytics for the specified repositories.
      operationId: FetchAnalytics
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchAnalyticsRequest'
      responses:
        '200':
          description: Campaign analytics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignAnalytics'
        '400':
          description: Invalid request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    FetchAnalyticsRequest:
      type: object
      required:
        - repo_names
      properties:
        repo_names:
          type: array
          items:
            type: string
    CampaignAnalytics:
      type: object
      properties:
        total_repos:
          type: integer
        total_stars:
          type: integer
        total_forks:
          type: integer
        total_contributors:
          type: integer
        repos:
          type: array
          items:
            $ref: '#/components/schemas/Repository'
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
    Repository:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        full_name:
          type: string
        description:
          type: string
        language:
          type: string
        languages:
          type: array
          items:
            type: string
        owner:
          type: object
          properties:
            login:
              type: string
            avatar_url:
              type: string
        html_url:
          type: string
        stargazers_count:
          type: integer
        forks_count:
          type: integer
        fork:
          type: boolean
        size:
          type: integer
        topics:
          type: array
          items:
            type: string
        open_issues_count:
          type: integer
        open_issues:
          type: integer
        open_prs:
          type: integer
        signal:
          type: string
          description: Project health signal (Healthy, Moderate, Abandoned)
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````