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

# Get Reports

> Retrieve reports

<Note>User has to be an `ADMIN` to be able to use this API.</Note>


## OpenAPI

````yaml GET /reports
openapi: 3.0.3
info:
  title: Report API
  version: 1.0.0
  description: API for handling reports and report statuses
servers:
  - url: https://our-secret-api-url.com
security: []
paths:
  /reports:
    get:
      description: Retrieve reports
      parameters:
        - name: cursor
          in: query
          schema:
            type: integer
            format: int64
          required: false
        - name: size
          in: query
          schema:
            type: integer
            format: int32
          required: true
        - name: userId
          in: query
          schema:
            type: integer
            format: int64
          required: false
        - name: postId
          in: query
          schema:
            type: integer
            format: int64
          required: false
      responses:
        '200':
          description: Reports retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        targetPost:
                          type: object
                          properties:
                            snowflakeId:
                              type: string
                              nullable: true
                        targetUser:
                          $ref: '#/components/schemas/FeedUser'
                        reporter:
                          $ref: '#/components/schemas/FeedUser'
                        actions:
                          type: array
                          items:
                            type: object
                            properties:
                              user:
                                $ref: '#/components/schemas/FeedUser'
                              id:
                                type: integer
                                format: int64
                              notes:
                                type: string
                                nullable: true
                              reportId:
                                type: integer
                                format: int64
                              actionTaken:
                                type: string
                                enum:
                                  - reviewing
                                  - no_action
                                  - suspended
                              actionTakenBy:
                                type: integer
                                format: int64
                              actionTakenAt:
                                type: string
                                format: date-time
                        id:
                          type: integer
                          format: int64
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                        reporterUserId:
                          type: integer
                          format: int64
                        targetUserId:
                          type: integer
                          format: int64
                        targetPostId:
                          type: integer
                          format: int64
                          nullable: true
                        reason:
                          type: string
                          enum:
                            - kandungan_tidak_sesuai
                            - isu_keselamatan
                            - penyalahgunaan
                            - spam
                            - kandungan_palsu
                            - kandungan_sensitif
                            - pelanggaran_hak_cipta
                            - maklumat_salah
                        status:
                          type: string
                          enum:
                            - reviewing
                            - no_action
                            - suspended
                        notes:
                          type: string
                          nullable: true
                  totalPages:
                    type: integer
                    format: int32
        '500':
          description: Failed to fetch reports
      security:
        - bearerAuth: []
components:
  schemas:
    FeedUser:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        profilePicture:
          type: string
          format: uri
      required:
        - id
        - name
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````