GenLogs Alerts API

The Alerts API from GenLogs — 2 operation(s) for alerts.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

genlogs-alerts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: GenLogs Alerts API
  version: 1.0.0
  description: 'GenLogs Truck Intelligence API. Ground-truth motor-carrier and shipper data from a nationwide roadside sensor network: carrier recommendations by lane, carrier and FMCSA profiles, carrier vetting, shipper lanes and facilities, onboarded-carrier contact management, mismatch observations, and alert webhooks. Base URL https://api.genlogs.io. Authentication uses an x-api-key header plus a short-lived Access-Token obtained from /auth/token; endpoint access is gated by named permissions.'
  contact:
    name: GenLogs
    url: https://docs.genlogs.io
    email: contact@genlogs.io
  x-provenance:
    method: searched
    source: https://docs.genlogs.io (per-endpoint embedded OpenAPI fragments + documented endpoints)
    assembled: '2026-07-19'
    operationIds: some operationIds normalized by API Evangelist where the provider fragments omitted them
servers:
- url: https://api.genlogs.io
  description: GenLogs Truck Intelligence API
security:
- ApiKeyAuth: []
  AccessToken: []
tags:
- name: Alerts
paths:
  /alerts/webhook/{webhook_id}:
    delete:
      summary: Delete alert webhook
      description: 'Delete an alert webhook by ID. Requires ownership for the authenticated customer. Returns the deleted webhook data (id, webhook_url, description, created_at). Requires admin or external-api-delete-alert-webhook-endpoint.

        '
      operationId: deleteAlertWebhook
      parameters:
      - in: header
        name: Access-Token
        required: true
        schema:
          type: string
        description: JWT access token for authentication
      - in: header
        name: X-API-Key
        required: true
        schema:
          type: string
        description: API key for authentication
      - in: path
        name: webhook_id
        required: true
        schema:
          type: string
          format: uuid
        description: UUID of the webhook to delete
      responses:
        '200':
          description: Webhook deleted successfully; returns deleted webhook data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletedWebhookResponse'
        '400':
          description: Bad Request – invalid webhook ID format
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized – missing or invalid token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden – insufficient permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found – webhook does not exist or does not belong to customer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Alerts
  /alerts/{alert_id}:
    patch:
      tags:
      - Alerts
      summary: External Patch Alert
      description: Partially update an existing alert by alert_id. `start_date` and `end_date` accept ISO 8601 date-time strings with `Z`, timezone offsets, or no timezone. Timezone-aware values are normalized to UTC and returned without timezone information.
      operationId: external_patch_alert_alerts__alert_id__patch
      parameters:
      - name: alert_id
        in: path
        required: true
        schema:
          type: integer
          title: Alert Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAlertSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertResponseSchema'
        '400':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    AlertResponseSchema:
      properties:
        alert_name:
          type: string
          title: Alert Name
        location_state:
          anyOf:
          - type: string
          - type: 'null'
          title: Location State
        location_city:
          anyOf:
          - type: string
          - type: 'null'
          title: Location City
        license_plate:
          anyOf:
          - type: string
          - type: 'null'
          title: License Plate
        license_plate_state:
          anyOf:
          - type: string
          - type: 'null'
          title: License Plate State
        usdot_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Usdot Number
        chassis_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Chassis Number
        exact_match_chassis_number:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Exact Match Chassis Number
          default: false
        container_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Container Number
        equipment_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Equipment Type
        exact_match_container_number:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Exact Match Container Number
          default: false
        mc_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Mc Number
        vin:
          anyOf:
          - type: string
          - type: 'null'
          title: Vin
        cab_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Cab Number
        trailer_logo:
          anyOf:
          - type: string
          - type: 'null'
          title: Trailer Logo
        trailer_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Trailer Number
        disabled:
          type: boolean
          title: Disabled
          default: false
        cc_emails:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Cc Emails
        alert_type:
          type: string
          title: Alert Type
          default: normal
        exact_match_trailer_number:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Exact Match Trailer Number
          default: false
        start_date:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          description: Returned as a timezone-free UTC date-time string after normalization.
          title: Start Date
        end_date:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          description: Returned as a timezone-free UTC date-time string after normalization.
          title: End Date
        deep_search:
          anyOf:
          - type: string
          - type: 'null'
          title: Deep Search
        id:
          type: integer
          title: Id
        email:
          type: string
          title: Email
        last_updated_timestamp:
          type: string
          format: date-time
          title: Last Updated Timestamp
        insert_timestamp:
          type: string
          format: date-time
          title: Insert Timestamp
        notification_channels:
          items:
            type: string
          type: array
          title: Notification Channels
          default: []
      additionalProperties: false
      type: object
      required:
      - alert_name
      - id
      - email
      - last_updated_timestamp
      - insert_timestamp
      title: AlertResponseSchema
      description: Public API response schema for alerts - extends base with response-specific fields
    ValidationError:
      type: object
      required:
      - loc
      - msg
      - type
      properties:
        loc:
          type: array
          items:
            oneOf:
            - type: string
            - type: integer
        msg:
          type: string
        type:
          type: string
    UpdateAlertSchema:
      properties:
        alert_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Alert Name
        location_state:
          anyOf:
          - type: string
          - type: 'null'
          title: Location State
        location_city:
          anyOf:
          - type: string
          - type: 'null'
          title: Location City
        license_plate:
          anyOf:
          - type: string
          - type: 'null'
          title: License Plate
        license_plate_state:
          anyOf:
          - type: string
          - type: 'null'
          title: License Plate State
        usdot_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Usdot Number
        chassis_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Chassis Number
        exact_match_chassis_number:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Exact Match Chassis Number
          default: false
        container_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Container Number
        equipment_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Equipment Type
        exact_match_container_number:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Exact Match Container Number
          default: false
        mc_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Mc Number
        vin:
          anyOf:
          - type: string
          - type: 'null'
          title: Vin
        cab_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Cab Number
        trailer_logo:
          anyOf:
          - type: string
          - type: 'null'
          title: Trailer Logo
        trailer_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Trailer Number
        disabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Disabled
        cc_emails:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Cc Emails
        alert_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Alert Type
        exact_match_trailer_number:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Exact Match Trailer Number
        start_date:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          description: ISO 8601 date-time. Values with `Z` or timezone offsets are normalized to UTC and stored/returned without timezone information.
          title: Start Date
        end_date:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          description: ISO 8601 date-time. Values with `Z` or timezone offsets are normalized to UTC and stored/returned without timezone information.
          title: End Date
        deep_search:
          anyOf:
          - type: string
          - type: 'null'
          title: Deep Search
        notification_channels:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Notification Channels
      additionalProperties: false
      type: object
      title: UpdateAlertSchema
      description: Schema for partial updates of alerts (PATCH operations). All fields are optional - only provided fields will be updated.
    HTTPValidationError:
      type: object
      properties:
        detail:
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
        code:
          type: integer
          format: int32
      required:
      - message
      - code
    DeletedWebhookResponse:
      type: object
      description: Deleted webhook data returned on successful DELETE (secret and enabled excluded)
      properties:
        id:
          type: string
          format: uuid
        webhook_url:
          type: string
          format: uri
        description:
          type: string
          nullable: true
        created_at:
          type: string
          format: date-time
        deleted:
          type: boolean
          description: Always true for delete response
      required:
      - id
      - webhook_url
      - created_at
      - deleted
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key provided by GenLogs. Required on every request.
    AccessToken:
      type: apiKey
      in: header
      name: Access-Token
      description: Short-lived access token obtained from POST /auth/token (or refreshed via /auth/token/refresh).