openapi: 3.0.3
info:
  title: Abuse Signals API
  version: v1
paths:
  /v1/abuse-signals:
    get:
      summary: Deterministic abuse signals for email or domain
      parameters:
        - in: query
          name: email
          schema: { type: string }
        - in: query
          name: domain
          schema: { type: string }
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  input:
                    type: object
                    properties:
                      email: { type: string, nullable: true }
                      domain: { type: string, nullable: true }
                  abuseScore: { type: integer }
                  signals:
                    type: array
                    items: { type: string }
                  version: { type: string }
        '400':
          description: Invalid input
