API Admin › Referência

Temas

Endereço base: https://api.denaryx.com/admin/2026-10. Exemplos e regras no guia Temas. Os erros seguem o formato comum. A especificação inteira: baixar o OpenAPI.

GET /themes

Os temas da biblioteca da loja

Escopo read_themes

Todos os temas da biblioteca (no máximo 20), o publicado primeiro. Cabem numa página só. Os temas de desenvolvimento do CLI (denaryx tema dev) ficam de fora, a menos do development.

Parâmetros

NomeOndeTipoDescrição
developmentconsultastringonly: só os temas de desenvolvimento do CLI; include: a biblioteca e eles. Sem o parâmetro, só a biblioteca.Um de: only, include.

Resposta

200 Sucesso. (ThemeList)

Os campos da resposta (27)
CampoTipoDescrição
datalista de Theme
data[].idstring (uuid)
data[].namestring
data[].sourcestringUm de: platform, custom.
data[].platform_themestring ou null
data[].publishedboolean
data[].treestring ou null
data[].errorsintegerA partir de 0.
data[].developmentboolean
data[].expires_atstring (data e hora) ou null
data[].githubobjeto ou null
data[].github.repositorystring
data[].github.branchstring
data[].github.folderstring
data[].github.urlstring
data[].github.statusstringUm de: active, paused.
data[].github.last_commitobjeto ou null
data[].github.last_commit.shastring
data[].github.last_commit.messagestring
data[].github.synced_atstring (data e hora) ou null
data[].pull_requestobjeto ou null
data[].pull_request.numberintegerMaior que 0.
data[].pull_request.repositorystring
data[].pull_request.urlstring
data[].created_atstring (data e hora)
data[].updated_atstring (data e hora)
next_cursorstring ou null

Erros

  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

POST /themes

Acrescenta um tema à biblioteca

Escopo write_themes

Um tema da plataforma (source: platform), a cópia de um tema da biblioteca (duplicate) ou o fork de um tema da plataforma, com o código inteiro na loja para gravar os arquivos (fork). A vitrine não muda: o tema vai ao ar só quando é publicado.

Parâmetros

NomeOndeTipoDescrição
Idempotency-KeycabeçalhostringAté 255 caracteres. A mesma escrita mandada de novo com a mesma chave, em até 24 horas, devolve a resposta guardada (com Idempotent-Replayed: true) em vez de acontecer duas vezes.

Corpo application/json: ThemeCreate

CampoTipoDescrição

Resposta

201 Sucesso. (Theme)

Os campos da resposta (25)
CampoTipoDescrição
idstring (uuid)
namestring
sourcestringUm de: platform, custom.
platform_themestring ou null
publishedboolean
treestring ou null
errorsintegerA partir de 0.
developmentboolean
expires_atstring (data e hora) ou null
githubobjeto ou null
github.repositorystring
github.branchstring
github.folderstring
github.urlstring
github.statusstringUm de: active, paused.
github.last_commitobjeto ou null
github.last_commit.shastring
github.last_commit.messagestring
github.synced_atstring (data e hora) ou null
pull_requestobjeto ou null
pull_request.numberintegerMaior que 0.
pull_request.repositorystring
pull_request.urlstring
created_atstring (data e hora)
updated_atstring (data e hora)

Erros

  • 400 A chamada veio com campos inválidos; os campos recusados vão em fields (invalid_request).
  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 409 O estado do recurso não permite a mudança, ou ele mudou desde a leitura (conflict).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

POST /themes/import

Cria um tema a partir de um zip

Escopo write_themes

O zip de um tema (até 50 MB, 2.000 arquivos) vira um tema novo na biblioteca, com o código da loja. O que não é da estrutura de um tema fica de fora e volta em ignored. Com development=true, nasce um tema de desenvolvimento do CLI: fora dos 20 da biblioteca (até 5 por integração e 30 por loja; acima disso, 409 development_theme_limit), com o conteúdo do tema content_from lido pelo código novo, nunca publicado e apagado depois de 7 dias sem gravação.

Parâmetros

NomeOndeTipoDescrição
Idempotency-KeycabeçalhostringAté 255 caracteres. A mesma escrita mandada de novo com a mesma chave, em até 24 horas, devolve a resposta guardada (com Idempotent-Replayed: true) em vez de acontecer duas vezes.

