Skip to main content
Glama

retry_failed_job

Retry a failed paid job for free. Transaction and token checks each have one manual retry per job ID; if it still fails, keep the job ID and contact rugshield@fastsoftware.uk for review. There is no automatic refund.

Input Schema

NameRequiredDescriptionDefault
job_idYesJob ID of a failed paid transaction or token check. Retry that job for free after get_job_result reports failure.

Output Schema

NameRequiredDescriptionDefault
idNoLegacy opaque job identifier.
codeNoError code when the tool cannot fulfill this request.
kindNoStored job kind when exposed; production paid checks use token_risk, tx_guard or risk_panel.
errorNo
eta_sNoEstimated queue delay, not a completion deadline.
job_idNoOpaque server-returned job identifier; preserve it exactly.
resultNoConditional result. Paid results are released only after confirmed settlement; token/transaction jobs expose the saved paid response envelope, while prepaid panels expose their analysis object when ready. Legacy non-purchase jobs may expose their result directly. Absence never proves no charge.
statusNoAnalysis and payment are separate facts. ready/done can mean work finished while its paid result is still withheld; needs_review can concern payment or analysis. Read agent_guidance.payment and analysis.
chargedNoLegacy: true confirms settlement, false reports no settled charge for this attempt, null means unconfirmed. Never infer a refund or no charge from null.
messageNo
prepaidNo
created_atNo
status_urlNoFree GET path for this existing job; no settlement or analysis restart.
next_actionNo
status_toolNoFree tool to observe the existing retry; normally get_job_result.
instructionsNo
retry_after_sNoFree polling delay, not a deadline or instruction to authorize payment.
agent_guidanceYesOptional additive agent instructions; does not replace x402 headers or the original result.
delivery_stateNoLegacy ledger state when returned by a job/retry observation.
payment_statusNoLegacy ledger or error field. Use agent_guidance.payment for the explicit charge outcome.
receipt_headerNoStored receipt when available. This is not a new payment proof to authorize or replay.
payment_receiptNoDecoded receipt when available after settlement; historical encoded receipts may remain only in receipt_header.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "anyOf": [
      +    {
      +      "required": [
      +        "status"
      +      ]
      +    },
      +    {
      +      "required": [
      +        "code",
      +        "message"
      +      ]
      +    }
      +  ],
      +  "description": "Free retry admission or a tool error. Only failed token_risk and tx_guard jobs have one manual retry; risk_panel jobs are ineligible and require support review. A failed status alone does not prove retry eligibility. Read agent_guidance.payment and analysis. A missing receipt or result does not prove no charge or refund.",
      +  "properties": {
      +    "agent_guidance": {
      +      "description": "Optional additive agent instructions; does not replace x402 headers or the original result.",
      +      "properties": {
      +        "analysis": {
      +          "properties": {
      +            "explanation": {
      +              "type": "string"
      +            },
      +            "result_available": {
      +              "type": "boolean"
      +            },
      +            "status": {
      +              "enum": [
      +                "not_started",
      +                "waiting_for_payment",
      +                "queued",
      +                "running",
      +                "processing",
      +                "completed",
      +                "failed",
      +                "review_required",
      +                "not_reported"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "status",
      +            "result_available",
      +            "explanation"
      +          ],
      +          "type": "object"
      +        },
      +        "code": {
      +          "type": "string"
      +        },
      +        "documentation": {
      +          "type": "string"
      +        },
      +        "examples": {
      +          "items": {
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "instructions": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "next_action": {
      +          "type": "string"
      +        },
      +        "payment": {
      +          "properties": {
      +            "background_reconciliation_available": {
      +              "const": false,
      +              "type": "boolean"
      +            },
      +            "charge_outcome": {
      +              "enum": [
      +                "not_applicable",
      +                "not_charged",
      +                "charged",
      +                "unconfirmed"
      +              ],
      +              "type": "string"
      +            },
      +            "explanation": {
      +              "type": "string"
      +            },
      +            "legacy_charged_note": {
      +              "type": "string"
      +            },
      +            "new_authorization_allowed": {
      +              "type": "boolean"
      +            },
      +            "next_action": {
      +              "type": "string"
      +            },
      +            "status": {
      +              "enum": [
      +                "not_required",
      +                "not_started",
      +                "not_settled",
      +                "confirmation_pending",
      +                "settled",
      +                "reconciliation_required",
      +                "unconfirmed"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "status",
      +            "charge_outcome",
      +            "explanation",
      +            "next_action"
      +          ],
      +          "type": "object"
      +        },
      +        "payment_allowed": {
      +          "description": "Advisory only; server preflight enforces input validity.",
      +          "type": "boolean"
      +        },
      +        "payment_status": {
      +          "enum": [
      +            "settled",
      +            "not_charged",
      +            "unknown"
      +          ],
      +          "type": "string"
      +        },
      +        "request_example": {
      +          "description": "Recommended NEXT action. A blueprint is not executable until its required original context or actual inputs are supplied. No signing or payment is performed by returning this object.",
      +          "properties": {
      +            "body_fields": {
      +              "type": "object"
      +            },
      +            "effects": {
      +              "properties": {
      +                "analysis": {
      +                  "enum": [
      +                    "none",
      +                    "read_operation_schema",
      +                    "read_existing_job",
      +                    "request_free_token_analysis",
      +                    "read_advisor_catalog",
      +                    "resume_or_recover_existing_job",
      +                    "start_or_complete_analysis",
      +                    "attempt_free_retry"
      +                  ],
      +                  "type": "string"
      +                },
      +                "payment": {
      +                  "enum": [
      +                    "none",
      +                    "may_settle_original_authorization",
      +                    "may_settle_reviewed_authorization"
      +                  ],
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "payment",
      +                "analysis"
      +              ],
      +              "type": "object"
      +            },
      +            "executable": {
      +              "type": "boolean"
      +            },
      +            "explanation": {
      +              "type": "string"
      +            },
      +            "method": {
      +              "type": "string"
      +            },
      +            "new_authorization_allowed": {
      +              "type": "boolean"
      +            },
      +            "payment_proof_required": {
      +              "type": "boolean"
      +            },
      +            "request_source": {
      +              "type": "string"
      +            },
      +            "requires": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "type": {
      +              "enum": [
      +                "http",
      +                "mcp",
      +                "original_context",
      +                "original_request",
      +                "manual",
      +                "none"
      +              ],
      +              "type": "string"
      +            },
      +            "url": {
      +              "type": "string"
      +            },
      +            "url_template": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "executable",
      +            "explanation",
      +            "effects",
      +            "payment_proof_required",
      +            "new_authorization_allowed"
      +          ],
      +          "type": "object"
      +        },
      +        "schema": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "charged": {
      +      "description": "Legacy: true confirms settlement, false reports no settled charge for this attempt, null means unconfirmed. Never infer a refund or no charge from null.",
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "code": {
      +      "description": "Error code when the tool cannot fulfill this request.",
      +      "type": "string"
      +    },
      +    "created_at": {
      +      "type": "number"
      +    },
      +    "delivery_state": {
      +      "description": "Legacy ledger state when returned by a job/retry observation.",
      +      "type": "string"
      +    },
      +    "error": {
      +      "type": "string"
      +    },
      +    "eta_s": {
      +      "description": "Estimated queue delay, not a completion deadline.",
      +      "type": "number"
      +    },
      +    "id": {
      +      "description": "Legacy opaque job identifier.",
      +      "type": "string"
      +    },
      +    "instructions": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "job_id": {
      +      "description": "Opaque server-returned job identifier; preserve it exactly.",
      +      "type": "string"
      +    },
      +    "kind": {
      +      "description": "Stored job kind when exposed; production paid checks use token_risk, tx_guard or risk_panel.",
      +      "type": "string"
      +    },
      +    "message": {
      +      "type": "string"
      +    },
      +    "next_action": {
      +      "type": "string"
      +    },
      +    "payment_receipt": {
      +      "description": "Decoded receipt when available after settlement; historical encoded receipts may remain only in receipt_header.",
      +      "properties": {
      +        "network": {
      +          "type": "string"
      +        },
      +        "success": {
      +          "type": "boolean"
      +        },
      +        "transaction": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "payment_status": {
      +      "description": "Legacy ledger or error field. Use agent_guidance.payment for the explicit charge outcome.",
      +      "enum": [
      +        "reserved",
      +        "prepared",
      +        "claiming",
      +        "uncertain",
      +        "settled",
      +        "unknown"
      +      ],
      +      "type": "string"
      +    },
      +    "prepaid": {
      +      "type": "boolean"
      +    },
      +    "receipt_header": {
      +      "description": "Stored receipt when available. This is not a new payment proof to authorize or replay.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "result": {
      +      "description": "Conditional result. Paid results are released only after confirmed settlement; token/transaction jobs expose the saved paid response envelope, while prepaid panels expose their analysis object when ready. Legacy non-purchase jobs may expose their result directly. Absence never proves no charge."
      +    },
      +    "retry_after_s": {
      +      "description": "Free polling delay, not a deadline or instruction to authorize payment.",
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "status": {
      +      "description": "Analysis and payment are separate facts. ready/done can mean work finished while its paid result is still withheld; needs_review can concern payment or analysis. Read agent_guidance.payment and analysis.",
      +      "enum": [
      +        "awaiting_payment",
      +        "queued",
      +        "running",
      +        "processing",
      +        "done",
      +        "ready",
      +        "failed",
      +        "payment_processing",
      +        "needs_review"
      +      ],
      +      "type": "string"
      +    },
      +    "status_tool": {
      +      "description": "Free tool to observe the existing retry; normally get_job_result.",
      +      "type": "string"
      +    },
      +    "status_url": {
      +      "description": "Free GET path for this existing job; no settlement or analysis restart.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "agent_guidance"
      +  ],
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / job_id / description
      Added value: +"Job ID of a failed paid transaction or token check. Retry that job for free after get_job_result reports failure."
  3. First observed

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden and does a good job: free retry, one manual retry per job ID, no automatic refund, and contact escalation if it still fails. It does not disclose auth, rate-limit, or side-effect details, so it is not fully exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, with the core action front-loaded. Every sentence adds a real constraint: free retry, retry limit, escalation path, and no automatic refund.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a single required parameter, full schema coverage, and an output schema, the description supplies the otherwise missing behavioral context needed to call the tool correctly. It covers purpose, limits, failure handling, and refund policy.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds useful meaning beyond the schema by clarifying that job_id refers to a failed paid transaction or token check and that each job ID gets only one manual retry.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: retry a failed paid job for free. It also scopes the tool to failed transaction/token checks and makes clear this is a retry action, distinguishing it from sibling result/check tools such as get_job_result.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear condition for use: retry a failed paid job, after get_job_result reports failure, with one manual retry per job ID. It also provides a fallback if the retry fails. It does not explicitly compare against the check/quote siblings for non-failure situations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources