{
  "openapi": "3.1.0",
  "x-zeroclick-navigation": {
    "fullSpec": "https://agents.dubbleblack.com/openapi.json",
    "services": "https://agents.dubbleblack.com/services",
    "serviceSpecTemplate": "https://agents.dubbleblack.com/services/{slug}/openapi.json",
    "searchTemplate": "https://agents.dubbleblack.com/openapi.json?q={text}",
    "operationTemplate": "https://agents.dubbleblack.com/openapi.json?path={path}&method={method}",
    "firstPage": "https://agents.dubbleblack.com/openapi.json?page=1",
    "instructions": [
      "Use this spec if it contains the operation and details you need. Otherwise, search or open a relevant service spec using the links below.",
      "Find service slugs in x-zeroclick-services or x-payment-info.rates[].service; use them in serviceSpecTemplate, never as request values.",
      "URL-encode template values. Search is ranked; service, path, and method filters are exact. Filters combine.",
      "Pages contain up to 10 operations; follow info.x-next or the Link header if you need more results. Shared operations retain all selector values."
    ]
  },
  "info": {
    "title": "DubbleBlack",
    "version": "1.0.0",
    "description": "Behavioral commerce evidence for product recommendations. Powder helps agents determine whether observed commerce behavior supports a product recommendation. Agents can query products and shopping decisions across Powder's current consumer-product evidence inventory.\r\n\r\nPowder returns available evidence, provenance, and whether that evidence is Qualified, Insufficient, or Unavailable. Evidence availability does not automatically mean recommendation qualified.\r\n\r\nCurrent retrievable evidence spans companion-animal, general-retail/CPG, and beauty categories, with coverage continuously expanding.\r\n\r\n$0.10/query via x402\r\n\r\nExample queries: \"What calming CBD chews should I consider for my dog?\" \"Peanut Brittle\" \"Probiotics With Prebiotics\" \"Facial Moisturizer\" \"Foaming Facial Cleanser\" This server is a pay-per-use, transparent proxy in front of DubbleBlack's own API: it handles identity, payment, and proxying. Agents can purchase autonomously or with their human's approval. The complete verified paid surface is listed at /openapi.json, the source of truth for available operations. Each operation here carries its live price in x-payment-info. Use the operations and details here when they meet your needs. Filtered specs contain only matching operations; if you cannot find what you need here, use search or the service catalog. The live catalog at /manifest.json is authoritative for prices and any free included units (prices[].includedUnits) - some meters include free usage per account before any charge, reserved for agents claimed by a human with a verified email.",
    "x-guidance": "Start with the free seller advisor: POST https://agents.dubbleblack.com/zeroclick/agent/quote with your goal and known budget or requirements. This operation costs $0 and requires only an x402 or MPP wallet proof; it returns a guide and never executes a purchase. Without a wallet, GET https://agents.dubbleblack.com/zeroclick/agent/guide?goal=URL_ENCODED_TASK or POST to that guide. Other operations below are the direct API reference; their own prices and access requirements still apply. Call the operations listed in this document at https://agents.dubbleblack.com. Each service's full price matrix, plans, and how to buy are at https://agents.dubbleblack.com/services/{slug}; each operation's x-payment-info names the service it bills by slug (rates[].service). Slugs identify services in prices and usage reports and are never request values: when one operation serves several services, its request body schema lists the accepted values of the field that selects the service, so send one of those exactly as written. An unpaid call returns 402 Payment Required with a signed challenge; settle it with a supported payment method - x402 (Base USDC) or MPP (Tempo USDC) today - and retry with the proof attached. No upstream API key is needed, and an agent without a payment method can set one up instantly at no cost. Read GET https://agents.dubbleblack.com/manifest.json for the live services, meters, plans, prices, and any free included units, and https://agents.dubbleblack.com/llms-full.txt for the full agent guide, including how the free allowance works without funding (it requires an agent identity claimed by a human with a verified email)."
  },
  "x-service-info": {
    "docs": {
      "homepage": "https://dubbleblack.com",
      "apiReference": "https://agents.dubbleblack.com/openapi.json",
      "llms": "https://agents.dubbleblack.com/llms.txt"
    }
  },
  "externalDocs": {
    "url": "https://agents.dubbleblack.com/llms-full.txt",
    "description": "How to authenticate, pay, and call this API; links the upstream API reference."
  },
  "servers": [
    {
      "url": "https://agents.dubbleblack.com",
      "description": "Pay-per-use access to DubbleBlack's API"
    }
  ],
  "security": [
    {
      "payPerUse": []
    }
  ],
  "components": {
    "securitySchemes": {
      "payPerUse": {
        "type": "apiKey",
        "in": "header",
        "name": "x-payment",
        "description": "Pay-per-use access. An unpaid call returns 402 Payment Required with a signed challenge; settle it with a supported payment method (x402 or MPP today) and retry with the proof in this header (x402) or as Authorization: Payment (MPP; use ZC-Agent-Authorization for a separate buyer bearer). No upstream API key is needed, and an agent without a payment method can set one up instantly at no cost."
      },
      "sellerAgentX402": {
        "type": "apiKey",
        "in": "header",
        "name": "Payment-Signature",
        "description": "Signed $0 x402 proof from the 402 challenge"
      },
      "sellerAgentMpp": {
        "type": "http",
        "scheme": "Payment",
        "description": "Signed $0 MPP proof from the 402 challenge"
      }
    },
    "schemas": {
      "sds_K_P8IMTKKnNcll2B6UmmV_160e2e1d1b66ff17_ref0": {
        "type": "object",
        "required": [
          "schema_version",
          "generated_at",
          "evidence_available",
          "evidence",
          "errors"
        ],
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "coverage": {
            "type": "object",
            "additionalProperties": true
          },
          "evidence": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "provenance": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          },
          "evidence_score": {
            "type": [
              "object",
              "null"
            ],
            "description": "Calibrated bounded Evidence Score V1 with score, band, components, formula, explanation, and limitations.",
            "additionalProperties": true
          },
          "schema_version": {
            "type": "string"
          },
          "evidence_available": {
            "type": "boolean"
          },
          "comparison_subjects": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "description": "Present only for explicit two-subject text comparisons. Each entry carries its own subject, evidence, coverage, provenance, limitations, and score; no winner is calculated."
          }
        },
        "description": "V2 response. Evidence Score V1 measures bounded evidence strength/depth only; it is not product quality, recommendation confidence, or purchase probability.",
        "additionalProperties": true
      }
    }
  },
  "paths": {
    "/api/agent/evidence": {
      "post": {
        "summary": "Query Powder evidence",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/sds_K_P8IMTKKnNcll2B6UmmV_160e2e1d1b66ff17_ref0"
                }
              }
            },
            "description": "Evidence Engine V2 response with evidence, coverage, provenance, score, and limitations."
          },
          "400": {
            "description": "Invalid request, unsupported legacy budget/include_insufficient_evidence field, or ambiguous/more-than-two-subject request."
          },
          "401": {
            "description": "Authentication failure. Direct PAYG does not require a separate ZeroClick buyer bearer token or DubbleBlack account registration; internal seller-side forwarded authentication remains enforced."
          },
          "402": {
            "description": "Payment required"
          },
          "429": {
            "description": "Rate limit exceeded."
          },
          "500": {
            "description": "Evidence service failed closed."
          }
        },
        "description": "Canonical paid interface backed by Evidence Engine V2. Submit a natural-language query; vertical is an optional routing hint. Explicit two-subject text comparisons return independently attributed evidence, coverage, provenance, limitations, and per-subject scores, with no winner or aggregate comparison score. A one-element brands array is accepted for single-subject compatibility. budget_min, budget_max, and include_insufficient_evidence are rejected; ambiguous multi-selector requests are rejected. Payment/allowance enforcement remains server-side. For direct pay-as-you-go access, send a supported request to POST https://agents.dubbleblack.com/api/agent/evidence and settle its x402 payment challenge using an authorized, funded USDC wallet on Base. The signed payment proves wallet control; no separate ZeroClick bearer token or DubbleBlack account registration is required. This path requires no human signup, sales call, or seller-side KYC. Wallet acquisition or funding may have separate provider requirements.",
        "operationId": "queryPowderEvidence",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "anyOf": [
                  {
                    "required": [
                      "query"
                    ]
                  },
                  {
                    "required": [
                      "intent"
                    ]
                  },
                  {
                    "required": [
                      "vertical"
                    ]
                  },
                  {
                    "required": [
                      "category"
                    ]
                  },
                  {
                    "required": [
                      "brand"
                    ]
                  },
                  {
                    "required": [
                      "brands"
                    ]
                  },
                  {
                    "required": [
                      "product_ids"
                    ]
                  },
                  {
                    "required": [
                      "gtins"
                    ]
                  },
                  {
                    "required": [
                      "skus"
                    ]
                  }
                ],
                "properties": {
                  "skus": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 128
                    },
                    "maxItems": 1,
                    "minItems": 1
                  },
                  "brand": {
                    "type": "string",
                    "maxLength": 128
                  },
                  "gtins": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 128
                    },
                    "maxItems": 1,
                    "minItems": 1
                  },
                  "limit": {
                    "type": "integer",
                    "default": 5,
                    "maximum": 10,
                    "minimum": 1
                  },
                  "query": {
                    "type": "string",
                    "maxLength": 2000,
                    "description": "Natural-language question about one subject or an explicit comparison of two subjects."
                  },
                  "brands": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 128
                    },
                    "maxItems": 1,
                    "minItems": 1,
                    "description": "Compatibility alias for brand; exactly one brand is accepted."
                  },
                  "intent": {
                    "type": "string",
                    "maxLength": 512,
                    "description": "Natural-language evidence intent."
                  },
                  "context": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "category": {
                    "type": "string",
                    "maxLength": 128
                  },
                  "vertical": {
                    "type": "string",
                    "maxLength": 128,
                    "description": "Optional natural-language routing hint; unknown future values are accepted."
                  },
                  "product_ids": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 128
                    },
                    "maxItems": 1,
                    "minItems": 1
                  },
                  "evidence_types": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "behavioral",
                        "outcome",
                        "product",
                        "catalog",
                        "price",
                        "promotion",
                        "availability",
                        "intent_context",
                        "external"
                      ],
                      "type": "string"
                    },
                    "maxItems": 10
                  },
                  "max_external_sources": {
                    "type": "integer",
                    "default": 2,
                    "maximum": 10,
                    "minimum": 0
                  },
                  "requested_identity_levels": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "product",
                        "sku",
                        "gtin",
                        "variant",
                        "offer",
                        "brand",
                        "category",
                        "merchant",
                        "unknown"
                      ],
                      "type": "string"
                    },
                    "maxItems": 9
                  }
                },
                "additionalProperties": false
              },
              "examples": {
                "singleSubject": {
                  "value": {
                    "limit": 3,
                    "query": "What calming CBD chews should I consider for my dog?"
                  },
                  "summary": "Natural-language question with optional vertical"
                }
              }
            }
          },
          "required": true
        },
        "x-zeroclick-document-sources": [
          {
            "gaps": [],
            "pages": [],
            "sourceId": "sds_K_P8IMTKKnNcll2B6UmmV",
            "authority": "official",
            "conflicts": [],
            "revisionId": "sdrn_kAUBLjOmLLn4WhbYkchTN"
          },
          {
            "gaps": [
              "Missing explicit schema definition for response body fields."
            ],
            "pages": [
              1
            ],
            "sourceId": "sds_0YHfEnOHIpoKnhrpA9jSN",
            "authority": "supplemental",
            "conflicts": [
              "/summary",
              "/responses/200/description",
              "/description",
              "/operationId",
              "/requestBody/content/application/json/schema/required",
              "/requestBody/content/application/json/schema/properties/query/description",
              "/requestBody/content/application/json/schema/properties/vertical/description"
            ],
            "revisionId": "sdrn_cs_F1c13wtTBrEYh9LGrP"
          },
          {
            "gaps": [
              "Missing explicit schema definition for response body",
              "Missing definition for x402 authentication mechanism"
            ],
            "pages": [
              1
            ],
            "sourceId": "sds_IMrc_Dy8hRfD9zenTh2e7",
            "authority": "supplemental",
            "conflicts": [
              "/summary",
              "/responses/200/description",
              "/description",
              "/operationId",
              "/requestBody/content/application/json/schema/required"
            ],
            "revisionId": "sdrn_FK9SCSX5awA-KDe_C3Duv"
          }
        ],
        "x-zeroclick-services": [
          "powder-evidence"
        ],
        "x-payment-info": {
          "access": "payg",
          "protocols": [
            {
              "mpp": {
                "method": "tempo",
                "intent": "charge",
                "currency": "USD"
              }
            },
            {
              "x402": {
                "network": "eip155:8453",
                "scheme": "exact",
                "currency": "USDC"
              }
            }
          ],
          "offers": [
            {
              "amount": "100000",
              "currency": "0x20C000000000000000000000b9537d11c60E8b50",
              "description": "$0.100000 per request (requests, service powder-evidence)",
              "intent": "charge",
              "method": "tempo"
            }
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.100000"
          },
          "rates": [
            {
              "service": "powder-evidence",
              "meter": "requests",
              "unit": "request",
              "unitSize": 1,
              "priceUsd": "0.100000",
              "includedUnits": 0
            }
          ],
          "perCallUsage": [
            {
              "service": "powder-evidence",
              "meter": "requests",
              "quantity": 1
            }
          ]
        }
      }
    },
    "/api/agent/evidence/v2": {
      "post": {
        "summary": "Query Powder Evidence Engine v2",
        "responses": {
          "200": {
            "description": "Typed evidence, provenance, coverage, limitations, and calibrated bounded Evidence Score V1. Observed conversions remain distinct from confirmed purchases."
          },
          "400": {
            "description": "Invalid request or no meaningful selector."
          },
          "401": {
            "description": "Authentication failure. Direct PAYG does not require a separate ZeroClick buyer bearer token or DubbleBlack account registration; internal seller-side forwarded authentication remains enforced."
          },
          "402": {
            "description": "Payment required"
          },
          "429": {
            "description": "Rate limit exceeded."
          },
          "500": {
            "description": "Evidence service failed closed."
          }
        },
        "description": "Preview additive route. Accepts natural-language commerce evidence questions and optional routing hints without requiring predefined category codes. At least one meaningful selector is required. This route is not the current paid default and does not make recommendations.",
        "operationId": "queryPowderEvidenceV2",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "anyOf": [
                  {
                    "required": [
                      "query"
                    ]
                  },
                  {
                    "required": [
                      "intent"
                    ]
                  },
                  {
                    "required": [
                      "vertical"
                    ]
                  },
                  {
                    "required": [
                      "category"
                    ]
                  },
                  {
                    "required": [
                      "brand"
                    ]
                  },
                  {
                    "required": [
                      "product_ids"
                    ]
                  },
                  {
                    "required": [
                      "gtins"
                    ]
                  },
                  {
                    "required": [
                      "skus"
                    ]
                  }
                ],
                "properties": {
                  "skus": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 128
                    },
                    "maxItems": 20,
                    "minItems": 1
                  },
                  "brand": {
                    "type": "string",
                    "maxLength": 128
                  },
                  "gtins": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 128
                    },
                    "maxItems": 20,
                    "minItems": 1
                  },
                  "limit": {
                    "type": "integer",
                    "default": 5,
                    "maximum": 10,
                    "minimum": 1
                  },
                  "query": {
                    "type": "string",
                    "maxLength": 2000,
                    "description": "Natural-language commerce question."
                  },
                  "intent": {
                    "type": "string",
                    "maxLength": 512
                  },
                  "context": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "category": {
                    "type": "string",
                    "maxLength": 128
                  },
                  "vertical": {
                    "type": "string",
                    "maxLength": 128,
                    "description": "Optional natural-language routing hint; unknown future values are accepted."
                  },
                  "product_ids": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 128
                    },
                    "maxItems": 20,
                    "minItems": 1
                  },
                  "evidence_types": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "behavioral",
                        "outcome",
                        "product",
                        "catalog",
                        "price",
                        "promotion",
                        "availability",
                        "intent_context",
                        "external"
                      ],
                      "type": "string"
                    },
                    "maxItems": 10
                  },
                  "max_external_sources": {
                    "type": "integer",
                    "default": 2,
                    "maximum": 10,
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "required": true
        },
        "x-zeroclick-document-sources": [
          {
            "gaps": [],
            "pages": [],
            "sourceId": "sds_K_P8IMTKKnNcll2B6UmmV",
            "authority": "official",
            "conflicts": [],
            "revisionId": "sdrn_kAUBLjOmLLn4WhbYkchTN"
          },
          {
            "gaps": [
              "Missing explicit schema definition for response body fields."
            ],
            "pages": [
              1
            ],
            "sourceId": "sds_0YHfEnOHIpoKnhrpA9jSN",
            "authority": "supplemental",
            "conflicts": [
              "/summary",
              "/responses/200/description",
              "/description",
              "/operationId",
              "/requestBody/content/application/json/schema/required",
              "/requestBody/content/application/json/schema/properties/vertical/description"
            ],
            "revisionId": "sdrn_cs_F1c13wtTBrEYh9LGrP"
          },
          {
            "gaps": [
              "Missing explicit schema definition for response body",
              "Authentication requirements not explicitly stated for V2 route"
            ],
            "pages": [
              1
            ],
            "sourceId": "sds_IMrc_Dy8hRfD9zenTh2e7",
            "authority": "supplemental",
            "conflicts": [
              "/summary",
              "/responses/200/description",
              "/description",
              "/operationId",
              "/requestBody/content/application/json/schema/required",
              "/requestBody/content/application/json/schema/properties/context/type"
            ],
            "revisionId": "sdrn_FK9SCSX5awA-KDe_C3Duv"
          }
        ],
        "x-zeroclick-services": [
          "powder-evidence"
        ],
        "x-payment-info": {
          "access": "payg",
          "protocols": [
            {
              "mpp": {
                "method": "tempo",
                "intent": "charge",
                "currency": "USD"
              }
            },
            {
              "x402": {
                "network": "eip155:8453",
                "scheme": "exact",
                "currency": "USDC"
              }
            }
          ],
          "offers": [
            {
              "amount": "100000",
              "currency": "0x20C000000000000000000000b9537d11c60E8b50",
              "description": "$0.100000 per request (requests, service powder-evidence)",
              "intent": "charge",
              "method": "tempo"
            }
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.100000"
          },
          "rates": [
            {
              "service": "powder-evidence",
              "meter": "requests",
              "unit": "request",
              "unitSize": 1,
              "priceUsd": "0.100000",
              "includedUnits": 0
            }
          ],
          "perCallUsage": [
            {
              "service": "powder-evidence",
              "meter": "requests",
              "quantity": 1
            }
          ]
        }
      }
    },
    "/zeroclick/agent/quote": {
      "post": {
        "operationId": "sellerAgentQuote",
        "summary": "Get a free seller API quote and purchase guide",
        "description": "Describe your task to get the matching API contract, prices, prerequisites and next steps. This is a $0 wallet-proof lookup, not the seller's paid service. No purchase is executed. Without a wallet, use /zeroclick/agent/guide.",
        "servers": [
          {
            "url": "https://agents.dubbleblack.com"
          }
        ],
        "security": [
          {
            "sellerAgentX402": []
          },
          {
            "sellerAgentMpp": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "type": "object",
                "properties": {
                  "goal": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000,
                    "description": "Describe the task and known inputs. Do not include credentials."
                  },
                  "quantity": {
                    "description": "Number of API calls, not returned items. Omit when unknown; describe desired output in goal.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000000
                  },
                  "budgetUsd": {
                    "description": "Total cash budget in USD. A quote does not authorize spending.",
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d{0,8})(\\.\\d{1,6})?$"
                  },
                  "budgetExclusive": {
                    "type": "boolean"
                  },
                  "reviewAfterCalls": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000000
                  },
                  "requirements": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 300
                  },
                  "humanAvailable": {
                    "description": "Whether a human is in the loop. False recommends anonymous auth for a new autonomous identity; omit when unknown. Executing a human's request without further interruptions does not by itself mean false.",
                    "type": "boolean"
                  },
                  "payment": {
                    "description": "Known payment method for the eventual purchase, independent of this free lookup's wallet proof.",
                    "type": "string",
                    "enum": [
                      "x402",
                      "mpp",
                      "card"
                    ]
                  }
                },
                "required": [
                  "goal"
                ],
                "additionalProperties": false
              },
              "example": {
                "goal": "Find the available services, prices and purchase steps"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Task guidance; inspect status before executing anything",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "quoted",
                        "ready",
                        "needs_input",
                        "blocked",
                        "unknown",
                        "unsupported",
                        "unavailable"
                      ]
                    },
                    "priceUsd": {
                      "type": "string",
                      "const": "0"
                    },
                    "guide": {
                      "type": "string",
                      "description": "Markdown guidance containing the task result, exact contract, pricing and next steps when available. No purchase is executed."
                    },
                    "guideUrl": {
                      "type": "string",
                      "format": "uri",
                      "description": "Wallet-free advisor endpoint for further planning or recovery."
                    }
                  },
                  "required": [
                    "status",
                    "priceUsd",
                    "guide",
                    "guideUrl"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "402": {
            "description": "$0 x402 or MPP wallet proof required; sign and retry the same request. No funds are transferred."
          },
          "503": {
            "description": "Advisor unavailable; use the wallet-free guide or direct storefront references"
          }
        },
        "x-payment-info": {
          "access": "payg",
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0"
          },
          "protocols": [
            {
              "x402": {
                "network": "eip155:8453",
                "scheme": "exact",
                "currency": "USDC"
              }
            },
            {
              "mpp": {
                "method": "tempo",
                "intent": "charge",
                "currency": "USD"
              }
            }
          ],
          "offers": [
            {
              "amount": "0",
              "currency": "0x20C000000000000000000000b9537d11c60E8b50",
              "method": "tempo",
              "intent": "charge",
              "description": "Free seller advisor lookup"
            }
          ]
        }
      }
    }
  },
  "x-zeroclick-navigation-footer": {
    "instructions": [
      "Use this spec if it contains the operation and details you need. Otherwise, search or open a relevant service spec using the links below.",
      "Find service slugs in x-zeroclick-services or x-payment-info.rates[].service; use them in serviceSpecTemplate, never as request values.",
      "URL-encode template values. Search is ranked; service, path, and method filters are exact. Filters combine.",
      "Pages contain up to 10 operations; follow info.x-next or the Link header if you need more results. Shared operations retain all selector values."
    ],
    "fullSpec": "https://agents.dubbleblack.com/openapi.json",
    "services": "https://agents.dubbleblack.com/services",
    "serviceSpecTemplate": "https://agents.dubbleblack.com/services/{slug}/openapi.json",
    "searchTemplate": "https://agents.dubbleblack.com/openapi.json?q={text}",
    "operationTemplate": "https://agents.dubbleblack.com/openapi.json?path={path}&method={method}",
    "firstPage": "https://agents.dubbleblack.com/openapi.json?page=1"
  }
}