Corpo multipart/form-data

CampoTipoDescrição
fileobrigatórioarquivoO zip do tema.
namestringO nome do tema novo.
developmentstringtrue: um tema de desenvolvimento do CLI, fora da biblioteca. No tema de desenvolvimento, o nome que já existe ganha um número.
content_fromstringSó com development=true: o id do tema da loja de onde vem o conteúdo (as seções e os ajustes montados no editor). Sem ele, o padrão do tema enviado.

Resposta

201 Sucesso. (ThemeImport)

Os campos da resposta (27)
CampoTipoDescrição
themeTheme
theme.idstring (uuid)
theme.namestring
theme.sourcestringUm de: platform, custom.
theme.platform_themestring ou null
theme.publishedboolean
theme.treestring ou null
theme.errorsintegerA partir de 0.
theme.developmentboolean
theme.expires_atstring (data e hora) ou null
theme.githubobjeto ou null
theme.github.repositorystring
theme.github.branchstring
theme.github.folderstring
theme.github.urlstring
theme.github.statusstringUm de: active, paused.
theme.github.last_commitobjeto ou null
theme.github.last_commit.shastring
theme.github.last_commit.messagestring
theme.github.synced_atstring (data e hora) ou null
theme.pull_requestobjeto ou null
theme.pull_request.numberintegerMaior que 0.
theme.pull_request.repositorystring
theme.pull_request.urlstring
theme.created_atstring (data e hora)
theme.updated_atstring (data e hora)
ignoredlista de string

Erros

  • 400 A chamada veio com campos inválidos; os campos recusados vão em fields (invalid_request).
  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 409 O estado do recurso não permite a mudança, ou ele mudou desde a leitura (conflict).
  • 413 O corpo ou o arquivo passou do tamanho máximo (invalid_request).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

GET /themes/{id}

Um tema

Escopo read_themes

Um tema da biblioteca.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do tema.

Resposta

200 Sucesso. (Theme)

Os campos da resposta (25)
CampoTipoDescrição
idstring (uuid)
namestring
sourcestringUm de: platform, custom.
platform_themestring ou null
publishedboolean
treestring ou null
errorsintegerA partir de 0.
developmentboolean
expires_atstring (data e hora) ou null
githubobjeto ou null
github.repositorystring
github.branchstring
github.folderstring
github.urlstring
github.statusstringUm de: active, paused.
github.last_commitobjeto ou null
github.last_commit.shastring
github.last_commit.messagestring
github.synced_atstring (data e hora) ou null
pull_requestobjeto ou null
pull_request.numberintegerMaior que 0.
pull_request.repositorystring
pull_request.urlstring
created_atstring (data e hora)
updated_atstring (data e hora)

Erros

  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

PATCH /themes/{id}

Renomeia um tema

Escopo write_themes

O nome não se repete na loja.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do tema.
Idempotency-KeycabeçalhostringAté 255 caracteres. A mesma escrita mandada de novo com a mesma chave, em até 24 horas, devolve a resposta guardada (com Idempotent-Replayed: true) em vez de acontecer duas vezes.

Corpo application/json: ThemeUpdate

CampoTipoDescrição
nameobrigatóriostringAté 60 caracteres.

Resposta

200 Sucesso. (Theme)

Os campos da resposta (25)
CampoTipoDescrição
idstring (uuid)
namestring
sourcestringUm de: platform, custom.
platform_themestring ou null
publishedboolean
treestring ou null
errorsintegerA partir de 0.
developmentboolean
expires_atstring (data e hora) ou null
githubobjeto ou null
github.repositorystring
github.branchstring
github.folderstring
github.urlstring
github.statusstringUm de: active, paused.
github.last_commitobjeto ou null
github.last_commit.shastring
github.last_commit.messagestring
github.synced_atstring (data e hora) ou null
pull_requestobjeto ou null
pull_request.numberintegerMaior que 0.
pull_request.repositorystring
pull_request.urlstring
created_atstring (data e hora)
updated_atstring (data e hora)

Erros

  • 400 A chamada veio com campos inválidos; os campos recusados vão em fields (invalid_request).
  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 409 O estado do recurso não permite a mudança, ou ele mudou desde a leitura (conflict).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

