Api Endpoint

CI Workflow Audit

Audit a CI workflow for what it leaves movable or undeclared. Reports actions pinned to a tag rather than a commit - a tag can be moved by whoever owns the action, so the code a step runs can change without this file changing - missing permissions and timeouts, a job depending on one that is not declared, a pull_request_target trigger, and an expression interpolated straight into a shell command.

Open interactive test console

Offering

Provider
api.zfinia.com
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Security
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://api.zfinia.com/x402/v1/ci-workflow-contract-audit
MIME type
application/json
First seen
2026-10-16T01:50:38.788Z
Last seen
Tags
configuration, continuous integration, supply chain hygiene, linting, developer tooling

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.12 USDC
Atomic price: 120000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "120000",
    "payTo": "0x25e8245f07d5e4873987293dad666afbe56a9608"
  }
]

Observed health

Status
Reachable
Latest latency
1045 ms
Average latency
1131 ms
HTTP status
400
Last checked
Reachability
100% over 12 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "body": {
    "contract": {
      "required_jobs": [
        "build",
        "publish",
        "lint"
      ]
    },
    "workflow": {
      "jobs": {
        "build": {
          "runs-on": "ubuntu-latest",
          "steps": [
            {
              "uses": "actions/checkout@v4"
            },
            {
              "uses": "actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8"
            },
            {
              "name": "Greet",
              "run": "echo \"Building ${{ github.event.pull_request.title }}\""
            },
            {
              "run": "npm ci && npm test"
            }
          ]
        },
        "notify": {
          "needs": [
            "publish",
            "lint"
          ],
          "runs-on": "ubuntu-latest",
          "steps": [
            {
              "run": "echo done"
            }
          ]
        },
        "publish": {
          "needs": "build",
          "permissions": {
            "contents": "read",
            "packages": "write"
          },
          "runs-on": "ubuntu-latest",
          "steps": [
            {
              "uses": "actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3"
            }
          ],
          "timeout-minutes": 15
        }
      },
      "name": "release",
      "on": {
        "pull_request_target": {},
        "push": {
          "branches": [
            "main"
          ]
        }
      }
    }
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "contract": {
              "additionalProperties": false,
              "properties": {
                "forbid_pull_request_target": {
                  "type": "boolean"
                },
                "require_permissions": {
                  "type": "boolean"
                },
                "require_pinned_actions": {
                  "type": "boolean"
                },
                "require_timeout": {
                  "type": "boolean"
                },
                "required_jobs": {
                  "items": {
                    "maxLength": 128,
                    "type": "string"
                  },
                  "maxItems": 200,
                  "minItems": 1,
                  "type": "array"
                }
              },
              "type": "object"
            },
            "workflow": {
              "type": "object"
            }
          },
          "required": [
            "workflow"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}