---
title: "[DEPRECATED R318.2] Indeed XML feed cross-tenant — point d'entrée"
method: GET
path: "/api/v1/public/feeds/indeed.xml"
tags: ["public_status"]
---

# \[DEPRECATED R318.2\] Indeed XML feed cross-tenant — point d'entrée

`GET /api/v1/public/feeds/indeed.xml`

## Request

- Base URL: `https://erp.eyeot.fr/api/v1`
- URL: `https://erp.eyeot.fr/api/v1/api/v1/public/feeds/indeed.xml`
- Auth: none declared

[DEPRECATED R318.2] Indeed XML feed cross-tenant — point d'entrée
    unique pour les crawlers Indeed qui préfèrent un seul URL fixe au lieu
    de N URLs org-scoped.

    Query param obligatoire : `?org_slug=<slug>` (identifie l'org dont on
    veut le feed). Le feed reste org-scoped (Indeed peut crawler
    plusieurs orgs eyeot via plusieurs URLs).

    Cache Redis 30 minutes (Indeed crawl typiquement 1×/heure).

    Bypass tenant_filter pour lookup Organization par slug, puis re-scope
    `g.tenant_id` AVANT le query `JobPosting.query` (cf
    docs/patterns/integrations-public-endpoints.md §10).

    **Dépréciée depuis R318.2 (2026-05-23)** : utiliser à la place
    `/api/v1/integrations/indeed/<org_slug>/<hmac_token>.xml` (HMAC-secured,
    cache 1h, filtre closing_date, limite 500 postings).

    Headers RFC 8594 ajoutés : `Deprecation`, `Sunset`, `Link`
    rel="successor-version".

## Response `200`

Succès — payload `{data, meta}` (cf. API-GUIDE §3.1)

## Other responses

- `404`: Ressource introuvable (ou cross-tenant — équivalent à hidden).
- `429`: Trop de requêtes. Honorer le header `Retry-After` (secondes).

---

[API](https://skmtc.dev/eyeot/apis/eyeot-erp-api.md) · [All operations](https://skmtc.dev/eyeot/apis/eyeot-erp-api/llms.txt) · [OpenAPI document](https://skmtc.dev/eyeot/apis/eyeot-erp-api/revisions/42ab95222a89?raw)
