> For the complete documentation index, see [llms.txt](https://help.delpha.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.delpha.io/delpha-api-and-mcp/api/website.md).

# Website

A company's website is often the first touchpoint for customers, partners, and search engines—making it a cornerstone of trusted business data. Delpha's **Website Finder** and **Website Validator** help you maintain clean, verified, and up-to-date web domains by checking reachability, normalizing URLs, and uncovering the most relevant official sites.

Our evaluation covers four key aspects:

* **Completeness:** Detects and fills missing website fields.
* **Validity:** Verifies that the website is active and accessible.
* **Consistency:** Normalizes the URL and checks if it matches the original input.
* **Accuracy:** Confirms that the website aligns with contextual data such as company name or legal ID.

The API returns a **normalized and resolved URL** (following redirects when applicable) along with quality scores. When provided with side fields like a company name or legal ID, Delpha also delivers **AI-powered website recommendations** with confidence scores—helping you identify the most likely official domain.

With **Website Finder** and **Website Validator**, your CRM and analytics stay connected to the right online identities, boosting reliability and customer trust.

## Submit website for finding and validation

> Submit an website for finding and validation. Returns a job ID for tracking the process.

```json
{"openapi":"3.1.0","info":{"title":"Delpha Data Quality API","version":"1.0.0"},"tags":[{"name":"Website","description":"A company's website is often the first touchpoint for customers, partners, and search engines—making it a cornerstone of trusted business data.\nDelpha's **Website Finder** and **Website Validator** help you maintain clean, verified, and up-to-date web domains by checking reachability, normalizing URLs, and uncovering the most relevant official sites.\n\nOur evaluation covers four key aspects:\n- **Completeness:** Detects and fills missing website fields.\n- **Validity:** Verifies that the website is active and accessible.\n- **Consistency:** Normalizes the URL and checks if it matches the original input.\n- **Accuracy:** Confirms that the website aligns with contextual data such as company name or legal ID.\n\nThe API returns a **normalized and resolved URL** (following redirects when applicable) along with quality scores. When provided with side fields like a company name or legal ID, Delpha also delivers **AI-powered website recommendations** with confidence scores—helping you identify the most likely official domain.\n\nWith **Website Finder** and **Website Validator**, your CRM and analytics stay connected to the right online identities, boosting reliability and customer trust."}],"servers":[{"url":"https://api.delpha.io","description":"Production API server"}],"security":[{"oauth2":["api/access"]}],"components":{"securitySchemes":{"oauth2":{"type":"oauth2","description":"OAuth2 client credentials flow for API access","flows":{"clientCredentials":{"tokenUrl":"https://secure.delpha.io/oauth2/token","scopes":{"api/access":"Access to the public API"}}}}},"schemas":{"WebsiteSubmitInput":{"properties":{"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website","description":"The website URL"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"The name of the entity owning the website"},"linkedin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linkedin","description":"The LinkedIn URL of the entity"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"The email address of the entity"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","description":"The country of the entity"}},"type":"object","title":"WebsiteSubmitInput","description":"Payload to submit a new website quality job."},"WebsiteSubmitOutput":{"properties":{"job_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Id","description":"The job ID. Required if status <= 300."},"message":{"type":"string","title":"Message","description":"The message to return"},"status":{"type":"string","enum":["SUCCESS","ERROR"],"title":"Status","description":"The status of the process"},"status_code":{"type":"integer","title":"Status Code","description":"The status code to return"}},"type":"object","required":["message","status","status_code"],"title":"WebsiteSubmitOutput","description":"Response after submitting a new website quality job."}}},"paths":{"/v1/website":{"post":{"tags":["Website"],"summary":"Submit website for finding and validation","description":"Submit an website for finding and validation. Returns a job ID for tracking the process.","operationId":"findAndValidateWebsite","requestBody":{"description":"\n\n**Validation Rules:**\n\n- **Validation mode:** `website` must be provided\n- **Recommendation mode:** At least one of `name`, `linkedin`, or `email` must be provided\n- If all fields are provided, both validation and recommendation will be performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteSubmitInput"}}},"required":true},"responses":{"202":{"description":"Job submitted to assess_website_v16","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteSubmitOutput"}}}},"400":{"description":"Invalid website format or missing required fields","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteSubmitOutput"}}}},"401":{"description":"Authentication failed - invalid or missing OAuth 2.0 token","content":{"application/json":{"schema":{"properties":{"message":{"type":"string"}},"type":"object"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteSubmitOutput"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteSubmitOutput"}}}},"502":{"description":"Service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteSubmitOutput"}}}}}}}}}
```

## Get website finder and validator job status

> Retrieve the result and status of a previously submitted website finder and validator job.

```json
{"openapi":"3.1.0","info":{"title":"Delpha Data Quality API","version":"1.0.0"},"tags":[{"name":"Website","description":"A company's website is often the first touchpoint for customers, partners, and search engines—making it a cornerstone of trusted business data.\nDelpha's **Website Finder** and **Website Validator** help you maintain clean, verified, and up-to-date web domains by checking reachability, normalizing URLs, and uncovering the most relevant official sites.\n\nOur evaluation covers four key aspects:\n- **Completeness:** Detects and fills missing website fields.\n- **Validity:** Verifies that the website is active and accessible.\n- **Consistency:** Normalizes the URL and checks if it matches the original input.\n- **Accuracy:** Confirms that the website aligns with contextual data such as company name or legal ID.\n\nThe API returns a **normalized and resolved URL** (following redirects when applicable) along with quality scores. When provided with side fields like a company name or legal ID, Delpha also delivers **AI-powered website recommendations** with confidence scores—helping you identify the most likely official domain.\n\nWith **Website Finder** and **Website Validator**, your CRM and analytics stay connected to the right online identities, boosting reliability and customer trust."}],"servers":[{"url":"https://api.delpha.io","description":"Production API server"}],"security":[{"oauth2":["api/access"]}],"components":{"securitySchemes":{"oauth2":{"type":"oauth2","description":"OAuth2 client credentials flow for API access","flows":{"clientCredentials":{"tokenUrl":"https://secure.delpha.io/oauth2/token","scopes":{"api/access":"Access to the public API"}}}}},"schemas":{"WebsitePullOutput":{"properties":{"message":{"type":"string","title":"Message","description":"A human-readable message describing the current state or outcome of the job."},"status":{"type":"string","enum":["SUCCESS","ERROR"],"title":"Status","description":"The status of the process"},"status_code":{"type":"integer","title":"Status Code","description":"The HTTP status code representing the job's current state."},"result":{"anyOf":[{"$ref":"#/components/schemas/WebsiteModel"},{"type":"null"}],"description":"The result of the website quality job"},"process_time":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Process Time","description":"The total time taken to process the job, in seconds."}},"type":"object","required":["message","status","status_code"],"title":"WebsitePullOutput","description":"Response after retrieving the status and result of an website quality job."},"WebsiteModel":{"properties":{"data_type":{"$ref":"#/components/schemas/DataType","description":"The type of data for this field"},"normalized_value":{"type":"string","title":"Normalized Value","description":"Normalized website value."},"label":{"type":"string","enum":["No","OK","Changed","Unknown"],"title":"Label","description":"Accuracy verdict for the submitted website. `OK` — the search confirmed it. `Changed` — it is reachable but redirects to a different domain, so the site it points at is not the one the value names. `No` — neither confirmed nor reachable. `Unknown` — the engine could not complete the assessment."},"scores":{"$ref":"#/components/schemas/ScoresModel","description":"Scores for the field"},"recommendations":{"items":{"$ref":"#/components/schemas/WebsiteRecommendation"},"type":"array","title":"Recommendations","description":"Recommendations for the website."}},"type":"object","required":["data_type","normalized_value","label","scores","recommendations"],"title":"WebsiteModel","description":"Model representing the details of an website field."},"DataType":{"type":"string","enum":["email","social_network","name","legal_id","phone","address","website"],"title":"DataType"},"ScoresModel":{"properties":{"accuracy":{"type":"number","maximum":1,"minimum":-1,"title":"Accuracy","description":"Accuracy score","default":-1},"validity":{"type":"integer","maximum":1,"minimum":-1,"title":"Validity","description":"Validity score","default":-1},"completeness":{"type":"number","maximum":1,"minimum":0,"title":"Completeness","description":"Completeness score","default":0},"consistency":{"type":"integer","maximum":1,"minimum":0,"title":"Consistency","description":"Consistency score","default":0}},"type":"object","title":"ScoresModel","description":"Model representing the scores for an email field."},"WebsiteRecommendation":{"properties":{"url":{"type":"string","title":"Url","description":"Recommended website value."},"score":{"type":"number","maximum":1,"minimum":0,"title":"Score","description":"Confidence score for the recommendation."},"metadata":{"anyOf":[{"$ref":"#/components/schemas/WebsiteMetadata"},{"type":"null"}],"description":"Google-search metadata (name, title, summary, rank) for the recommended website. Null when the recommendation comes from a path that does not produce search metadata (email-domain, social-network, or direct-website validation)."},"source_path":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Source Path","description":"Ordered list of upstream blocks that produced this recommendation, each tagged with a `name`. Allows downstream consumers to attribute a recommendation to the engine path it came from (e.g. `[{\"name\": \"Name\"}]` for Google search by company name)."}},"type":"object","required":["url","score"],"title":"WebsiteRecommendation","description":"Model representing a recommendation for an website."},"WebsiteMetadata":{"properties":{"url":{"type":"string","title":"Url","description":"The URL of the website, as Google indexed it."},"name":{"type":"string","title":"Name","description":"The name extracted from the Google search result for the website."},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title","description":"The title of the website, as shown on the Google search result."},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary","description":"A summary or description of the website, as shown on the Google search result."},"rank":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"title":"Rank","description":"The rank (1-based) of the website in the Google search result."}},"type":"object","required":["url","name"],"title":"WebsiteMetadata","description":"Google-search context for a recommended website. Populated when the\nDataQuality engine resolved the candidate via the name-block path\n(Google query → ranked organic results); null for candidates that\ncame from email-domain inference, social-network extraction, or\ndirect website validation, where there is no Google snippet to\nsurface."}}},"paths":{"/v1/website/{job_id}":{"get":{"tags":["Website"],"summary":"Get website finder and validator job status","description":"Retrieve the result and status of a previously submitted website finder and validator job.","operationId":"getWebsiteResult","responses":{"200":{"description":"Job succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsitePullOutput"}}}},"202":{"description":"Job is still running.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsitePullOutput"}}}},"400":{"description":"Input validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsitePullOutput"}}}},"401":{"description":"Authentication failed - invalid or missing OAuth 2.0 token","content":{"application/json":{"schema":{"properties":{"message":{"type":"string"}},"type":"object"}}}},"500":{"description":"Failed to retrieve job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsitePullOutput"}}}},"504":{"description":"Job timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsitePullOutput"}}}}}}}}}
```

## Submit a batch of website items

> Submit 1..100 website items for asynchronous batch processing as ONE job (never a per-item fan-out). Returns a \`job\_id\` immediately (202); poll \`GET /v1/website/batch/{job\_id}\` for status and results. Each item is validated identically to the single-route \`POST /v1/website\` payload; a payload with 0 items or more than 100 is rejected with 422.

```json
{"openapi":"3.1.0","info":{"title":"Delpha Data Quality API","version":"1.0.0"},"tags":[{"name":"Website","description":"A company's website is often the first touchpoint for customers, partners, and search engines—making it a cornerstone of trusted business data.\nDelpha's **Website Finder** and **Website Validator** help you maintain clean, verified, and up-to-date web domains by checking reachability, normalizing URLs, and uncovering the most relevant official sites.\n\nOur evaluation covers four key aspects:\n- **Completeness:** Detects and fills missing website fields.\n- **Validity:** Verifies that the website is active and accessible.\n- **Consistency:** Normalizes the URL and checks if it matches the original input.\n- **Accuracy:** Confirms that the website aligns with contextual data such as company name or legal ID.\n\nThe API returns a **normalized and resolved URL** (following redirects when applicable) along with quality scores. When provided with side fields like a company name or legal ID, Delpha also delivers **AI-powered website recommendations** with confidence scores—helping you identify the most likely official domain.\n\nWith **Website Finder** and **Website Validator**, your CRM and analytics stay connected to the right online identities, boosting reliability and customer trust."}],"servers":[{"url":"https://api.delpha.io","description":"Production API server"}],"security":[{"oauth2":["api/access"]}],"components":{"securitySchemes":{"oauth2":{"type":"oauth2","description":"OAuth2 client credentials flow for API access","flows":{"clientCredentials":{"tokenUrl":"https://secure.delpha.io/oauth2/token","scopes":{"api/access":"Access to the public API"}}}}},"schemas":{"WebsiteBatchSubmitInput":{"properties":{"items":{"items":{"$ref":"#/components/schemas/WebsiteSubmitInput"},"type":"array","maxItems":100,"minItems":1,"title":"Items","description":"The batch items (1..100), each a single-route input payload."}},"type":"object","required":["items"],"title":"WebsiteBatchSubmitInput","description":"Batch envelope for `POST /v1/website/batch`: `{\"items\": [...]}` (1..100 items, 422 beyond); each item is shaped exactly like the single-route `POST /v1/website` payload (reused here by $ref as `WebsiteSubmitInput`)."},"WebsiteSubmitInput":{"properties":{"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website","description":"The website URL"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"The name of the entity owning the website"},"linkedin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linkedin","description":"The LinkedIn URL of the entity"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"The email address of the entity"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","description":"The country of the entity"}},"type":"object","title":"WebsiteSubmitInput","description":"Payload to submit a new website quality job."},"BatchSubmitOutput":{"properties":{"job_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Id","description":"The job ID. Required if status <= 300."},"item_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Item Count","description":"Number of items accepted in the batch (present on success)."},"message":{"type":"string","title":"Message","description":"The message to return"},"status":{"type":"string","enum":["SUCCESS","ERROR"],"title":"Status","description":"The status of the process"},"status_code":{"type":"integer","title":"Status Code","description":"The status code to return"}},"type":"object","required":["message","status","status_code"],"title":"BatchSubmitOutput","description":"Response after submitting a batch quality job."}}},"paths":{"/v1/website/batch":{"post":{"tags":["Website"],"summary":"Submit a batch of website items","description":"Submit 1..100 website items for asynchronous batch processing as ONE job (never a per-item fan-out). Returns a `job_id` immediately (202); poll `GET /v1/website/batch/{job_id}` for status and results. Each item is validated identically to the single-route `POST /v1/website` payload; a payload with 0 items or more than 100 is rejected with 422.","operationId":"submitWebsiteBatch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteBatchSubmitInput"}}},"required":true},"responses":{"202":{"description":"Batch submitted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSubmitOutput"}}}},"401":{"description":"Authentication failed - invalid or missing OAuth 2.0 token","content":{"application/json":{"schema":{"properties":{"message":{"type":"string"}},"type":"object"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSubmitOutput"}}}},"422":{"description":"Invalid batch payload or size (1..100)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSubmitOutput"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSubmitOutput"}}}},"502":{"description":"Service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSubmitOutput"}}}}}}}}}
```

## Get website batch job status

> Poll a batch of website items submitted via \`POST /v1/website/batch\`. 202 while running (with \`item\_count\`/\`processed\_count\` progress); 200 once SUCCEEDED (with \`counts\`, a presigned \`result\_url\`, and \`result\_data\` inlined when <=1MB); 409 if the credit reservation expired before delivery (resubmit); 500 if the job failed; 504 past the 24h ceiling (batch jobs run on Batch/Vertex timescales, hours not minutes).

```json
{"openapi":"3.1.0","info":{"title":"Delpha Data Quality API","version":"1.0.0"},"tags":[{"name":"Website","description":"A company's website is often the first touchpoint for customers, partners, and search engines—making it a cornerstone of trusted business data.\nDelpha's **Website Finder** and **Website Validator** help you maintain clean, verified, and up-to-date web domains by checking reachability, normalizing URLs, and uncovering the most relevant official sites.\n\nOur evaluation covers four key aspects:\n- **Completeness:** Detects and fills missing website fields.\n- **Validity:** Verifies that the website is active and accessible.\n- **Consistency:** Normalizes the URL and checks if it matches the original input.\n- **Accuracy:** Confirms that the website aligns with contextual data such as company name or legal ID.\n\nThe API returns a **normalized and resolved URL** (following redirects when applicable) along with quality scores. When provided with side fields like a company name or legal ID, Delpha also delivers **AI-powered website recommendations** with confidence scores—helping you identify the most likely official domain.\n\nWith **Website Finder** and **Website Validator**, your CRM and analytics stay connected to the right online identities, boosting reliability and customer trust."}],"servers":[{"url":"https://api.delpha.io","description":"Production API server"}],"security":[{"oauth2":["api/access"]}],"components":{"securitySchemes":{"oauth2":{"type":"oauth2","description":"OAuth2 client credentials flow for API access","flows":{"clientCredentials":{"tokenUrl":"https://secure.delpha.io/oauth2/token","scopes":{"api/access":"Access to the public API"}}}}},"schemas":{"WebsiteBatchPullOutput":{"properties":{"message":{"type":"string","title":"Message","description":"A human-readable message describing the current state or outcome of the job."},"status":{"type":"string","enum":["SUCCESS","ERROR"],"title":"Status","description":"The status of the process"},"status_code":{"type":"integer","title":"Status Code","description":"The HTTP status code representing the job's current state."},"counts":{"anyOf":[{"$ref":"#/components/schemas/CountsModel"},{"type":"null"}],"description":"Item-level outcome counts (present only once the job has completed)."},"result_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Result Url","description":"Presigned URL (1h expiry) to download the full batch result JSON from S3."},"result_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Result Data","description":"The full batch result JSON, inlined (opaque — assembled by the DataQuality container / DelphaAgents compiler). Present only when status_code == 200 and the result file is <=1MB; otherwise omitted (fetch `result_url` instead). Shape: `{job_id, usecase, counts, items: [...]}`; its `result` is the SAME object `GET /v1/website/{job_id}` returns for a single item."},"item_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Item Count","description":"Total number of items in the batch (present while the job is running)."},"processed_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Processed Count","description":"Number of items processed so far (present while the job is running; may be absent early in the job's lifecycle)."},"process_time":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Process Time","description":"The total time taken to process the job, in seconds."}},"type":"object","required":["message","status","status_code"],"title":"WebsiteBatchPullOutput","description":"Response for `GET /v1/website/batch/{job_id}`. Each `result_data.items[]` entry is keyed to its request item by `dispatch_key` (`{\"record_id\": \"<job_id>#<index>\"}`). On success its `result` is the SAME object `GET /v1/website/{job_id}` returns for a single item. On failure it carries an `error` string instead of `result`."},"CountsModel":{"properties":{"total":{"type":"integer","title":"Total","description":"Total number of items submitted."},"succeeded":{"type":"integer","title":"Succeeded","description":"Number of items that succeeded."},"failed":{"type":"integer","title":"Failed","description":"Number of items that failed."}},"type":"object","required":["total","succeeded","failed"],"title":"CountsModel","description":"Item-level outcome counts for a completed batch job."}}},"paths":{"/v1/website/batch/{job_id}":{"get":{"tags":["Website"],"summary":"Get website batch job status","description":"Poll a batch of website items submitted via `POST /v1/website/batch`. 202 while running (with `item_count`/`processed_count` progress); 200 once SUCCEEDED (with `counts`, a presigned `result_url`, and `result_data` inlined when <=1MB); 409 if the credit reservation expired before delivery (resubmit); 500 if the job failed; 504 past the 24h ceiling (batch jobs run on Batch/Vertex timescales, hours not minutes).","operationId":"getWebsiteBatchResult","responses":{"200":{"description":"97/100 items succeeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteBatchPullOutput"}}}},"202":{"description":"Job is still running.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteBatchPullOutput"}}}},"400":{"description":"Missing job_id in path parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteBatchPullOutput"}}}},"401":{"description":"Authentication failed - invalid or missing OAuth 2.0 token","content":{"application/json":{"schema":{"properties":{"message":{"type":"string"}},"type":"object"}}}},"404":{"description":"No job found for job_id: ...","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteBatchPullOutput"}}}},"409":{"description":"Reservation expired; please resubmit the job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteBatchPullOutput"}}}},"500":{"description":"Job failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteBatchPullOutput"}}}},"504":{"description":"Job timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsiteBatchPullOutput"}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.delpha.io/delpha-api-and-mcp/api/website.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