DELETE /themes/{id}

Exclui um tema

Escopo write_themes

O tema publicado, ou com publicação agendada, não sai (409). As publicações antigas dele continuam no painel.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do tema.
Idempotency-KeycabeçalhostringAté 255 caracteres. A mesma escrita mandada de novo com a mesma chave, em até 24 horas, devolve a resposta guardada (com Idempotent-Replayed: true) em vez de acontecer duas vezes.

Resposta

204 Sucesso, sem corpo.

Erros

  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 409 O estado do recurso não permite a mudança, ou ele mudou desde a leitura (conflict).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

GET /themes/{id}/files

Os arquivos de um tema

Escopo read_themes

A lista dos arquivos, com o checksum de cada um (a base da gravação) e os problemas da conferência do código. Os de um tema da plataforma vêm só para leitura (read_only).

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do tema.

Resposta

200 Sucesso. (ThemeFiles)

Os campos da resposta (18)
CampoTipoDescrição
theme_idstring (uuid)
read_onlyboolean
treestring ou null
fileslista de objeto
files[].pathstring
files[].checksumstring
files[].sizeintegerA partir de 0.
files[].binaryboolean
files[].urlstring ou null
problemslista de objeto
problems[].codestring ou null
problems[].filestring ou null
problems[].lineinteger ou null
problems[].columninteger ou null
problems[].end_lineinteger ou null
problems[].end_columninteger ou null
problems[].messagestring
problems[].severitystringUm de: error, warning.

Erros

  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

PUT /themes/{id}/files

Grava arquivos de texto, tudo ou nada

Escopo write_themes

Grava, apaga e move vários arquivos de uma vez. Cada um diz a base, o checksum lido (null para arquivo novo): se algum mudou desde a leitura, nada é gravado e a resposta é 409 file_conflict, com os conflitos. O corpo tem no máximo 1 MB: mande em partes. O tema conectado a uma branch do GitHub tem o código só para leitura: 409 theme_connected (o código muda pelo git push).

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do tema.
Idempotency-KeycabeçalhostringAté 255 caracteres. A mesma escrita mandada de novo com a mesma chave, em até 24 horas, devolve a resposta guardada (com Idempotent-Replayed: true) em vez de acontecer duas vezes.

Corpo application/json: ThemeFilesWrite

CampoTipoDescrição
writelista de objetoAté 2000 itens.Sem ele: [].
write[].pathobrigatóriostringAté 200 caracteres.
write[].contentobrigatóriostring
write[].baseobrigatóriostring ou null
deletelista de objetoAté 2000 itens.Sem ele: [].
delete[].pathobrigatóriostringAté 200 caracteres.
delete[].baseobrigatóriostring
movelista de objetoAté 2000 itens.Sem ele: [].
move[].fromobrigatóriostringAté 200 caracteres.
move[].toobrigatóriostringAté 200 caracteres.
move[].baseobrigatóriostring

Resposta

200 Sucesso. (ThemeFiles)

Os campos da resposta (18)
CampoTipoDescrição
theme_idstring (uuid)
read_onlyboolean
treestring ou null
fileslista de objeto
files[].pathstring
files[].checksumstring
files[].sizeintegerA partir de 0.
files[].binaryboolean
files[].urlstring ou null
problemslista de objeto
problems[].codestring ou null
problems[].filestring ou null
problems[].lineinteger ou null
problems[].columninteger ou null
problems[].end_lineinteger ou null
problems[].end_columninteger ou null
problems[].messagestring
problems[].severitystringUm de: error, warning.

Erros

  • 400 A chamada veio com campos inválidos; os campos recusados vão em fields (invalid_request).
  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 409 O estado do recurso não permite a mudança, ou ele mudou desde a leitura (conflict).
  • 413 O corpo ou o arquivo passou do tamanho máximo (invalid_request).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

GET /themes/{id}/files/content

O conteúdo de um arquivo

Escopo read_themes

O texto do arquivo, ou o url na CDN de uma imagem, fonte ou vídeo.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do tema.
pathobrigatórioconsultastringO caminho do arquivo, como templates/index.json.

Resposta

