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

# List abuse reports filed against a server

> Abuse reports on this service, newest first, each with its message thread oldest first. The reporter's email and
source are deliberately withheld. Staff messages are attributed to "ServerExpress Abuse Team". Readable by the owner
and any team member. Uncertain: the route doesn't restrict the service type, so any service id you can read works.



## OpenAPI

````yaml /api-reference/openapi.yaml get /v1/dedicated/{id}/abuse
openapi: 3.1.0
info:
  title: Server.Express API
  version: 1.0.0
  description: >-
    The customer-facing Server.Express API: auth, billing, tickets, cloud and
    dedicated servers, hosting, reselling and account management. Every response
    uses the `{ success, data | error }` envelope.
  contact:
    name: Server.Express
    url: https://server.express
servers:
  - url: https://my.server.express/api
    description: Production
security:
  - bearerAuth: []
  - apiToken: []
tags:
  - name: API Tokens
  - name: Account
  - name: Auth
  - name: Cloud
  - name: Coupons
  - name: Credits
  - name: Dashboard
  - name: Dedicated
  - name: Health
  - name: Hosting
  - name: Integrations
  - name: Invoices
  - name: Livechat
  - name: Notifications
  - name: Passkeys
  - name: Payments
  - name: Products
  - name: Public
  - name: Public Invoices
  - name: Public Tools
  - name: Reseller
  - name: SSH Keys
  - name: Services
  - name: Tasks
  - name: Teams
  - name: Tickets
  - name: Web Hosting
  - name: Webhooks
paths:
  /v1/dedicated/{id}/abuse:
    parameters:
      - name: id
        in: path
        required: true
        description: The service id.
        schema:
          type: string
          format: uuid
    get:
      tags:
        - Dedicated
      summary: List abuse reports filed against a server
      description: >-
        Abuse reports on this service, newest first, each with its message
        thread oldest first. The reporter's email and

        source are deliberately withheld. Staff messages are attributed to
        "ServerExpress Abuse Team". Readable by the owner

        and any team member. Uncertain: the route doesn't restrict the service
        type, so any service id you can read works.
      operationId: publicDedicatedListAbuseReports
      responses:
        '200':
          description: The reports.
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - data
                properties:
                  success:
                    type: boolean
                    const: true
                  data:
                    type: object
                    required:
                      - reports
                    properties:
                      reports:
                        type: array
                        items:
                          $ref: '#/components/schemas/PublicDedicatedAbuseReport'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      security:
        - bearerAuth: []
components:
  schemas:
    PublicDedicatedAbuseReport:
      type: object
      required:
        - id
        - subject
        - body
        - category
        - status
        - deadline
        - createdAt
        - messages
      properties:
        id:
          type: string
          format: uuid
        subject:
          type: string
        body:
          type: string
        category:
          type: string
          enum:
            - SPAM
            - COPYRIGHT
            - MALWARE
            - PHISHING
            - PORT_SCAN
            - DDOS_SOURCE
            - COMPROMISE
            - OTHER
        status:
          type: string
          enum:
            - OPEN
            - AWAITING_CUSTOMER
            - CUSTOMER_REPLIED
            - RESOLVED
            - CLOSED
        deadline:
          type:
            - string
            - 'null'
          format: date-time
        createdAt:
          type: string
          format: date-time
        messages:
          type: array
          items:
            $ref: '#/components/schemas/PublicDedicatedAbuseMessage'
    PublicDedicatedAbuseMessage:
      type: object
      required:
        - id
        - author
        - role
        - body
        - createdAt
      properties:
        id:
          type: string
          format: uuid
        author:
          type: string
          description: '"ServerExpress Abuse Team" for staff, otherwise the customer''s name.'
        role:
          type: string
          enum:
            - staff
            - client
        body:
          type: string
        createdAt:
          type: string
          format: date-time
    ErrorResponse:
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          const: false
        error:
          type: string
          description: Human-readable error message.
      additionalProperties: true
  responses:
    Unauthorized:
      description: Missing, invalid or expired credentials.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: >-
        Authenticated but not allowed (missing scope, not an admin, or not your
        resource).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: The resource doesn't exist or isn't visible to you.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ServerError:
      description: Unexpected server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Session access token (JWT) from POST /v1/auth/login or /v1/auth/refresh.
        A session satisfies every API scope.
    apiToken:
      type: http
      scheme: bearer
      bearerFormat: se_live_<prefix>_<secret>
      description: >-
        Personal API token created under Settings → API tokens. Only routes
        guarded by verifyApiAuth accept it, and the token must carry the scope
        named in the operation's x-required-scope.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.