---
title: "Use cases"
url: "https://real-estate-agency.apim.eu/apis/agent-catalog/docs/use-cases"
image: "https://real-estate-agency.apim.eu/_og/d/c_Ocean.takumi,title_Use+cases,props_eyJ0aGVtZSI6eyJtb2RlIjoiZGFyayIsImNvbG9ycyI6eyJwcmltYXJ5IjoiI0Q0QTI0QyJ9fX0,p_Ii9hcGlzL2FnZW50LWNhdGFsb2cvZG9jcy91c2UtY2FzZXMi,s_lvKYi1mKNqMMI_lH.png"
---

# Use cases

## [Automatic catalog entry after agent approval](#automatic-catalog-entry-after-agent-approval)

As soon as an agent reaches `active` status, a catalog entry should be created - without anyone having to remember to trigger it.

1.  Subscribe to the `agent.status_changed` event.
2.  Check whether `status == "active"` and no catalog entry exists for the agent yet.
3.  Call `POST /catalog-entries` with your default template.
4.  React to `catalog_entry.completed` and save the record to your own storage system.

An extra check pays off: call `GET /catalog-entries?agent_id=…` first and stop if an entry with `status: completed` already exists. Webhooks can be delivered more than once, and without this check you'll end up with duplicates.

## [Multi-audience catalog entries](#multi-audience-catalog-entries)

For agents used across multiple functions, generate the same agent twice - once with `target_team: "engineering"`, once with `target_team: "compliance-legal"`. Both entries get their own IDs and their own records; the compliance-disclosure check runs identically for both.

Which disclosures are required can vary by audience, so double-check that the disclosures relevant to your reviewers are covered in both versions before publishing.

## [Cleanly following through on a chargeback-rate change](#cleanly-following-through-on-a-chargeback-rate-change)

When a chargeback rate is adjusted:

1.  Change the deployment via `PATCH /agent-deployments/{id}`.
2.  Withdraw the old catalog entry via `DELETE /catalog-entries/{id}`.
3.  Generate and publish a new entry.

It's not a good idea to change the deployment and leave the old catalog entry standing: cost-center reports would keep showing the old rate while the deployment record already shows the new one.

## [Template per deployment tier](#template-per-deployment-tier)

`GET /templates` returns the platform's templates along with the sections each one supports. A small mapping table in your system - deployment tier to template - saves you from hardcoding IDs in your code:

```json
{
  "sandbox":    "tpl_minimal",
  "pilot":      "tpl_classic",
  "production": "tpl_classic"
}
```

Check once, at startup, that every stored ID still exists. Otherwise a deleted template only surfaces as a `404` the next time a catalog entry is generated.