200 Sucesso. (ThemeFileContent)

Os campos da resposta (5)
CampoTipoDescrição
pathstring
checksumstring
binaryboolean
contentstring ou null
urlstring ou null

Erros

  • 400 A chamada veio com campos inválidos; os campos recusados vão em fields (invalid_request).
  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

POST /themes/{id}/assets

Envia arquivos para assets/

Escopo write_themes

Imagens, fontes, vídeos e também CSS e JS, até 20 por chamada e 10 MB cada, gravados em assets/<nome do arquivo>. Com as bases, o envio confere os checksums como a gravação; sem elas, o arquivo com o mesmo nome é substituído. O tema conectado a uma branch do GitHub tem o código só para leitura: 409 theme_connected (o código muda pelo git push).

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do tema.
Idempotency-KeycabeçalhostringAté 255 caracteres. A mesma escrita mandada de novo com a mesma chave, em até 24 horas, devolve a resposta guardada (com Idempotent-Replayed: true) em vez de acontecer duas vezes.

Corpo multipart/form-data

CampoTipoDescrição
filesobrigatóriolista de arquivoOs arquivos.Até 20 itens.
basesstringOpcional, em JSON: { "assets/logo.png": "<checksum lido>" | null }.

Resposta

200 Sucesso. (ThemeFiles)

Os campos da resposta (18)
CampoTipoDescrição
theme_idstring (uuid)
read_onlyboolean
treestring ou null
fileslista de objeto
files[].pathstring
files[].checksumstring
files[].sizeintegerA partir de 0.
files[].binaryboolean
files[].urlstring ou null
problemslista de objeto
problems[].codestring ou null
problems[].filestring ou null
problems[].lineinteger ou null
problems[].columninteger ou null
problems[].end_lineinteger ou null
problems[].end_columninteger ou null
problems[].messagestring
problems[].severitystringUm de: error, warning.

Erros

  • 400 A chamada veio com campos inválidos; os campos recusados vão em fields (invalid_request).
  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 409 O estado do recurso não permite a mudança, ou ele mudou desde a leitura (conflict).
  • 413 O corpo ou o arquivo passou do tamanho máximo (invalid_request).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

GET /themes/{id}/versions

As versões do código

Escopo read_themes

As versões guardadas do código de um tema da loja, da mais nova à mais antiga: a cada publicação que mudou o código, a cada envio de zip (e a cada push numa branch do GitHub conectada ao tema, também com reason import e a nota com o commit), antes de restaurar e as salvas à mão.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do tema.

Resposta

200 Sucesso. (ThemeVersionList)

Os campos da resposta (9)
CampoTipoDescrição
datalista de ThemeVersion
data[].idstring (uuid)
data[].numberintegerMaior que 0.
data[].treestring
data[].notestring ou null
data[].reasonstringUm de: publish, manual, import, fork, before_restore, before_import.
data[].created_atstring (data e hora)
data[].currentboolean
next_cursorstring ou null

Erros

  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

POST /themes/{id}/versions

Guarda o código de agora como versão

Escopo write_themes

Uma versão com o código em trabalho, com uma nota opcional.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do tema.
Idempotency-KeycabeçalhostringAté 255 caracteres. A mesma escrita mandada de novo com a mesma chave, em até 24 horas, devolve a resposta guardada (com Idempotent-Replayed: true) em vez de acontecer duas vezes.

Corpo application/json: ThemeVersionCreate

CampoTipoDescrição
notestringAté 200 caracteres.

Resposta

201 Sucesso. (ThemeVersion)

Os campos da resposta (7)
CampoTipoDescrição
idstring (uuid)
numberintegerMaior que 0.
treestring
notestring ou null
reasonstringUm de: publish, manual, import, fork, before_restore, before_import.
created_atstring (data e hora)
currentboolean

Erros

  • 400 A chamada veio com campos inválidos; os campos recusados vão em fields (invalid_request).
  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 409 O estado do recurso não permite a mudança, ou ele mudou desde a leitura (conflict).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

POST /themes/{id}/versions/{version_id}/restore

Volta o código a uma versão

Escopo write_themes

