Skip to content
Back to skills

076 Api 9c309dde

ASecurity

**Endpoint**: `https://api.cloudflare.com/client/v4/graphql`

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
datatypescriptsqlapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 076-api_9c309dde --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 076 Api 9c309dde?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 076 Api 9c309dde
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-076-api-9c309dde/badge)](https://www.skillsdirectory.com/skills/tools-only-076-api-9c309dde)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
## API Reference

### GraphQL Analytics API

**Endpoint**: `https://api.cloudflare.com/client/v4/graphql`

**Query Workers Metrics**:

```graphql
query {
  viewer {
    accounts(filter: { accountTag: $accountId }) {
      workersInvocationsAdaptive(
        limit: 100
        filter: { datetime_geq: "2025-01-01T00:00:00Z", datetime_leq: "2025-01-31T23:59:59Z", scriptName: "my-worker" }
      ) {
        sum {
          requests
          errors
          subrequests
        }
        quantiles {
          cpuTimeP50
          cpuTimeP99
          wallTimeP50
          wallTimeP99
        }
      }
    }
  }
}
```

### Analytics Engine SQL API

**Endpoint**: `https://api.cloudflare.com/client/v4/accounts/{account_id}/analytics_engine/sql`

**Authentication**: `Authorization: Bearer <API_TOKEN>` (Account Analytics Read permission)

**Common Queries**:

```sql
-- List all datasets
SHOW TABLES;

-- Time-series aggregation (5-minute buckets)
SELECT
  intDiv(toUInt32(timestamp), 300) * 300 AS time_bucket,
  blob1 AS endpoint,
  SUM(_sample_interval) AS total_requests,
  AVG(double1) AS avg_response_time_ms
FROM api_metrics
WHERE timestamp >= NOW() - INTERVAL '24' HOUR
GROUP BY time_bucket, endpoint
ORDER BY time_bucket DESC;

-- Top customers by usage
SELECT
  index1 AS customer_id,
  SUM(_sample_interval * double1) AS total_api_calls,
  AVG(double2) AS avg_response_time_ms
FROM api_usage
WHERE timestamp >= NOW() - INTERVAL '7' DAY
GROUP BY customer_id
ORDER BY total_api_calls DESC
LIMIT 100;

-- Error rate analysis
SELECT
  blob1 AS error_type,
  COUNT(*) AS occurrences,
  MAX(timestamp) AS last_seen
FROM error_tracking
WHERE timestamp >= NOW() - INTERVAL '1' HOUR
GROUP BY error_type
ORDER BY occurrences DESC;
```

### Console Logging API

**Methods**:

```typescript
// Standard methods (all appear in Workers Logs)
console.log('info message')
console.info('info message')
console.warn('warning message')
console.error('error message')
console.debug('debug message')

// Structured logging (recommended)
console.log({
  level: 'info',
  user_id: '123',
  action: 'checkout',
  amount: 99.99,
  currency: 'USD',
})
```

**Log Levels**: All console methods produce logs; use structured fields for filtering:

```typescript
console.log({
  level: 'error',
  message: 'Payment failed',
  error_code: 'CARD_DECLINED',
})
```

### Analytics Engine Binding Types

```typescript
interface AnalyticsEngineDataset {
  writeDataPoint(event: AnalyticsEngineDataPoint): void
}

interface AnalyticsEngineDataPoint {
  // Indexed strings (use for filtering/grouping)
  indexes?: string[]

  // Non-indexed strings (metadata, IDs, URLs)
  blobs?: string[]

  // Numeric values (counts, durations, amounts)
  doubles?: number[]
}
```

**Field Limits**:

- Max 20 indexes
- Max 20 blobs
- Max 20 doubles
- Max 25 `writeDataPoint` calls per request

### Tail Consumer Event Type

```typescript
interface TraceItem {
  event: TraceEvent
  logs: TraceLog[]
  exceptions: TraceException[]
  scriptName?: string
}

interface TraceEvent {
  outcome: 'ok' | 'exception' | 'exceededCpu' | 'exceededMemory' | 'unknown'
  cpuTime: number // microseconds
  wallTime: number // microseconds
}

interface TraceLog {
  timestamp: number
  level: 'log' | 'info' | 'debug' | 'warn' | 'error'
  message: any // string or structured object
}

interface TraceException {
  name: string
  message: string
  timestamp: number
}
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.