hosting
GET /v1/wordpress/theme-directory
Search the WordPress theme directory.
Autenticación
Envía una clave de API como token de portador. La clave debe tener el permiso sites.view; una clave que no lo tenga se rechazará con un código 403, no 404.
Este endpoint no requiere ningún id de organización. Su clave ya identifica la organización a la que pertenece, y la respuesta está delimitada a ella.
Pruébalo
Reemplaza cualquier elemento entre corchetes angulares por tus propios valores, y el marcador de posición key con una clave de tu panel de control.
curl -X GET https://api.zinndigital.com/v1/wordpress/theme-directory?q=<q> \
-H "Authorization: Bearer zdk_live_…"¿Has iniciado sesión? La consola de la API en tu panel de control rellena el ID de tu organización real y tu propia clave, y ejecuta la solicitud contra la API en vivo para que puedas ver la respuesta real. Abre este endpoint en la consola de la API
Detalles
Themes a customer can install, from the wordpress.org directory. **Collection-level and not under a site**, for the same reason as the plugin catalogue: choosing a theme comes before choosing where to put it. An empty or whitespace-only `q` returns an empty page rather than the directory's popularity ranking. `rating` is normalised to **0–5** (upstream reports 0–100). `author` is plain text — upstream returns it as an **object** on this API and as an HTML anchor on the plugin one, so neither shape reaches our page. `screenshot_url` and `preview_url` are normalised to `https`: upstream emits them protocol-relative (`//ts.w.org/…`), which is a working URL in a browser and a broken one everywhere else. ⚠️ `screenshot_url` and `preview_url` are **third-party URLs** a client will put in an `<img src>` and an anchor. Choosing a theme without seeing it is not a feature, so they travel; this is a considered risk, not an oversight. The engine never fetches them. Requires `sites.view`. Our egress routing for the upstream is registered as `wordpress_org` — the **same** service key as the plugin directory, because it is the same host, the same (absent) account and therefore the same throttling subject.
Parámetros
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
q (query) | string | Sí | What to search for. |
page (query) | integer | No | — |
per_page (query) | integer | No | — |
Respuesta
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
data | WordPressDirectoryTheme[] | Sí | — |
page | integer | Sí | — |
pages | integer | Sí | Total pages available. `0` when nothing matched. |
total | integer | Sí | Total matching themes across all pages. |
Errores que este endpoint puede devolver
401 · 403 · 429 · 503