O código da versão volta a ser o trabalho do tema; o de antes vira uma versão. O conteúdo da loja e a vitrine não mudam. O tema conectado a uma branch do GitHub tem o código só para leitura: 409 theme_connected (o código muda pelo git push).

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do tema.
version_idobrigatóriocaminhostring (uuid)O id da versão.
Idempotency-KeycabeçalhostringAté 255 caracteres. A mesma escrita mandada de novo com a mesma chave, em até 24 horas, devolve a resposta guardada (com Idempotent-Replayed: true) em vez de acontecer duas vezes.

Resposta

200 Sucesso. (ThemeFiles)

Os campos da resposta (18)
CampoTipoDescrição
theme_idstring (uuid)
read_onlyboolean
treestring ou null
fileslista de objeto
files[].pathstring
files[].checksumstring
files[].sizeintegerA partir de 0.
files[].binaryboolean
files[].urlstring ou null
problemslista de objeto
problems[].codestring ou null
problems[].filestring ou null
problems[].lineinteger ou null
problems[].columninteger ou null
problems[].end_lineinteger ou null
problems[].end_columninteger ou null
problems[].messagestring
problems[].severitystringUm de: error, warning.

Erros

  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 409 O estado do recurso não permite a mudança, ou ele mudou desde a leitura (conflict).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

POST /themes/{id}/import

Troca os arquivos de um tema pelos de um zip

Escopo write_themes

Os arquivos do zip substituem os do tema; o código de antes vira uma versão, e o conteúdo da loja fica. O tema conectado a uma branch do GitHub tem o código só para leitura: 409 theme_connected (o código muda pelo git push).

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do tema.
Idempotency-KeycabeçalhostringAté 255 caracteres. A mesma escrita mandada de novo com a mesma chave, em até 24 horas, devolve a resposta guardada (com Idempotent-Replayed: true) em vez de acontecer duas vezes.

Corpo multipart/form-data

CampoTipoDescrição
fileobrigatórioarquivoO zip do tema.

Resposta

200 Sucesso. (ThemeImport)

Os campos da resposta (27)
CampoTipoDescrição
themeTheme
theme.idstring (uuid)
theme.namestring
theme.sourcestringUm de: platform, custom.
theme.platform_themestring ou null
theme.publishedboolean
theme.treestring ou null
theme.errorsintegerA partir de 0.
theme.developmentboolean
theme.expires_atstring (data e hora) ou null
theme.githubobjeto ou null
theme.github.repositorystring
theme.github.branchstring
theme.github.folderstring
theme.github.urlstring
theme.github.statusstringUm de: active, paused.
theme.github.last_commitobjeto ou null
theme.github.last_commit.shastring
theme.github.last_commit.messagestring
theme.github.synced_atstring (data e hora) ou null
theme.pull_requestobjeto ou null
theme.pull_request.numberintegerMaior que 0.
theme.pull_request.repositorystring
theme.pull_request.urlstring
theme.created_atstring (data e hora)
theme.updated_atstring (data e hora)
ignoredlista de string

Erros

  • 400 A chamada veio com campos inválidos; os campos recusados vão em fields (invalid_request).
  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 409 O estado do recurso não permite a mudança, ou ele mudou desde a leitura (conflict).
  • 413 O corpo ou o arquivo passou do tamanho máximo (invalid_request).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

GET /themes/{id}/export

O zip do código de um tema

Escopo read_themes

Os arquivos de um tema da loja em zip, sem o conteúdo da loja.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do tema.

Resposta

200 Sucesso: o zip. (application/zip)

Erros

  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 409 O estado do recurso não permite a mudança, ou ele mudou desde a leitura (conflict).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

POST /themes/{id}/previews

Uma prévia do tema na vitrine

Escopo write_themes

A temporária (60 minutos, acompanha o trabalho) ou um link para mandar ao cliente, com nome, validade e, se congelado, o código e o conteúdo de agora. O endereço aparece só nesta resposta.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do tema.
Idempotency-KeycabeçalhostringAté 255 caracteres. A mesma escrita mandada de novo com a mesma chave, em até 24 horas, devolve a resposta guardada (com Idempotent-Replayed: true) em vez de acontecer duas vezes.

Corpo application/json: ThemePreviewCreate

CampoTipoDescrição

Resposta

201 Sucesso. (ThemePreview)

