# EnrichLoop > Company enrichment API and webhook docs. ## Docs - [Introduction](https://docs.enrichloops.com/index.md): Company enrichment, on demand or by webhook. - [Authentication](https://docs.enrichloops.com/authentication.md): Authenticating requests with your API key. - [Loops and webhooks](https://docs.enrichloops.com/loops-and-webhooks.md): Register a webhook destination and get results pushed to you instead of polling. - [Enrich a company](https://docs.enrichloops.com/api-reference/companies/enrich-a-company.md): Enqueues an async enrichment for a company, identified by domain or LinkedIn company URL. Provide exactly one of `domain` or `linkedinUrl`. - [List tasks](https://docs.enrichloops.com/api-reference/tasks/list-tasks.md) - [Check on a task](https://docs.enrichloops.com/api-reference/tasks/check-on-a-task.md): Returns the task, plus `data` once it has succeeded or `error` once it has failed. A task belonging to another organization returns `404`, indistinguishable from one that doesn't exist. - [List Loops](https://docs.enrichloops.com/api-reference/loops/list-loops.md) - [Create a Loop](https://docs.enrichloops.com/api-reference/loops/create-a-loop.md): Your webhook URL must be `https` and publicly reachable (loopback and private addresses are rejected). On success you get back the Loop along with a **signing secret** — shown once, at creation, and never retrievable again. If you lose it, delete the Loop and create a new one. - [Get a Loop](https://docs.enrichloops.com/api-reference/loops/get-a-loop.md) - [Delete a Loop](https://docs.enrichloops.com/api-reference/loops/delete-a-loop.md) - [Update a Loop](https://docs.enrichloops.com/api-reference/loops/update-a-loop.md): Update `name`, `webhook_url`, or `enabled`. Omitted fields are left unchanged. - [Send a record to a Loop](https://docs.enrichloops.com/api-reference/loops/send-a-record-to-a-loop.md): Behaves exactly like `POST /v1/companies/enrich` — same task response, same immediate-vs-queued semantics, still pollable — except the object type and operation come from the Loop's own configuration, and once the task settles, the result is also `POST`ed to the Loop's webhook. ## OpenAPI Specs - [openapi](https://docs.enrichloops.com/openapi.json)