Skip to main content
The Scrums.com API is planned and not yet publicly available. Endpoints and behaviour are subject to change before release.

Overview

Audit logs provide an immutable, tamper-evident record of every significant action taken on the Scrums.com platform. They capture the actor, the action, the affected resource, the timestamp, and the outcome. Audit logs are available on plans that include audit_logs in their feature set (Growth and above). They are stored for a minimum of 12 months and are exportable for compliance reporting. Audit logs are read-only. They cannot be modified, deleted, or backfilled.

Core Concepts

What is audited

Every API write operation is automatically audited. Additionally, the platform audits:
  • Authentication events (login, token use, key creation)
  • Access control changes (role updates, invitations, removals)
  • Service Line lifecycle changes (create, activate, pause, close)
  • Billing events (subscription changes, invoice actions)
  • Agent actions (policy changes, run triggers, tool access grants)
  • Integration configuration changes

Actor types

Actor typeDescription
userA human user authenticated via session or token
api_keyServer-to-server request via API key
agentAn AI agent performing a platform action
systemAn automated platform process

Retention and export

Audit logs are retained for 12 months by default. Enterprise plans support extended retention. Logs can be exported in JSONL or CSV format via the export endpoint.

Endpoints

GET /v1/audit-logs

Query the audit log for an organization.

Request

GET /v1/audit-logs?organization_id=ORG-26-090500&from=2026-04-01&to=2026-04-15&actor_type=user
Authorization: Bearer <token>
Query parameters
ParameterTypeDescription
organization_idstringRequired. Organization scope.
workspace_idstringFilter to a specific workspace
actor_idstringFilter by actor (USR-*, key ID, AGT-*)
actor_typeenumuser, api_key, agent, system
actionstringFilter by action type (e.g. service_line.activated)
resource_typestringFilter by resource type (e.g. service_line, user)
resource_idstringFilter by specific resource ID
fromdatetimeStart of time range
todatetimeEnd of time range
cursorstringPagination cursor
limitintegerResults per page (max 100, default 25)

Response

{
  "data": [
    {
      "id": "AUDIT-26-092841",
      "organization_id": "ORG-26-090500",
      "workspace_id": "WS-26-000021",
      "actor": {
        "type": "user",
        "id": "USR-26-000044",
        "name": "Sam Rivera",
        "email": "sam@apexdigital.com"
      },
      "action": "service_line.activated",
      "resource_type": "service_line",
      "resource_id": "LIN-26-084729",
      "outcome": "success",
      "ip_address": "203.0.113.42",
      "user_agent": "scrums-cli/1.0.0",
      "metadata": {
        "previous_status": "draft",
        "new_status": "active"
      },
      "occurred_at": "2026-01-15T09:00:00Z"
    },
    {
      "id": "AUDIT-26-092799",
      "organization_id": "ORG-26-090500",
      "workspace_id": "WS-26-000021",
      "actor": {
        "type": "agent",
        "id": "AGT-26-000012",
        "name": "Deployment Automation Agent"
      },
      "action": "task.status_changed",
      "resource_type": "task",
      "resource_id": "TSK-26-018841",
      "outcome": "success",
      "metadata": {
        "previous_status": "in_progress",
        "new_status": "done",
        "run_id": "RUN-26-001812"
      },
      "occurred_at": "2026-04-15T09:12:46Z"
    }
  ],
  "meta": {
    "cursor": "eyJpZCI6IkFVRElULTI2LTA5Mjg0MSJ9",
    "has_more": true
  }
}

GET /v1/audit-logs/

Retrieve a single audit log entry with full metadata.

POST /v1/audit-logs/export

Export audit logs as a file for compliance or archival purposes.

Request

{
  "organization_id": "ORG-26-090500",
  "from": "2026-01-01T00:00:00Z",
  "to": "2026-03-31T23:59:59Z",
  "format": "jsonl",
  "filters": {
    "actor_type": "user"
  }
}

Response

{
  "data": {
    "export_id": "EXP-26-000041",
    "status": "processing",
    "estimated_records": 14211,
    "format": "jsonl",
    "download_url": null
  }
}
Poll GET /v1/audit-logs/exports/{export_id} for completion. download_url is populated when status is ready. The URL expires after 1 hour.

Notes

  • Exports are processed asynchronously. Large date ranges may take several minutes.
  • Only org admin or owner role can export audit logs.
  • Export files are available for 24 hours. After that, re-request the export.

Common Workflows

Security review: all user role changes in the last 30 days

GET /v1/audit-logs?organization_id=ORG-26-090500&action=user.role_changed&from=2026-03-15&to=2026-04-15

Investigating an unexpected Service Line closure

GET /v1/audit-logs?organization_id=ORG-26-090500&resource_id=LIN-26-084729&action=service_line.closed

Compliance export for a quarterly review

POST /v1/audit-logs/export
{
  "organization_id": "ORG-26-090500",
  "from": "2026-01-01T00:00:00Z",
  "to": "2026-03-31T23:59:59Z",
  "format": "jsonl"
}

Objects

Audit log entry

FieldTypeDescription
idstringAUDIT-* identifier
organization_idstringOrganization context
workspace_idstringWorkspace context (null for org-level actions)
actorobjectActor identity (type, ID, display name)
actionstringAction identifier (e.g. service_line.activated)
resource_typestringType of the affected resource
resource_idstringID of the affected resource
outcomeenumsuccess, failure
ip_addressstringClient IP address (null for system actions)
user_agentstringClient user agent
metadataobjectAction-specific supplementary data
occurred_atdatetimeWhen the action occurred

Best Practices

  • Filter by resource_id for resource-level investigations. When something unexpected happens to a LIN-*, USR-*, or agent, the audit log filtered by that ID gives the complete action history.
  • Export quarterly for long-term compliance. The 12-month retention window means logs from 13 months ago will be gone. If your compliance framework requires longer retention, export quarterly to your own storage.
  • Treat agent audit entries as first-class. Agents acting autonomously (actor.type: "agent") leave the same audit trail as humans. Review agent actions in the same compliance workflows.
Last modified on April 15, 2026