Os campos da resposta (7)
CampoTipoDescrição
urlstring (URL)
expires_atstring (data e hora)
sharedobjeto ou null
shared.idstring (uuid)
shared.namestring
shared.frozen_atstring (data e hora) ou null
shared.created_atstring (data e hora)

Erros

  • 400 A chamada veio com campos inválidos; os campos recusados vão em fields (invalid_request).
  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 409 O estado do recurso não permite a mudança, ou ele mudou desde a leitura (conflict).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

GET /themes/{id}/check

O que muda se o tema for publicado

Escopo read_themes

Os problemas do código (com erro, não publica), o conteúdo da loja que o código deixa de ler, os modelos de página que faltam e o que está no ar.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do tema.

Resposta

200 Sucesso. (ThemeCheck)

Os campos da resposta (46)
CampoTipoDescrição
themeTheme
theme.idstring (uuid)
theme.namestring
theme.sourcestringUm de: platform, custom.
theme.platform_themestring ou null
theme.publishedboolean
theme.treestring ou null
theme.errorsintegerA partir de 0.
theme.developmentboolean
theme.expires_atstring (data e hora) ou null
theme.githubobjeto ou null
theme.github.repositorystring
theme.github.branchstring
theme.github.folderstring
theme.github.urlstring
theme.github.statusstringUm de: active, paused.
theme.github.last_commitobjeto ou null
theme.github.last_commit.shastring
theme.github.last_commit.messagestring
theme.github.synced_atstring (data e hora) ou null
theme.pull_requestobjeto ou null
theme.pull_request.numberintegerMaior que 0.
theme.pull_request.repositorystring
theme.pull_request.urlstring
theme.created_atstring (data e hora)
theme.updated_atstring (data e hora)
can_publishboolean
problemslista de objeto
problems[].codestring ou null
problems[].filestring ou null
problems[].lineinteger ou null
problems[].columninteger ou null
problems[].end_lineinteger ou null
problems[].end_columninteger ou null
problems[].messagestring
problems[].severitystringUm de: error, warning.
content_impactlista de objeto
content_impact[].wherestring
content_impact[].changestring
missing_templateslista de objeto
missing_templates[].templatestringUm de: product, collection, page.
missing_templates[].namestring
missing_templates[].countintegerA partir de 0.
liveobjeto ou null
live.theme_namestring
live.published_atstring (data e hora)

Erros

  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

POST /themes/{id}/publish

Publica o tema

Escopo publish_themes

O tema vai para a vitrine, com o código e o conteúdo de agora, e o painel guarda a publicação para voltar a ela. Código com erro não vai ao ar (422 theme_has_errors, com os problemas), e o tema de desenvolvimento do CLI nunca vai (409 development_theme). A vitrine mostra a mudança em até 60 segundos.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do tema.
Idempotency-KeycabeçalhostringAté 255 caracteres. A mesma escrita mandada de novo com a mesma chave, em até 24 horas, devolve a resposta guardada (com Idempotent-Replayed: true) em vez de acontecer duas vezes.

Corpo application/json: ThemePublish

CampoTipoDescrição
notestringAté 200 caracteres.

Resposta

200 Sucesso. (Theme)

Os campos da resposta (25)
CampoTipoDescrição
idstring (uuid)
namestring
sourcestringUm de: platform, custom.
platform_themestring ou null
publishedboolean
treestring ou null
errorsintegerA partir de 0.
developmentboolean
expires_atstring (data e hora) ou null
githubobjeto ou null
github.repositorystring
github.branchstring
github.folderstring
github.urlstring
github.statusstringUm de: active, paused.
github.last_commitobjeto ou null
github.last_commit.shastring
github.last_commit.messagestring
github.synced_atstring (data e hora) ou null
pull_requestobjeto ou null
pull_request.numberintegerMaior que 0.
pull_request.repositorystring
pull_request.urlstring
created_atstring (data e hora)
updated_atstring (data e hora)

Erros

  • 400 A chamada veio com campos inválidos; os campos recusados vão em fields (invalid_request).
  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 409 O estado do recurso não permite a mudança, ou ele mudou desde a leitura (conflict).
  • 422 O pedido é válido, mas não pode ser atendido como está (invalid_request).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).