User Guide: DAM Search Typology API
1. Document Purpose
This guide provides business, functional and technical context to help API consumers understand and integrate the API.
It complements the OpenAPI specification (specs/openapi.yaml) and is part of the mandatory documentation set for each version (Major.Minor.Patch).
2. Target Audience
| Profile | Role |
|---|---|
| Product Owner | Understand the business scope and value of the API |
| Developer | Implement and integrate the API |
| QA / Architect | Validate expected behaviors and technical compliance |
| Customer Connect API (CCA) | Support API consumers during onboarding and integration |
3. API Overview
3.1 Business Context
The API retrieves, for a specific brand, the assets stored in the Accor Digital Asset Management (AEM DAM) that belong to a given typology (category). It lets front-end applications and partners get the right visual content (for example, all the assets of a typology for a brand) without browsing the DAM directly.
3.2 Main Features
- Retrieve the assets of a brand for a given typology.
- Each asset is returned with its public
path,name,formatandlastUpdate.
3.3 Known Limitations
- Read-only: only
GETis supported (any other method returns405). - Both
brandandtypologiequery parameters are mandatory. - Unknown query parameters are rejected by the gateway.
4. Access & Security
4.1 Access Requirements
| Requirement | Provided by Accor | Consumer Action Required |
|---|---|---|
| Client ID / API Key | ✅ | 🔲 Request via onboarding |
4.2 Authentication & Headers
- Auth method: API Key
- Required header:
apikey
4.3 Environments
| Environment | Base URL |
|---|---|
| Testing | https://rec-api.accor.com |
| Preproduction | https://pre-api.accor.com |
| Production | https://api.accor.com |
5. API Behavior
5.1 Traceability & Telemetry
Every call is traced by the API gateway. When contacting support, provide the date and time of the call, the request URL (without the API key) and the HTTP status code received.
5.2 Health Check
No dedicated health endpoint is exposed. A GET /ecom/v1/assets/typology call with valid brand and typologie values returning 200 confirms that the API and your API key are working.
6. Endpoints
GET /ecom/v1/assets/typology
Description: Returns, for a brand, all the available assets of the requested typology in the AEM DAM.
Request rules: both parameters are required.
| Parameter | In | Required | Description |
|---|---|---|---|
brand |
query | ✅ | Target brand from which assets are retrieved |
typologie |
query | ✅ | Typology of the assets |
Response behavior
200: returns anobjectsarray of assets and, when more results exist, anextPageToken.404: the brand or the typology does not exist.
Asset object
| Field | Type | Description |
|---|---|---|
path |
string | Public URL of the asset |
name |
string | File name of the asset |
format |
string | MIME type of the asset |
lastUpdate |
date-time | Last update date of the asset |
7. Usage Examples
🔍 Retrieve the assets of a typology for a brand
curl -G "https://api.accor.com/ecom/v1/assets/typology" \
-H "apikey: <YOUR_API_KEY>" \
--data-urlencode "brand=<BRAND_CODE>" \
--data-urlencode "typologie=<TYPOLOGY>"
Response (abridged):
{
"objects": [
{
"path": "https://m.ahstatic.com/is/generic/accorhotelsbuildqa/full-monochrome-29",
"name": "full-monochrome.svg",
"format": "image/svg+xml",
"lastUpdate": "2023-10-23T15:21:34.465Z"
}
]
}
8. Error Codes
Error responses are JSON objects with the fields title, status and code.
| HTTP Code | Error | Description | Recommended Action |
|---|---|---|---|
| 400 | Bad Request | Missing, invalid or unknown query parameter | Check parameter names and values against the specification |
| 401 | Unauthorized | Missing or invalid API key | Check the apikey header |
| 403 | Forbidden | API key not allowed to consume this API | Contact support to request access |
| 404 | Not Found | Brand or typology does not exist | Check the brand and typologie values |
| 405 | Not Allowed | Method other than GET |
Use GET |
| 500 | Internal Server Error | Unexpected backend issue | Retry later or escalate to support |