{"openapi":"3.1.0","info":{"title":"DealerMAX Dealer Public API","version":"1.2.0","description":"Public REST API for DealerMax dealers to access their own vehicle inventory, long-term rental (NLT) offers, and DealerMax-generated dealer content such as FAQ, news, glossary, guides, videos and podcasts. Authentication via X-Api-Key header (issued from the DealerMax dashboard). Three services on the same uniform contract: REWIND (used vehicles for sale), NOS (used vehicles for rent without scoring), NLT (long-term rental offers). The public contract exposes dealer-ready read-only resources only: inventory listing/details plus content hub, search, listing and detail resources. Cost included in the DealerMax monthly subscription (no per-request billing). License: MIT for spec and examples. Curated docs and JSON examples: https://developers.dealermax.app/api","termsOfService":"https://developers.dealermax.app/legal/terms","contact":{"name":"DealerMax Support","email":"support@dealermax.app","url":"https://dealermax.app"},"license":{"name":"MIT (specs and examples)","url":"https://opensource.org/licenses/MIT"},"x-logo":{"url":"https://dealermax.app/assets/dealermax-wordmark-light.png"},"x-origin":[{"format":"openapi","version":"3.0","url":"https://catalog.dealermax.app/dealer/openapi.json"}]},"servers":[{"url":"https://catalog.dealermax.app","description":"Production"}],"paths":{"/dealer/{service}/listing":{"get":{"tags":["DealerPublicAPI"],"summary":"List inventory items","operationId":"listInventory","parameters":[{"name":"service","in":"path","required":true,"schema":{"type":"string","title":"Service","enum":["REWIND","NOS","NLT"]},"description":"Inventory surface: REWIND, NOS, or NLT."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"},"description":"Page number, starting at 1."},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"},"description":"Items per page, from 1 to 100."},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ricerca testuale (marca/modello/versione)","title":"Q"},"description":"Optional text search over make, model, and version."},{"name":"catalog_type","in":"query","required":false,"schema":{"anyOf":[{"enum":["auto","vcom","vind"],"type":"string"},{"type":"null"}],"title":"Catalog Type","type":"string","enum":["auto","vcom","vind"]},"description":"REWIND/NOS only. Filter by authoritative Motornet catalog: auto, vcom, or vind."},{"name":"professional_upfit","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},{"type":"null"}],"title":"Professional Upfit"},"description":"REWIND/NOS VCOM/VIND. Filter by a professional-upfit slug returned in professional_upfits[].slug."},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"},"description":"Bearer authentication: `Authorization: Bearer <DEALERMAX_API_KEY>`. Alternative to the X-Api-Key header."},{"name":"X-Api-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"},"description":"Dealer API key (preferred). Send your key in this header. Mutually exclusive with the Authorization Bearer header."}],"responses":{"200":{"description":"Paginated vehicle or NLT offer listing for the authenticated dealer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealerPublicInventoryListingResponse"}}}},"422":{"description":"Request parameter validation failed.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"400":{"description":"Invalid service, content type, or detail identifier.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"401":{"description":"Missing, invalid, or expired dealer API key.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"404":{"description":"Dealer, vehicle, offer, or content item not found.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"429":{"description":"Rate limit exceeded. Retry-After is provided.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"503":{"description":"Temporary service or database unavailability.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"500":{"description":"Unexpected internal error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}}},"description":"List the authenticated dealer's inventory — used vehicles for sale (REWIND), used vehicles for rent (NOS), or long-term rental offers (NLT) — paginated, for a single service."}},"/dealer/{service}/details":{"get":{"tags":["DealerPublicAPI"],"summary":"Get one inventory item","operationId":"getInventoryItem","parameters":[{"name":"service","in":"path","required":true,"schema":{"type":"string","title":"Service","enum":["REWIND","NOS","NLT"]},"description":"Inventory surface: REWIND, NOS, or NLT."},{"name":"id_auto","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id Auto"},"description":"Vehicle UUID. Required for REWIND/NOS details and mutually exclusive with id_offerta."},{"name":"id_offerta","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Offerta"},"description":"NLT offer id. Required for NLT details and mutually exclusive with id_auto."},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"},"description":"Bearer authentication: `Authorization: Bearer <DEALERMAX_API_KEY>`. Alternative to the X-Api-Key header."},{"name":"X-Api-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"},"description":"Dealer API key (preferred). Send your key in this header. Mutually exclusive with the Authorization Bearer header."}],"responses":{"200":{"description":"Single vehicle or NLT offer detail for the authenticated dealer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealerPublicInventoryDetailResponse"}}}},"422":{"description":"Request parameter validation failed.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"400":{"description":"Invalid service, content type, or detail identifier.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"401":{"description":"Missing, invalid, or expired dealer API key.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"404":{"description":"Dealer, vehicle, offer, or content item not found.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"429":{"description":"Rate limit exceeded. Retry-After is provided.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"503":{"description":"Temporary service or database unavailability.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"500":{"description":"Unexpected internal error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}}},"description":"Fetch the full detail of a single inventory item (a used vehicle or an NLT offer) belonging to the authenticated dealer."}},"/dealer/content/hub":{"get":{"tags":["DealerPublicAPI"],"summary":"Get the content hub","operationId":"getContentHub","parameters":[{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":5,"title":"Page Size"},"description":"Items per page, from 1 to 100."},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"},"description":"Bearer authentication: `Authorization: Bearer <DEALERMAX_API_KEY>`. Alternative to the X-Api-Key header."},{"name":"X-Api-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"},"description":"Dealer API key (preferred). Send your key in this header. Mutually exclusive with the Authorization Bearer header."}],"responses":{"200":{"description":"Dealer content hub grouped by content type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealerPublicContentHubResponse"}}}},"422":{"description":"Request parameter validation failed.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"400":{"description":"Invalid service, content type, or detail identifier.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"401":{"description":"Missing, invalid, or expired dealer API key.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"404":{"description":"Dealer, vehicle, offer, or content item not found.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"429":{"description":"Rate limit exceeded. Retry-After is provided.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"503":{"description":"Temporary service or database unavailability.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"500":{"description":"Unexpected internal error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}}},"description":"Fetch a preview of the authenticated dealer's editorial content, with one section per content type."}},"/dealer/content/search":{"get":{"tags":["DealerPublicAPI"],"summary":"Search content","operationId":"searchContent","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"description":"Ricerca full-text leggera sui contenuti dealer.","title":"Q"},"description":"Ricerca full-text leggera sui contenuti dealer."},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"description":"Risultati massimi per tipo contenuto.","default":5,"title":"Page Size"},"description":"Risultati massimi per tipo contenuto."},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"},"description":"Bearer authentication: `Authorization: Bearer <DEALERMAX_API_KEY>`. Alternative to the X-Api-Key header."},{"name":"X-Api-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"},"description":"Dealer API key (preferred). Send your key in this header. Mutually exclusive with the Authorization Bearer header."}],"responses":{"200":{"description":"Cross-content search results grouped by content type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealerPublicContentSearchResponse"}}}},"422":{"description":"Request parameter validation failed.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"400":{"description":"Invalid service, content type, or detail identifier.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"401":{"description":"Missing, invalid, or expired dealer API key.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"404":{"description":"Dealer, vehicle, offer, or content item not found.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"429":{"description":"Rate limit exceeded. Retry-After is provided.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"503":{"description":"Temporary service or database unavailability.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"500":{"description":"Unexpected internal error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}}},"description":"Full-text search across all of the authenticated dealer's editorial content types."}},"/dealer/content/{content_type}/listing":{"get":{"tags":["DealerPublicAPI"],"summary":"List content of one type","operationId":"listContent","parameters":[{"name":"content_type","in":"path","required":true,"schema":{"type":"string","title":"Content Type","enum":["faq","news","glossary","guides","videos","podcasts"]},"description":"Dealer content type. `guides` and `glossary` are DEPRECATED: the corresponding dealer pages are retired and 301-redirect to https://autousatebenissimo.it. Responses for those two types carry RFC 9745 Deprecation, RFC 8594 Sunset and Link (rel=sunset, rel=successor-version) headers."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"},"description":"Page number, starting at 1."},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"},"description":"Items per page, from 1 to 100."},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ricerca testuale nel tipo contenuto.","title":"Q"},"description":"Ricerca testuale nel tipo contenuto."},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtro categoria per FAQ, news custom o glossario.","title":"Category"},"description":"Filtro categoria per FAQ, news custom o glossario."},{"name":"topic","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtro topic per guide.","title":"Topic"},"description":"Filtro topic per guide."},{"name":"brand","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtro brand per news globali.","title":"Brand"},"description":"Filtro brand per news globali."},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"},"description":"Bearer authentication: `Authorization: Bearer <DEALERMAX_API_KEY>`. Alternative to the X-Api-Key header."},{"name":"X-Api-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"},"description":"Dealer API key (preferred). Send your key in this header. Mutually exclusive with the Authorization Bearer header."}],"responses":{"200":{"description":"Paginated dealer content listing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealerPublicContentListingResponse"}}}},"422":{"description":"Request parameter validation failed.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"400":{"description":"Invalid service, content type, or detail identifier.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"401":{"description":"Missing, invalid, or expired dealer API key.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"404":{"description":"Dealer, vehicle, offer, or content item not found.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"429":{"description":"Rate limit exceeded. Retry-After is provided.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"503":{"description":"Temporary service or database unavailability.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"500":{"description":"Unexpected internal error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}}},"description":"List the authenticated dealer's editorial content of a single type (news, guides, glossary or faq), paginated. Deprecated for `guides` and `glossary`: those dealer pages are retired and now 301-redirect to https://autousatebenissimo.it, which hosts the same corpus at the same paths. The data stays served until the Sunset date announced in the response headers (Deprecation as an RFC 9745 structured Date, Sunset as an RFC 8594 HTTP-date, and Link with rel=sunset plus rel=successor-version); listing and detail payloads of those two types also carry `deprecated`, `deprecation`, `sunset` and `successor_version`."}},"/dealer/content/{content_type}/details":{"get":{"tags":["DealerPublicAPI"],"summary":"Get one content item","operationId":"getContentItem","parameters":[{"name":"content_type","in":"path","required":true,"schema":{"type":"string","title":"Content Type","enum":["faq","news","glossary","guides","videos","podcasts"]},"description":"Dealer content type. `guides` and `glossary` are DEPRECATED: the corresponding dealer pages are retired and 301-redirect to https://autousatebenissimo.it. Responses for those two types carry RFC 9745 Deprecation, RFC 8594 Sunset and Link (rel=sunset, rel=successor-version) headers."},{"name":"slug","in":"query","required":true,"schema":{"type":"string","minLength":1,"description":"Slug pubblico del contenuto.","title":"Slug"},"description":"Required public slug for a single content item."},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"},"description":"Bearer authentication: `Authorization: Bearer <DEALERMAX_API_KEY>`. Alternative to the X-Api-Key header."},{"name":"X-Api-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"},"description":"Dealer API key (preferred). Send your key in this header. Mutually exclusive with the Authorization Bearer header."}],"responses":{"200":{"description":"Single dealer content item selected by public slug.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealerPublicContentDetailResponse"}}}},"422":{"description":"Request parameter validation failed.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"400":{"description":"Invalid service, content type, or detail identifier.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"401":{"description":"Missing, invalid, or expired dealer API key.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"404":{"description":"Dealer, vehicle, offer, or content item not found.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"429":{"description":"Rate limit exceeded. Retry-After is provided.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"503":{"description":"Temporary service or database unavailability.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}},"500":{"description":"Unexpected internal error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DealerPublicProblemDetails"}}}}},"description":"Fetch a single editorial content item of the authenticated dealer, selected by its public slug. Deprecated for `guides` and `glossary`: those dealer pages are retired and now 301-redirect to https://autousatebenissimo.it, which hosts the same corpus at the same paths. The data stays served until the Sunset date announced in the response headers (Deprecation as an RFC 9745 structured Date, Sunset as an RFC 8594 HTTP-date, and Link with rel=sunset plus rel=successor-version); listing and detail payloads of those two types also carry `deprecated`, `deprecation`, `sunset` and `successor_version`."}}},"components":{"schemas":{"DealerPublicProfessionalUpfit":{"type":"object","additionalProperties":false,"description":"One professional body/upfit associated with a VIND industrial vehicle. A non-empty selection contains exactly one primary item.","required":["code","slug","label","display_label","family","is_primary"],"properties":{"code":{"type":"string","description":"Stable DealerMAX master-data code."},"slug":{"type":"string","description":"Canonical URL/filter slug, for example `gru`."},"label":{"type":"string","description":"Canonical taxonomy label; `Altro` stays one facet."},"display_label":{"type":"string","description":"User-facing label. For `Altro` this is the dealer alias; it never creates a separate facet."},"family":{"type":"string","description":"Display/filter family for the upfit."},"is_primary":{"type":"boolean","description":"True for the single primary upfit of the vehicle."}}},"DealerPublicProblemDetails":{"type":"object","description":"RFC 7807 problem+json error body returned by every Dealer Public API endpoint on failure.","required":["type","title","status","code"],"additionalProperties":true,"properties":{"type":{"type":"string","format":"uri","description":"Dereferenceable error documentation URL on developers.dealermax.app."},"title":{"type":"string","description":"Short, human-readable summary of the error."},"status":{"type":"integer","minimum":400,"maximum":599,"description":"HTTP status code, repeated for convenience."},"code":{"type":"string","description":"Stable machine-readable error code; pair it with the `type` URL to look up the error in the catalog.","enum":["missing_api_key","invalid_api_key","expired_api_key","invalid_service","invalid_content_type","invalid_identifier","dealer_not_found","vehicle_not_found","offer_not_found","content_not_found","validation_error","rate_limited","service_unavailable","internal_error"]},"detail":{"type":"string","description":"Human-readable explanation specific to this occurrence of the error."},"request_id":{"type":"string","description":"Correlation id for this request, echoed in the X-Request-ID header; quote it in support tickets."},"errors":{"type":"array","items":{"type":"object","additionalProperties":true},"description":"Per-field validation errors, present only for validation_error (free-form JSON objects)."}}},"DealerPublicInventoryItem":{"type":"object","additionalProperties":true,"description":"One item in a dealer inventory listing. The shape is a union across the three services (selected by `service`): REWIND/NOS items carry `id_auto`, NLT items carry `id_offerta`.","required":["service","nome_canonico","marca","modello"],"properties":{"id_auto":{"type":"string","format":"uuid","description":"Vehicle UUID — present for REWIND/NOS used-vehicle items; absent for NLT offer items."},"id_offerta":{"type":"integer","description":"NLT offer id — present for NLT items; absent for REWIND/NOS vehicle items."},"service":{"type":"string","enum":["REWIND","NOS","NLT"],"description":"Inventory service this item belongs to: REWIND (used vehicles for sale), NOS (used vehicles for rent), or NLT (long-term rental offers)."},"nome_canonico":{"type":"string","description":"Canonical display name (brand + model + trim), ready to show to end users."},"marca":{"type":"string","description":"Vehicle brand / make (e.g. 'BMW')."},"modello":{"type":"string","description":"Vehicle model (e.g. 'Serie 1')."},"allestimento":{"type":"string","description":"Trim / version of the model."},"catalog_type":{"type":"string","enum":["auto","vcom","vind"],"description":"Authoritative Motornet vehicle catalog."},"professional_upfits":{"type":"array","items":{"$ref":"#/components/schemas/DealerPublicProfessionalUpfit"},"description":"All public professional upfits on a VIND vehicle."},"primary_professional_upfit":{"anyOf":[{"$ref":"#/components/schemas/DealerPublicProfessionalUpfit"},{"type":"null"}],"description":"Primary professional upfit, when present."},"prezzo_vendita":{"type":"number","description":"Sale price in EUR, VAT included (REWIND). May be absent for non-sale services."},"cover_url":{"type":"string","format":"uri","description":"Cover image URL for the item."},"has_podcast":{"type":"boolean","description":"True if a DealerMAX-generated audio podcast is available for this item."},"has_video":{"type":"boolean","description":"True if a DealerMAX-generated video is available for this item."}}},"DealerPublicInventoryListingResponse":{"type":"object","description":"A paginated page of dealer inventory items for a single service.","required":["service","page","page_size","total","has_next","items"],"properties":{"service":{"type":"string","enum":["REWIND","NOS","NLT"],"description":"Inventory service this page belongs to (REWIND, NOS or NLT)."},"page":{"type":"integer","minimum":1,"description":"Current 1-based page number."},"page_size":{"type":"integer","minimum":1,"maximum":100,"description":"Number of items per page."},"total":{"type":"integer","minimum":0,"description":"Total number of items across all pages."},"has_next":{"type":"boolean","description":"True if a further page exists after this one."},"items":{"type":"array","description":"Inventory items on this page.","items":{"$ref":"#/components/schemas/DealerPublicInventoryItem"}}}},"DealerPublicVehicleDetail":{"type":"object","additionalProperties":true,"description":"Full detail of a single used vehicle (REWIND/NOS).","required":["id_auto","marca","modello"],"properties":{"id_auto":{"type":"string","format":"uuid","description":"Vehicle UUID."},"marca":{"type":"string","description":"Vehicle brand / make."},"modello":{"type":"string","description":"Vehicle model."},"catalog_type":{"type":"string","enum":["auto","vcom","vind"],"description":"Authoritative Motornet vehicle catalog."},"professional_upfits":{"type":"array","items":{"$ref":"#/components/schemas/DealerPublicProfessionalUpfit"},"description":"All public professional upfits on a VIND vehicle."},"primary_professional_upfit":{"anyOf":[{"$ref":"#/components/schemas/DealerPublicProfessionalUpfit"},{"type":"null"}],"description":"Primary professional upfit, when present."},"ai_content":{"type":"object","additionalProperties":true,"description":"DealerMAX-generated editorial content for the vehicle (free-form JSON object)."},"media_urls":{"type":"array","items":{"type":"string"},"description":"Ordered list of media (image/video) URLs for the vehicle."},"accessori_serie":{"type":"array","items":{"type":"object","additionalProperties":true},"description":"Complete standard equipment for the vehicle's exact Motornet version."},"accessori_opzionali":{"type":"array","items":{"type":"object","additionalProperties":true},"description":"Optionals explicitly confirmed for this inventory vehicle. Empty means none selected; the API never falls back to the raw version catalogue."},"pacchetti":{"type":"array","items":{"type":"object","additionalProperties":true},"description":"Equipment packages explicitly confirmed for this inventory vehicle. Empty means none selected."},"accessori_serie_json":{"type":"array","items":{"type":"object","additionalProperties":true},"description":"Compatibility alias of accessori_serie.","deprecated":true},"podcast":{"type":"object","additionalProperties":true,"description":"DealerMAX-generated podcast metadata, if available (free-form JSON object)."},"video":{"type":"object","additionalProperties":true,"description":"DealerMAX-generated video metadata, if available (free-form JSON object)."},"has_podcast":{"type":"boolean","description":"True if an audio podcast is available for this vehicle."},"has_video":{"type":"boolean","description":"True if a video is available for this vehicle."}}},"DealerPublicOfferDetail":{"type":"object","additionalProperties":true,"description":"Full detail of a single NLT (long-term rental) offer.","required":["id_offerta","marca","modello"],"properties":{"id_offerta":{"type":"integer","description":"NLT offer id."},"slug":{"type":"string","description":"URL-friendly unique slug identifying the offer."},"marca":{"type":"string","description":"Vehicle brand / make."},"modello":{"type":"string","description":"Vehicle model."},"versione":{"type":"string","description":"Trim / version of the model."},"quotazioni":{"type":"array","items":{"type":"object","additionalProperties":true},"description":"Monthly-fee quotations across duration×km combinations (each a free-form JSON object)."}}},"DealerPublicInventoryDetailResponse":{"type":"object","description":"Detail envelope for a single inventory item: carries `vehicle` for REWIND/NOS used vehicles or `offer` for NLT rental offers, selected by `service`.","required":["service"],"properties":{"service":{"type":"string","enum":["REWIND","NOS","NLT"],"description":"Service the detail belongs to (REWIND, NOS or NLT)."},"vehicle":{"$ref":"#/components/schemas/DealerPublicVehicleDetail"},"offer":{"$ref":"#/components/schemas/DealerPublicOfferDetail"}},"oneOf":[{"required":["service","vehicle"]},{"required":["service","offer"]}]},"DealerPublicContentItem":{"type":"object","additionalProperties":true,"description":"One editorial content item (news, guide, glossary term or FAQ) published on the dealer site.","properties":{"id":{"type":"integer","description":"Internal content item id."},"slug":{"type":"string","description":"URL-friendly unique slug identifying the content item."},"topic":{"type":"string","description":"Topic / category the content item belongs to."},"title":{"type":"string","description":"Content title."},"h1":{"type":"string","description":"Page H1 heading (may differ from the title)."},"meta_description":{"type":"string","description":"SEO meta description for the content page."},"excerpt":{"type":"string","description":"Short summary/teaser of the content."},"body_text_preview":{"type":"string","description":"Plain-text preview of the body (truncated; full body served on the dealer site)."},"source_provider":{"type":"string","description":"News editions only: provenance class. dealer_editorial identifies first-party local editions; historical/external editions remain readable but are excluded from discovery."},"url":{"type":"string","format":"uri","description":"Absolute URL of the content page on the dealer site."},"updated_at":{"type":"string","format":"date-time","description":"Timestamp of the last content update (ISO 8601)."}}},"DealerPublicContentListingResponse":{"type":"object","description":"A paginated page of editorial content items of a single content type.","required":["content_type","page","page_size","total","has_next","items"],"properties":{"content_type":{"type":"string","enum":["faq","news","glossary","guides","videos","podcasts"],"description":"Editorial content type of this page (news, guides, glossary or faq). Deprecated for `guides` and `glossary`: those dealer pages are retired and now 301-redirect to https://autousatebenissimo.it, which hosts the same corpus at the same paths. The data stays served until the Sunset date announced in the response headers (Deprecation as an RFC 9745 structured Date, Sunset as an RFC 8594 HTTP-date, and Link with rel=sunset plus rel=successor-version); listing and detail payloads of those two types also carry `deprecated`, `deprecation`, `sunset` and `successor_version`."},"page":{"type":"integer","minimum":1,"description":"Current 1-based page number."},"page_size":{"type":"integer","minimum":1,"maximum":100,"description":"Number of items per page."},"total":{"type":"integer","minimum":0,"description":"Total number of items across all pages."},"has_next":{"type":"boolean","description":"True if a further page exists after this one."},"deprecated":{"type":"boolean","description":"Present and true only for the retired `guides` / `glossary` types."},"deprecation":{"type":"string","description":"RFC 9745 structured Date (`@<unix-timestamp>`) at which the deprecation took effect."},"sunset":{"type":"string","description":"HTTP-date after which a deprecated content type may stop being served."},"successor_version":{"type":"string","format":"uri","description":"Canonical home of the corpus for a deprecated content type."},"q":{"type":"string","description":"Free-text query echoed back when the listing was filtered by search."},"filters":{"type":"object","additionalProperties":true,"description":"Filters applied to the listing, echoed back (free-form JSON object)."},"meta":{"type":"object","additionalProperties":true,"description":"Identifying metadata about the dealer that owns the returned content.","properties":{"dealer":{"type":"object","additionalProperties":true,"description":"The dealer the content belongs to.","properties":{"id":{"type":"integer","description":"Internal dealer id."},"name":{"type":"string","description":"Dealer legal/registered name."},"brand_name":{"type":"string","description":"Dealer commercial brand name, as shown to end users."},"city":{"type":"string","description":"Dealer city."},"province":{"type":"string","description":"Dealer province (Italian two-letter code, e.g. 'MI')."},"primary_domain":{"type":"string","description":"Dealer primary public website domain."}}}}},"items":{"type":"array","description":"Content items on this page.","items":{"$ref":"#/components/schemas/DealerPublicContentItem"}}}},"DealerPublicContentDetailResponse":{"type":"object","description":"Detail envelope for a single editorial content item.","required":["content_type","item"],"properties":{"content_type":{"type":"string","enum":["faq","news","glossary","guides","videos","podcasts"],"description":"Editorial content type of the item (news, guides, glossary or faq). Deprecated for `guides` and `glossary`: those dealer pages are retired and now 301-redirect to https://autousatebenissimo.it, which hosts the same corpus at the same paths. The data stays served until the Sunset date announced in the response headers (Deprecation as an RFC 9745 structured Date, Sunset as an RFC 8594 HTTP-date, and Link with rel=sunset plus rel=successor-version); listing and detail payloads of those two types also carry `deprecated`, `deprecation`, `sunset` and `successor_version`."},"item":{"$ref":"#/components/schemas/DealerPublicContentItem"},"deprecated":{"type":"boolean","description":"Present and true only for the retired `guides` / `glossary` types."},"deprecation":{"type":"string","description":"RFC 9745 structured Date (`@<unix-timestamp>`) at which the deprecation took effect."},"sunset":{"type":"string","description":"HTTP-date after which a deprecated content type may stop being served."},"successor_version":{"type":"string","format":"uri","description":"Canonical home of the corpus for a deprecated content type."},"meta":{"type":"object","additionalProperties":true,"description":"Identifying metadata about the dealer that owns the returned content.","properties":{"dealer":{"type":"object","additionalProperties":true,"description":"The dealer the content belongs to.","properties":{"id":{"type":"integer","description":"Internal dealer id."},"name":{"type":"string","description":"Dealer legal/registered name."},"brand_name":{"type":"string","description":"Dealer commercial brand name, as shown to end users."},"city":{"type":"string","description":"Dealer city."},"province":{"type":"string","description":"Dealer province (Italian two-letter code, e.g. 'MI')."},"primary_domain":{"type":"string","description":"Dealer primary public website domain."}}}}}}},"DealerPublicContentHubResponse":{"type":"object","description":"Content hub: a preview section per content type for the dealer.","required":["content_type","sections"],"properties":{"content_type":{"type":"string","enum":["hub"],"description":"Always 'hub' for this aggregated response."},"meta":{"type":"object","additionalProperties":true,"description":"Identifying metadata about the dealer that owns the returned content.","properties":{"dealer":{"type":"object","additionalProperties":true,"description":"The dealer the content belongs to.","properties":{"id":{"type":"integer","description":"Internal dealer id."},"name":{"type":"string","description":"Dealer legal/registered name."},"brand_name":{"type":"string","description":"Dealer commercial brand name, as shown to end users."},"city":{"type":"string","description":"Dealer city."},"province":{"type":"string","description":"Dealer province (Italian two-letter code, e.g. 'MI')."},"primary_domain":{"type":"string","description":"Dealer primary public website domain."}}}}},"sections":{"type":"object","description":"One preview listing per content type, keyed by content type name.","additionalProperties":{"$ref":"#/components/schemas/DealerPublicContentListingResponse"}}}},"DealerPublicContentSearchResponse":{"type":"object","description":"Cross-content-type search results for the dealer.","required":["q","page_size_per_type","total","by_type","items"],"properties":{"q":{"type":"string","description":"Free-text query that produced these results."},"page_size_per_type":{"type":"integer","minimum":1,"maximum":20,"description":"Maximum number of results returned per content type."},"total":{"type":"integer","minimum":0,"description":"Total number of matching items across all content types."},"by_type":{"type":"object","description":"Per-content-type match counts, keyed by content type name.","additionalProperties":{"type":"integer","minimum":0}},"items":{"type":"array","description":"Matching content items, interleaved across content types.","items":{"$ref":"#/components/schemas/DealerPublicContentItem"}},"meta":{"type":"object","additionalProperties":true,"description":"Identifying metadata about the dealer that owns the returned content.","properties":{"dealer":{"type":"object","additionalProperties":true,"description":"The dealer the content belongs to.","properties":{"id":{"type":"integer","description":"Internal dealer id."},"name":{"type":"string","description":"Dealer legal/registered name."},"brand_name":{"type":"string","description":"Dealer commercial brand name, as shown to end users."},"city":{"type":"string","description":"Dealer city."},"province":{"type":"string","description":"Dealer province (Italian two-letter code, e.g. 'MI')."},"primary_domain":{"type":"string","description":"Dealer primary public website domain."}}}}}}}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-Api-Key"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API key"}}},"externalDocs":{"description":"DealerMAX Dealer Public API reference","url":"https://developers.dealermax.app/api"},"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"tags":[{"name":"DealerPublicAPI","description":"Public REST API for individual dealers to access their own inventory, offers and DealerMax-generated content programmatically. Inventory services: REWIND (used vehicles for sale), NOS (used for rent without scoring), NLT (long-term rental offers / Noleggio Lungo Termine). Content resources: FAQ, news, glossary, guides, videos and podcasts."}]}