Skip to content
looot docs
Esc
↑↓navigate↵open⌘Jpreview

Inspect an operation

Returns one endpoint’s version-pinned contract: its exact input and output schema, price, estimated max cost and ready REST, MCP and CLI request templates with placeholders. Free. The MCP inspect tool answers from the same route.

GET/v1/operations/{endpointId}
Authorization
AuthorizationBearer token · headerrequired
Path parameters
endpointIdstringrequired

The endpoint id, as a row of GET /v1/catalog/search or the MCP search tool returns it.

Responses
200

Version-pinned operation contract and safe usage hints

endpointobjectrequired

Exact registered endpoint metadata

estimatedMaxCostnumberrequired

Provider price + the platform key's fee -- the TOTAL a run through the platform key would charge

min 0
platformFeeMicrosinteger

The platform key's fee for this endpoint's provider, in micros

min 0
providerPricenumber

The provider's own price alone, with no platform fee added

min 0
inputSchemaobject | null

Draft 2020-12 input schema resolved from fixture, activation bundle, or direct registration; null when the endpoint declares none

requestBindingobject | null

How validated input fields become the HTTP request (path/query/header/body); null for a fixture or bundle-published endpoint that declares none

uiSchemaobject | null

Presentation hints for a generated form; never validation

outputFormatobject

The endpoint's stored output format, present only when one is stored. Check provenance.verified before relying on it: false means an expected shape not yet checked against real answers

Show properties
schemaobjectrequired

Draft 2020-12 output schema, structure only; its $comment says where it came from

summarystringrequired

One-line summary of the schema

provenanceobjectrequired
Show properties
sourceanyrequired
Allowed:own-answerstreg-shapebothunknown
validatedAnswersintegerrequired

Real saved answers that matched the schema

min 0
checkedAnswersintegerrequired

Real saved answers the schema was checked against

min 0
verifiedbooleanrequired

True only when at least one real answer was checked and every one matched

notestringrequired

One-line label, e.g. "validated on 12 real answers" or "expected shape, not yet checked against real answers"

usageHintsobjectrequired
Show properties
endpointIdstringrequired
operationVersionstringrequired
contractDigeststringrequired
matches ^sha256:[a-f0-9]{64}$
authenticationobjectrequired

Bearer placeholder only; never contains a credential

requiredInputFieldsstring[]required
outputSchemaobjectrequired

Pinned Draft 2020-12 output schema

examplesobjectrequired

Equivalent REST, MCP, and CLI requests using placeholders only

