Skip to main content
Glama

Create Exit Manifest

create_exit_manifest

Persist a privacy-minimized Exit Manifest for a commitment whose current, non-conflicting reversibility evidence passes preflight, then return its manifest_id and secret access_token. Use when durable exit evidence may matter later and check_reversibility says paidExitManifestAvailable=true; use check_reversibility for evaluation only, or get_exit_manifest when a manifest already exists. This is a state-changing $0.25 MPP operation: eligibility is checked before any payment challenge, a successful fresh authorization creates durable state, and the plaintext access token is returned to the caller but stored only as a SHA-256 hash. A fresh paid invocation can create a new manifest, while retrying an identical settled request with the same payment credential recovers the same manifest without a second settlement.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
amountYesCommitment amount in major currency units, for example 125.50 for USD 125.50. Must be non-negative and uses currency below for all monetary interpretation.
regionNoOptional state, province, or region label when the commitment or merchant terms are region-specific.
countryNoOptional two-letter ISO 3166-1 alpha-2 country code, such as US. Used to scope maintained policy rules when geography matters.
currencyNoThree-letter ISO 4217 currency code for amount and all monetary checkout terms. Defaults to USD.USD
merchantYesMerchant, platform, provider, or counterparty name exactly enough to identify the commitment. Used to match maintained policy overlays; do not include account numbers, credentials, or secrets.
event_typeNoLifecycle event for this commitment. Use renewal for a recurring renewal, reservation for a booking event, deposit for a deposit event, or leave omitted for an initial commitment.initial
checkout_termsNoTransaction-specific cancellation, refund, renewal, charge, and loss terms observed for this exact commitment. Supply these whenever available; they control the transaction-specific assessment while maintained policy evidence remains contextual.
commitment_typeYesClosest category for the commitment being evaluated. This affects policy matching and should describe what the user is committing to, not the payment method.
client_referenceNoOptional caller-owned correlation reference. ExitProof stores only a SHA-256 hash; do not place secrets or sensitive personal data here.
purchase_channelNoWhere the commitment is being made or billed. Use apple or google_play when that billing platform controls cancellation/refund rules; use direct for the merchant itself.unknown
expected_commitment_atNoRFC 3339 timestamp with explicit timezone for when the commitment is expected to occur. ExitProof evaluates time windows at the later of now and this timestamp.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
createdAtYesManifest creation timestamp.
expiresAtYesManifest expiration timestamp.
assessmentYesReversibility assessment preserved in the manifest.
manifestIdYesUnguessable identifier for the stored Exit Manifest.
accessTokenYesSecret bearer token required with manifestId for later retrieval or exit-pack creation. ExitProof does not store this token in plaintext.
privacyNoteYesHow ExitProof protects and may recover the access token.
paidExitPackAvailableNoWhether the stored manifest is eligible for an exit-pack preflight at creation time.
accessTokenReturnedOnceYesWhether this response is the first normal return of the access token.
accessTokenReissuedForSettlementRecoveryNoTrue only when deterministic settlement recovery re-derived the access token after a settled delivery failure.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed27 schema fields changed
    • addedInput schema / description
      Added value: +"One contemplated or existing commitment to evaluate. merchant, commitment_type, and amount are required. Transaction-specific checkout_terms are the strongest input when available; maintained policy evidence can add context but never overrides conflicting transaction-specific terms."
    • addedInput schema / properties / amount / description
      Added value: +"Commitment amount in major currency units, for example 125.50 for USD 125.50. Must be non-negative and uses currency below for all monetary interpretation."
    • addedInput schema / properties / checkout_terms / description
      Added value: +"Transaction-specific cancellation, refund, renewal, charge, and loss terms observed for this exact commitment. Supply these whenever available; they control the transaction-specific assessment while maintained policy evidence remains contextual."
    • addedInput schema / properties / checkout_terms / properties / auto_renews / description
      Added value: +"Whether the supplied transaction terms explicitly state that the commitment renews automatically."
    • addedInput schema / properties / checkout_terms / properties / cancellable / description
      Added value: +"Whether the supplied transaction terms explicitly state that the commitment can be canceled."
    • changedInput schema / properties / checkout_terms / properties / cancellation_deadline / description
      Previous value: -"RFC 3339 timestamp with explicit timezone."New value: +"RFC 3339 timestamp with explicit timezone for the stated cancellation deadline, even when cancellation may involve a loss."
    • addedInput schema / properties / checkout_terms / properties / cancellation_method / description
      Added value: +"Recorded method or path for cancellation/refund, such as an account page, support channel, or merchant instruction. This can make a later exit pack actionable."
    • addedInput schema / properties / checkout_terms / properties / cancellation_penalty_amount / description
      Added value: +"Stated cancellation penalty in major units of currency. Mutually exclusive with cancellation_penalty_percent."
    • addedInput schema / properties / checkout_terms / properties / cancellation_penalty_percent / description
      Added value: +"Stated cancellation penalty as a percentage from 0 to 100. Mutually exclusive with cancellation_penalty_amount."
    • addedInput schema / properties / checkout_terms / properties / charge_timing / description
      Added value: +"When the merchant states the charge will occur, such as immediately, at check-in, or 24 hours before renewal."
    • changedInput schema / properties / checkout_terms / properties / free_cancellation_until / description
      Previous value: -"RFC 3339 timestamp with explicit timezone."New value: +"RFC 3339 deadline with explicit timezone through which the supplied terms state cancellation is free."
    • addedInput schema / properties / checkout_terms / properties / nonrefundable_amount / description
      Added value: +"Amount explicitly stated as nonrefundable, in major units of currency."
    • changedInput schema / properties / checkout_terms / properties / observed_at / description
      Previous value: -"RFC 3339 timestamp with explicit timezone."New value: +"RFC 3339 timestamp with explicit timezone for when the caller observed these checkout terms."
    • addedInput schema / properties / checkout_terms / properties / refundable / description
      Added value: +"Whether the supplied transaction terms explicitly state that the committed amount is refundable."
    • addedInput schema / properties / checkout_terms / properties / renewal_interval / description
      Added value: +"Human-readable renewal interval from the supplied terms, such as monthly or annually. Use only when auto-renewal terms are stated."
    • addedInput schema / properties / checkout_terms / properties / source_url / description
      Added value: +"HTTP(S) source URL for the supplied transaction terms. ExitProof removes credentials, query parameters, and fragments before storing the URL."
    • changedInput schema / properties / client_reference / description
      Previous value: -"Optional caller-owned reference. ExitProof stores only a SHA-256 hash."New value: +"Optional caller-owned correlation reference. ExitProof stores only a SHA-256 hash; do not place secrets or sensitive personal data here."
    • addedInput schema / properties / commitment_type / description
      Added value: +"Closest category for the commitment being evaluated. This affects policy matching and should describe what the user is committing to, not the payment method."
    • addedInput schema / properties / country / description
      Added value: +"Optional two-letter ISO 3166-1 alpha-2 country code, such as US. Used to scope maintained policy rules when geography matters."
    • addedInput schema / properties / country / pattern
      Added value: +"^[A-Za-z]{2}$"
    • addedInput schema / properties / currency / description
      Added value: +"Three-letter ISO 4217 currency code for amount and all monetary checkout terms. Defaults to USD."
    • addedInput schema / properties / event_type / description
      Added value: +"Lifecycle event for this commitment. Use renewal for a recurring renewal, reservation for a booking event, deposit for a deposit event, or leave omitted for an initial commitment."
    • changedInput schema / properties / expected_commitment_at / description
      Previous value: -"RFC 3339 timestamp with explicit timezone."New value: +"RFC 3339 timestamp with explicit timezone for when the commitment is expected to occur. ExitProof evaluates time windows at the later of now and this timestamp."
    • addedInput schema / properties / merchant / description
      Added value: +"Merchant, platform, provider, or counterparty name exactly enough to identify the commitment. Used to match maintained policy overlays; do not include account numbers, credentials, or secrets."
    • addedInput schema / properties / purchase_channel / description
      Added value: +"Where the commitment is being made or billed. Use apple or google_play when that billing platform controls cancellation/refund rules; use direct for the merchant itself."
    • addedInput schema / properties / region / description
      Added value: +"Optional state, province, or region label when the commitment or merchant terms are region-specific."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "Durable privacy-minimized Exit Manifest plus the bearer access token returned to the caller.",
      +  "properties": {
      +    "accessToken": {
      +      "description": "Secret bearer token required with manifestId for later retrieval or exit-pack creation. ExitProof does not store this token in plaintext.",
      +      "type": "string"
      +    },
      +    "accessTokenReissuedForSettlementRecovery": {
      +      "description": "True only when deterministic settlement recovery re-derived the access token after a settled delivery failure.",
      +      "type": "boolean"
      +    },
      +    "accessTokenReturnedOnce": {
      +      "description": "Whether this response is the first normal return of the access token.",
      +      "type": "boolean"
      +    },
      +    "assessment": {
      +      "description": "Reversibility assessment preserved in the manifest.",
      +      "type": "string"
      +    },
      +    "createdAt": {
      +      "description": "Manifest creation timestamp.",
      +      "type": "string"
      +    },
      +    "expiresAt": {
      +      "description": "Manifest expiration timestamp.",
      +      "type": "string"
      +    },
      +    "manifestId": {
      +      "description": "Unguessable identifier for the stored Exit Manifest.",
      +      "type": "string"
      +    },
      +    "paidExitPackAvailable": {
      +      "description": "Whether the stored manifest is eligible for an exit-pack preflight at creation time.",
      +      "type": "boolean"
      +    },
      +    "privacyNote": {
      +      "description": "How ExitProof protects and may recover the access token.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "manifestId",
      +    "createdAt",
      +    "expiresAt",
      +    "assessment",
      +    "accessToken",
      +    "accessTokenReturnedOnce",
      +    "privacyNote"
      +  ],
      +  "type": "object"
      +}
  2. Changed11 schema fields changed
    • addedInput schema / properties / checkout_terms / properties / cancellation_deadline / description
      Added value: +"RFC 3339 timestamp with explicit timezone."
    • addedInput schema / properties / checkout_terms / properties / cancellation_deadline / format
      Added value: +"date-time"
    • addedInput schema / properties / checkout_terms / properties / free_cancellation_until / description
      Added value: +"RFC 3339 timestamp with explicit timezone."
    • addedInput schema / properties / checkout_terms / properties / free_cancellation_until / format
      Added value: +"date-time"
    • addedInput schema / properties / checkout_terms / properties / observed_at / description
      Added value: +"RFC 3339 timestamp with explicit timezone."
    • addedInput schema / properties / checkout_terms / properties / observed_at / format
      Added value: +"date-time"
    • addedInput schema / properties / currency / maxLength
      Added value: +3
    • addedInput schema / properties / currency / minLength
      Added value: +3
    • addedInput schema / properties / currency / pattern
      Added value: +"^[A-Za-z]{3}$"
    • addedInput schema / properties / expected_commitment_at / description
      Added value: +"RFC 3339 timestamp with explicit timezone."
    • addedInput schema / properties / expected_commitment_at / format
      Added value: +"date-time"
  3. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Description discloses state-changing behavior, the $0.25 MPP cost, eligibility preflight before payment challenge, durable state creation, and the fact that the plaintext access token is returned but stored only as a SHA-256 hash. It also explains the retry-with-same-credential recovery behavior, going beyond annotations. No contradiction with annotations was found.

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 dense sentences are front-loaded with purpose, then usage, then behavioral and cost nuances. No filler is present; each clause adds operational information an agent needs to select and invoke the tool correctly.

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?

For a complex 11-parameter paid state-changing tool, the description covers invocation trigger, alternatives, cost, state effects, and retry semantics. An output schema exists, so not explaining return structure in the description is acceptable.

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

Parameters3/5

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

Schema description coverage is 100%, and every parameter already has detailed descriptions. The tool description adds little parameter-level meaning beyond that, so the baseline 3 applies. It mentions returned manifest_id and access_token, but that is output context rather than input parameter semantics.

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?

Description names the exact operation: 'Persist a privacy-minimized Exit Manifest... then return its manifest_id and secret access_token.' It clearly distinguishes from siblings by naming check_reversibility and get_exit_manifest and their different roles. A specific verb, resource, and outcome are all present.

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

Usage Guidelines5/5

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

Explicitly says when to use: 'when durable exit evidence may matter later and check_reversibility says paidExitManifestAvailable=true.' It also gives exclusions: 'use check_reversibility for evaluation only, or get_exit_manifest when a manifest already exists.' This routes an agent to the correct tool without ambiguity.

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