Try it
Server
Authorization
Parameters
Request
curl -X GET "https://api.looot.ai/v1/operations/hunter-email-finder" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "endpoint": {
    "id": "hunter-email-finder",
    "capability": "people.email.find",
    "provider": "Hunter",
    "providerId": "hunter",
    "name": "Hunter / Find a work email from a name and domain",
    "description": "Finds a person's professional email. Send domain or company plus full_name (or first_name and last_name), or send linkedin_handle alone. Returns data.email with a score, verification status and date, accept_all, position, linkedin_url, phone_number and the sources where it was seen. A search that finds no email is charged the same as one that does (19 of 82 saved runs were misses at full price).",
    "executionMode": "sync",
    "eligibility": "byok",
    "price": {
      "currency": "USD",
      "perCall": 0.0245
    },
    "inputSchemaSummary": "{ domain, company, first_name, last_name, full_name, linkedin_handle, max_duration }",
    "outputSchemaSummary": "{ data: { accept_all, company, domain, email, first_name, last_name, linkedin_url, phone_number, position, score, source_type, sources: { domain, extracted_on, last_seen_on, still_on_page, uri }[], twitter, verification: { date, status } }, meta: { params: { company, domain, first_name, full_name, last_name, linkedin_handle, max_duration } } }",
    "examples": [
      "find the work email of a person at a company",
      "find an email from a name and company domain"
    ],
    "observedSuccessRate": 0.9148936170212766,
    "observedLatencyMs": 519,
    "sampleSize": 94,
    "sourceCapability": "emailfinder.get",
    "credential": "platform_own_key_optional"
  },
  "estimatedMaxCost": 0.0245,
  "platformFeeMicros": 0,
  "providerPrice": 0.0245,
  "connected": false,
  "inputSchema": {
    "type": "object",
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "required": [],
    "properties": {
      "domain": {
        "type": "string",
        "examples": [
          "example.com"
        ]
      },
      "company": {
        "type": "string"
      },
      "full_name": {
        "type": "string"
      },
      "last_name": {
        "type": "string",
        "examples": [
          "Doe"
        ]
      },
      "first_name": {
        "type": "string",
        "examples": [
          "Jane"
        ]
      },
      "max_duration": {
        "type": "integer"
      },
      "linkedin_handle": {
        "type": "string"
      }
    },
    "additionalProperties": false
  },
  "requestBinding": {
    "body": {
      "mode": "none"
    },
    "path": {},
    "query": {
      "domain": {
        "from": "/domain",
        "encoding": "scalar"
      },
      "company": {
        "from": "/company",
        "encoding": "scalar"
      },
      "full_name": {
        "from": "/full_name",
        "encoding": "scalar"
      },
      "last_name": {
        "from": "/last_name",
        "encoding": "scalar"
      },
      "first_name": {
        "from": "/first_name",
        "encoding": "scalar"
      },
      "max_duration": {
        "from": "/max_duration",
        "encoding": "scalar"
      },
      "linkedin_handle": {
        "from": "/linkedin_handle",
        "encoding": "scalar"
      }
    },
    "header": {},
    "version": 1
  },
  "uiSchema": null,
  "outputFormat": {
    "schema": {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$comment": "looot output format; source=both; validated=80/80 answers; filled 2026-09-26",
      "examples": [
        {
          "data": {
            "email": "jane.doe@example.com",
            "score": 42,
            "domain": "example.com",
            "company": "Example Inc",
            "sources": [
              {
                "uri": "https://www.example.com",
                "domain": "example.com",
                "extracted_on": "2026-01-01",
                "last_seen_on": "2026-01-01",
                "still_on_page": true
              }
            ],
            "twitter": null,
            "position": "example",
            "last_name": "Doe",
            "accept_all": true,
            "first_name": "Jane",
            "source_type": "example",
            "linkedin_url": "https://www.linkedin.com/in/example",
            "phone_number": null,
            "verification": {
              "date": "2026-01-01",
              "status": "example"
            }
          },
          "meta": {
            "params": {
              "domain": "example.com",
              "company": null,
              "full_name": "Jane Doe",
              "last_name": "Doe",
              "first_name": "Jane",
              "max_duration": null,
              "linkedin_handle": null
            }
          }
        }
      ],
      "required": [
        "data",
        "meta"
      ],
      "properties": {
        "data": {
          "type": "object",
          "required": [
            "accept_all",
            "company",
            "domain",
            "email",
            "first_name",
            "last_name",
            "linkedin_url",
            "phone_number",
            "position",
            "score",
            "source_type",
            "sources",
            "twitter",
            "verification"
          ],
          "properties": {
            "email": {
              "type": [
                "string",
                "null"
              ]
            },
            "score": {
              "type": [
                "integer",
                "null"
              ]
            },
            "domain": {
              "type": "string"
            },
            "company": {
              "type": [
                "string",
                "null"
              ]
            },
            "sources": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "domain",
                  "extracted_on",
                  "last_seen_on",
                  "still_on_page",
                  "uri"
                ],
                "properties": {
                  "uri": {
                    "type": "string"
                  },
                  "domain": {
                    "type": "string"
                  },
                  "extracted_on": {
                    "type": "string"
                  },
                  "last_seen_on": {
                    "type": "string"
                  },
                  "still_on_page": {
                    "type": "boolean"
                  }
                }
              }
            },
            "twitter": {
              "type": "null"
            },
            "position": {
              "type": [
                "string",
                "null"
              ]
            },
            "last_name": {
              "type": [
                "string",
                "null"
              ]
            },
            "accept_all": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "first_name": {
              "type": [
                "string",
                "null"
              ]
            },
            "source_type": {
              "type": [
                "string",
                "null"
              ]
            },
            "linkedin_url": {
              "type": [
                "string",
                "null"
              ]
            },
            "phone_number": {
              "type": "null"
            },
            "verification": {
              "type": "object",
              "required": [
                "date",
                "status"
              ],
              "properties": {
                "date": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "status": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          }
        },
        "meta": {
          "type": "object",
          "required": [
            "params"
          ],
          "properties": {
            "params": {
              "type": "object",
              "required": [
                "company",
                "domain",
                "first_name",
                "full_name",
                "last_name",
                "linkedin_handle",
                "max_duration"
              ],
              "properties": {
                "domain": {
                  "type": "string"
                },
                "company": {
                  "type": "null"
                },
                "full_name": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "last_name": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "first_name": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "max_duration": {
                  "type": "null"
                },
                "linkedin_handle": {
                  "type": "null"
                }
              }
            }
          }
        }
      }
    },
    "summary": "{ data: { email, score, domain, company, sources: { uri, domain, extracted_on, last_seen_on, still_on_page }[], twitter, position, last_name, accept_all, first_name, source_type, linkedin_url, phone_number, verification: { date, status } }, meta: { params: { domain, company, full_name, last_name, first_name, max_duration, linkedin_handle } } }",
    "provenance": {
      "source": "both",
      "validatedAnswers": 80,
      "checkedAnswers": 80,
      "verified": true
    },
    "note": "validated on 80 real answers"
  },
  "usageHints": {
    "endpointId": "hunter-email-finder",
    "operationVersion": "3.0.0",
    "contractDigest": "sha256:e963a0f1b506792eeef38624a3cebbc6a2b545c28fb83dedc901b3ff429796f5",
    "authentication": {
      "scheme": "bearer",
      "environmentVariable": "LOOOT_TOKEN",
      "placeholder": "${LOOOT_TOKEN}"
    },
    "requiredInputFields": [],
    "outputSchema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "description": "Direct-registration output contract: { data: { accept_all, company, domain, email, first_name, last_name, linkedin_url, phone_number, position, score, source_type, sources: { domain, extracted_on, last_seen_on, still_on_page, uri }[], twitter, verification: { date, status } }, meta: { params: { company, domain, first_name, full_name, last_name, linkedin_handle, max_duration } } }",
      "additionalProperties": true
    },
    "examples": {
      "rest": {
        "method": "POST",
        "url": "${LOOOT_API_URL}/v1/runs",
        "headers": {
          "Authorization": "Bearer ${LOOOT_TOKEN}",
          "Content-Type": "application/json"
        },
        "body": {
          "endpointId": "hunter-email-finder",
          "input": {
            "domain": "example.com",
            "last_name": "Doe",
            "first_name": "Jane"
          },
          "idempotencyKey": "<unique-idempotency-key>"
        }
      },
      "mcp": {
        "tool": "run",
        "arguments": {
          "endpointId": "hunter-email-finder",
          "input": {
            "domain": "example.com",
            "last_name": "Doe",
            "first_name": "Jane"
          },
          "idempotencyKey": "<unique-idempotency-key>"
        }
      },
      "cli": {
        "command": [
          "looot",
          "run",
          "hunter-email-finder",
          "--input",
          "{\"domain\":\"example.com\",\"last_name\":\"Doe\",\"first_name\":\"Jane\"}",
          "--idempotency-key",
          "<unique-idempotency-key>"
        ],
        "environment": {
          "LOOOT_API_URL": "${LOOOT_API_URL}",
          "LOOOT_TOKEN": "${LOOOT_TOKEN}"
        }
      }
    }
  }
}