{"openapi":"3.1.0","info":{"title":"ideare API","version":"1.0.0","description":"Marcas, sus versiones aprobadas y archivos, imágenes de IA y publicaciones. Crea una clave en el estudio (https://studio.ideare.app) y envíala como \"Authorization: Bearer ideare_...\". Las versiones aprobadas son públicas: leerlas no necesita clave."},"servers":[{"url":"https://api.ideare.app/v1"}],"tags":[{"name":"Brands","description":"A brand's draft, its settings and its approval."},{"name":"Versions","description":"Approved versions. Public: anyone can read them."},{"name":"Files","description":"The files of a version, and pictures drawn from templates."},{"name":"Runs","description":"Work that takes a while: follow it, or stop it."},{"name":"AI","description":"Text suggestions (free) and AI pictures (credits)."},{"name":"Imports","description":"Start a brand from a link or from your own files."},{"name":"Assets","description":"Your uploaded files."},{"name":"Names","description":"Is a name free as a domain and as a handle?"},{"name":"Usage","description":"Credits and daily allowances."},{"name":"Designs","description":"Posts and other designs made in the editor."}],"paths":{"/brands":{"get":{"operationId":"list_brands","tags":["Brands"],"summary":"Ver tus marcas","description":"Las marcas de tu espacio, de la última modificada a la más antigua, con el total. Cada una indica su versión actual y si hay un cambio esperando aprobación. No gasta créditos.","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Ver tus marcas","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"type":"string"},"name":{"type":"string"},"currentVersion":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"draftRev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"proposed":{"type":"boolean"},"approving":{"type":"boolean"},"markUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","slug","name","currentVersion","draftRev","proposed","approving","markUrl","updatedAt"],"additionalProperties":false}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["items","total","limit","offset"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"brands.list","returns":"BrandPageDto"},"x-credits":0},"post":{"operationId":"create_brand","tags":["Brands"],"summary":"Crear una marca","description":"Empieza una marca con un nombre y, si los tienes, los maestros que ya dibujaste. Nace como borrador privado: nada es público hasta que un dueño lo apruebe. Sin slug, se toma del nombre y pasa a ser la dirección de la marca: ideare.app/b/<slug>. No gasta créditos.","parameters":[{"name":"idempotency-key","in":"header","required":false,"description":"Your own key for this request, such as a UUID. Send the same key again after a timeout and you get the first answer back, with nothing done or charged twice.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":80},"slug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"},"masters":{"type":"object","properties":{"schemaVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["schemaVersion","name"],"additionalProperties":{}},"origin":{"type":"object","properties":{"kind":{"type":"string","enum":["idea","link","files","try"]},"idea":{"type":"string","maxLength":500},"url":{"type":"string","maxLength":2000,"format":"uri"},"seed":{"type":"string","maxLength":100},"picks":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":["string","number"]}},"run":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["kind"],"additionalProperties":false}},"required":["name"]}}}},"security":[{"bearerAuth":[]}],"responses":{"201":{"description":"Crear una marca","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"type":"string"},"name":{"type":"string"},"workspaceId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"draft":{"type":"object","properties":{"masters":{"type":"object","properties":{"schemaVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["schemaVersion","name"],"additionalProperties":{}},"rev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedBy":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":["string","null"]}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]}},"required":["masters","rev","updatedAt","updatedBy"],"additionalProperties":false},"currentVersion":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"proposal":{"anyOf":[{"type":"object","properties":{"rev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"proposedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"proposedBy":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":["string","null"]}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]},"source":{"type":"string","enum":["studio","cli","api","mcp"]}},"required":["rev","proposedAt","proposedBy","source"],"additionalProperties":false},{"type":"null"}]},"approving":{"anyOf":[{"type":"object","properties":{"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["runId","version"],"additionalProperties":false},{"type":"null"}]},"launched":{"type":"boolean"},"sharing":{"type":"object","properties":{"voice":{"type":"boolean"},"artRefs":{"type":"boolean"},"contacts":{"type":"boolean"}},"required":["voice","artRefs","contacts"],"additionalProperties":false},"origin":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["idea","link","files","try"]},"idea":{"type":"string","maxLength":500},"url":{"type":"string","maxLength":2000,"format":"uri"},"seed":{"type":"string","maxLength":100},"picks":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":["string","number"]}},"run":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["kind"],"additionalProperties":false},{"type":"null"}]},"urls":{"type":"object","properties":{"page":{"type":"string","format":"uri"},"latest":{"type":"string","format":"uri"}},"required":["page","latest"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","slug","name","workspaceId","draft","currentVersion","proposal","approving","launched","sharing","origin","urls","createdAt","updatedAt"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"brands.create","returns":"BrandDto"},"x-credits":0}},"/brands/{slug}":{"get":{"operationId":"get_brand","tags":["Brands"],"summary":"Ver una marca","description":"Una marca con su borrador: los maestros (brand.json) tal como se guardaron por última vez, la revisión del borrador, la versión actual y cualquier cambio que espera aprobación. Devuelve la revisión al guardar o aprobar. No gasta créditos.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Ver una marca","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"type":"string"},"name":{"type":"string"},"workspaceId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"draft":{"type":"object","properties":{"masters":{"type":"object","properties":{"schemaVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["schemaVersion","name"],"additionalProperties":{}},"rev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedBy":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":["string","null"]}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]}},"required":["masters","rev","updatedAt","updatedBy"],"additionalProperties":false},"currentVersion":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"proposal":{"anyOf":[{"type":"object","properties":{"rev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"proposedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"proposedBy":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":["string","null"]}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]},"source":{"type":"string","enum":["studio","cli","api","mcp"]}},"required":["rev","proposedAt","proposedBy","source"],"additionalProperties":false},{"type":"null"}]},"approving":{"anyOf":[{"type":"object","properties":{"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["runId","version"],"additionalProperties":false},{"type":"null"}]},"launched":{"type":"boolean"},"sharing":{"type":"object","properties":{"voice":{"type":"boolean"},"artRefs":{"type":"boolean"},"contacts":{"type":"boolean"}},"required":["voice","artRefs","contacts"],"additionalProperties":false},"origin":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["idea","link","files","try"]},"idea":{"type":"string","maxLength":500},"url":{"type":"string","maxLength":2000,"format":"uri"},"seed":{"type":"string","maxLength":100},"picks":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":["string","number"]}},"run":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["kind"],"additionalProperties":false},{"type":"null"}]},"urls":{"type":"object","properties":{"page":{"type":"string","format":"uri"},"latest":{"type":"string","format":"uri"}},"required":["page","latest"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","slug","name","workspaceId","draft","currentVersion","proposal","approving","launched","sharing","origin","urls","createdAt","updatedAt"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"brands.get","returns":"BrandDto"},"x-credits":0},"patch":{"operationId":"update_brand","tags":["Brands"],"summary":"Cambiar los ajustes de una marca","description":"Indica que la marca ya se lanzó, para que los buscadores puedan mostrar su página pública, y elige qué comparte su brand.json público: las notas de voz, las referencias de arte y los contactos (teléfono, WhatsApp y correo). El lanzamiento se ve en menos de un minuto; lo que comparte brand.json cambia con la próxima aprobación. Solo dueños y admins. No gasta créditos.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"launched":{"type":"boolean"},"sharing":{"type":"object","properties":{"voice":{"type":"boolean"},"artRefs":{"type":"boolean"},"contacts":{"type":"boolean"}},"additionalProperties":false}}}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Cambiar los ajustes de una marca","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"type":"string"},"name":{"type":"string"},"workspaceId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"draft":{"type":"object","properties":{"masters":{"type":"object","properties":{"schemaVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["schemaVersion","name"],"additionalProperties":{}},"rev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedBy":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":["string","null"]}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]}},"required":["masters","rev","updatedAt","updatedBy"],"additionalProperties":false},"currentVersion":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"proposal":{"anyOf":[{"type":"object","properties":{"rev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"proposedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"proposedBy":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":["string","null"]}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]},"source":{"type":"string","enum":["studio","cli","api","mcp"]}},"required":["rev","proposedAt","proposedBy","source"],"additionalProperties":false},{"type":"null"}]},"approving":{"anyOf":[{"type":"object","properties":{"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["runId","version"],"additionalProperties":false},{"type":"null"}]},"launched":{"type":"boolean"},"sharing":{"type":"object","properties":{"voice":{"type":"boolean"},"artRefs":{"type":"boolean"},"contacts":{"type":"boolean"}},"required":["voice","artRefs","contacts"],"additionalProperties":false},"origin":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["idea","link","files","try"]},"idea":{"type":"string","maxLength":500},"url":{"type":"string","maxLength":2000,"format":"uri"},"seed":{"type":"string","maxLength":100},"picks":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":["string","number"]}},"run":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["kind"],"additionalProperties":false},{"type":"null"}]},"urls":{"type":"object","properties":{"page":{"type":"string","format":"uri"},"latest":{"type":"string","format":"uri"}},"required":["page","latest"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","slug","name","workspaceId","draft","currentVersion","proposal","approving","launched","sharing","origin","urls","createdAt","updatedAt"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"brands.update","returns":"BrandDto"},"x-credits":0},"delete":{"operationId":"delete_brand","tags":["Brands"],"summary":"Borrar una marca","description":"Quita una marca de tu espacio, con su borrador y sus diseños. Las versiones ya aprobadas siguen en el CDN, porque sitios y lockfiles pueden usarlas, y el slug nunca pasa a otra persona. Solo el dueño. No gasta créditos.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Borrar una marca","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"deleted":{"type":"boolean","const":true}},"required":["id","deleted"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"brands.delete","returns":"DeletedDto"},"x-credits":0}},"/brands/{slug}/draft":{"put":{"operationId":"update_draft","tags":["Brands"],"summary":"Guardar el borrador","description":"Reemplaza los maestros (brand.json) del borrador. Envía el draftRev del que partiste: si alguien guardó mientras tanto, recibes un 409 con el borrador actual y no se pierde ningún cambio. Guardar no publica nada. No gasta créditos.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"draftRev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"masters":{"type":"object","properties":{"schemaVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["schemaVersion","name"],"additionalProperties":{}}},"required":["draftRev","masters"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Guardar el borrador","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"type":"string"},"name":{"type":"string"},"workspaceId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"draft":{"type":"object","properties":{"masters":{"type":"object","properties":{"schemaVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["schemaVersion","name"],"additionalProperties":{}},"rev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedBy":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":["string","null"]}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]}},"required":["masters","rev","updatedAt","updatedBy"],"additionalProperties":false},"currentVersion":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"proposal":{"anyOf":[{"type":"object","properties":{"rev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"proposedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"proposedBy":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":["string","null"]}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]},"source":{"type":"string","enum":["studio","cli","api","mcp"]}},"required":["rev","proposedAt","proposedBy","source"],"additionalProperties":false},{"type":"null"}]},"approving":{"anyOf":[{"type":"object","properties":{"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["runId","version"],"additionalProperties":false},{"type":"null"}]},"launched":{"type":"boolean"},"sharing":{"type":"object","properties":{"voice":{"type":"boolean"},"artRefs":{"type":"boolean"},"contacts":{"type":"boolean"}},"required":["voice","artRefs","contacts"],"additionalProperties":false},"origin":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["idea","link","files","try"]},"idea":{"type":"string","maxLength":500},"url":{"type":"string","maxLength":2000,"format":"uri"},"seed":{"type":"string","maxLength":100},"picks":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":["string","number"]}},"run":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["kind"],"additionalProperties":false},{"type":"null"}]},"urls":{"type":"object","properties":{"page":{"type":"string","format":"uri"},"latest":{"type":"string","format":"uri"}},"required":["page","latest"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","slug","name","workspaceId","draft","currentVersion","proposal","approving","launched","sharing","origin","urls","createdAt","updatedAt"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"brands.updateDraft","returns":"BrandDto"},"x-credits":0}},"/brands/{slug}/approve":{"post":{"operationId":"approve_draft","tags":["Brands"],"summary":"Aprobar el borrador","description":"Si viene de un dueño o un admin: convierte el borrador en una nueva versión pública. Todos los archivos se dibujan de nuevo y se publican en cdn.ideare.app/b/<slug>/v<n>/; sigue la ejecución para ver cuándo termina. Si viene de otra persona: le pide al dueño que apruebe este borrador, con un toque. Envía el draftRev que viste. No gasta créditos.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},{"name":"idempotency-key","in":"header","required":false,"description":"Your own key for this request, such as a UUID. Send the same key again after a timeout and you get the first answer back, with nothing done or charged twice.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"draftRev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["draftRev"]}}}},"security":[{"bearerAuth":[]}],"responses":{"202":{"description":"Aprobar el borrador","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"oneOf":[{"type":"object","properties":{"outcome":{"type":"string","const":"approving"},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["outcome","version","runId"],"additionalProperties":false},{"type":"object","properties":{"outcome":{"type":"string","const":"proposed"},"proposal":{"type":"object","properties":{"rev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"proposedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"proposedBy":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":["string","null"]}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]},"source":{"type":"string","enum":["studio","cli","api","mcp"]}},"required":["rev","proposedAt","proposedBy","source"],"additionalProperties":false}},"required":["outcome","proposal"],"additionalProperties":false},{"type":"object","properties":{"outcome":{"type":"string","const":"current"},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"draftRev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["outcome","version","draftRev"],"additionalProperties":false}]}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"brands.approve","returns":"ApproveResultDto"},"x-credits":0}},"/brands/{slug}/check":{"post":{"operationId":"check_brand","tags":["Brands"],"summary":"Revisar una marca","description":"Revisa el borrador como lo hace una aprobación: contraste, lectura en tamaño pequeño, texto que cabe, zonas seguras en cada tamaño de red social y las reglas de texto. Cada resultado dice qué arreglar. No cambia nada. No gasta créditos.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Revisar una marca","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"passed":{"type":"boolean"},"checks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["pass","warn","fail"]},"file":{"type":["string","null"]},"message":{"type":"string"},"messageKey":{"type":"string"},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["id","status","file","message"],"additionalProperties":{}}}},"required":["passed","checks"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"brands.check","returns":"CheckReportDto","repeatable":true},"x-credits":0}},"/brands/{slug}/versions":{"get":{"operationId":"list_versions","tags":["Versions"],"summary":"Ver las versiones de una marca","description":"Todas las versiones aprobadas de una marca, de la más nueva a la más antigua, con lo que cambió en cada una. Las versiones son públicas: no hace falta clave. No gasta créditos.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"security":[],"responses":{"200":{"description":"Ver las versiones de una marca","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"approvedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"source":{"type":"string","enum":["studio","cli","api","mcp"]},"restoredFrom":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"summary":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"change":{"type":"string","enum":["added","changed","removed"]}},"required":["path","change"],"additionalProperties":false}}},"required":["version","approvedAt","source","restoredFrom","summary"],"additionalProperties":false}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["items","total","limit","offset"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"versions.list","returns":"VersionPageDto"},"x-credits":0}},"/brands/{slug}/versions/{version}":{"get":{"operationId":"get_version","tags":["Versions"],"summary":"Ver una versión","description":"Una versión aprobada y todos sus archivos, cada uno con su dirección y su sha256. Pide `latest` para recibir la versión a la que apunta la marca ahora: la CLI la resuelve aquí y luego descarga los archivos de esa versión exacta. Las versiones son públicas: no hace falta clave. No gasta créditos.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},{"name":"version","in":"path","required":true,"schema":{"anyOf":[{"type":"string","const":"latest"},{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}]}}],"security":[],"responses":{"200":{"description":"Ver una versión","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"approvedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"source":{"type":"string","enum":["studio","cli","api","mcp"]},"restoredFrom":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"summary":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"change":{"type":"string","enum":["added","changed","removed"]}},"required":["path","change"],"additionalProperties":false}},"slug":{"type":"string"},"rendererVersion":{"type":"string"},"baseUrl":{"type":"string","format":"uri"},"manifestUrl":{"type":"string","format":"uri"},"files":{"type":"array","items":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"mime":{"type":"string"},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"path":{"type":"string"},"url":{"type":"string","format":"uri"}},"required":["sha256","mime","size","path","url"],"additionalProperties":false}}},"required":["version","approvedAt","source","restoredFrom","summary","slug","rendererVersion","baseUrl","manifestUrl","files"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"versions.get","returns":"VersionDto"},"x-credits":0}},"/brands/{slug}/versions/{version}/restore":{"post":{"operationId":"restore_version","tags":["Versions"],"summary":"Volver a una versión anterior","description":"Pone los maestros de una versión anterior de nuevo en el borrador y los aprueba como una versión nueva, así el historial solo crece. Si no viene de un dueño o un admin, le pide al dueño que apruebe. Envía el draftRev actual del borrador: se reemplaza. No gasta créditos.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},{"name":"version","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},{"name":"idempotency-key","in":"header","required":false,"description":"Your own key for this request, such as a UUID. Send the same key again after a timeout and you get the first answer back, with nothing done or charged twice.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"draftRev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["draftRev"]}}}},"security":[{"bearerAuth":[]}],"responses":{"202":{"description":"Volver a una versión anterior","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"oneOf":[{"type":"object","properties":{"outcome":{"type":"string","const":"approving"},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["outcome","version","runId"],"additionalProperties":false},{"type":"object","properties":{"outcome":{"type":"string","const":"proposed"},"proposal":{"type":"object","properties":{"rev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"proposedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"proposedBy":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":["string","null"]}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]},"source":{"type":"string","enum":["studio","cli","api","mcp"]}},"required":["rev","proposedAt","proposedBy","source"],"additionalProperties":false}},"required":["outcome","proposal"],"additionalProperties":false},{"type":"object","properties":{"outcome":{"type":"string","const":"current"},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"draftRev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["outcome","version","draftRev"],"additionalProperties":false}]}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"versions.restore","returns":"ApproveResultDto"},"x-credits":0}},"/brands/{slug}/files":{"get":{"operationId":"list_files","tags":["Files"],"summary":"Ver los archivos de una marca","description":"Todos los archivos de una versión (la actual, si no dices cuál): logos, íconos del sitio, imágenes para compartir, tamaños de redes sociales, tokens, la firma de correo y la tarjeta de presentación. Cada uno con su dirección, tipo, tamaño y sha256. Pasa un grupo (web, logo, og, social, tokens, registry, docs, email, print) para recibir una sola carpeta. No gasta créditos.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},{"name":"version","in":"query","required":false,"schema":{"default":"latest","anyOf":[{"type":"string","const":"latest"},{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}]}},{"name":"group","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-z-]{2,20}$"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Ver los archivos de una marca","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"slug":{"type":"string"},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"baseUrl":{"type":"string","format":"uri"},"files":{"type":"array","items":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"mime":{"type":"string"},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"path":{"type":"string"},"url":{"type":"string","format":"uri"}},"required":["sha256","mime","size","path","url"],"additionalProperties":false}}},"required":["slug","version","baseUrl","files"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"files.list","returns":"FilesDto"},"x-credits":0}},"/brands/{slug}/render":{"post":{"operationId":"render_template","tags":["Files"],"summary":"Dibujar una plantilla","description":"Dibuja una de las plantillas de publicación de la marca con tu texto, en PNG o JPEG, y recibe un enlace que sirve durante una hora. Plantillas: promotion, hours, menu, pix (envía la clave Pix), new-product, status-offer y carousel (5 páginas). Tamaños: ig-post, ig-square, ig-story, wa-status y share-card. Un texto que no cabe se rechaza, con el campo que hay que acortar. Usa el borrador, salvo que indiques una versión. No gasta créditos, dentro del límite de dibujos por hora.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"template":{"type":"string","enum":["promotion","hours","menu","pix","new-product","status-offer","carousel"]},"size":{"type":"string","enum":["ig-post","ig-square","ig-story","wa-status","share-card"]},"text":{"default":{},"type":"object","propertyNames":{"type":"string","pattern":"^[a-z0-9-]{1,40}$"},"additionalProperties":{"type":"string","maxLength":500}},"locale":{"type":"string","enum":["pt-BR","en","es"]},"page":{"default":0,"type":"integer","minimum":0,"maximum":19},"pix":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":77},"city":{"type":"string","minLength":1,"maxLength":15},"amount":{"type":"number","exclusiveMinimum":0,"maximum":1000000}},"required":["key"],"additionalProperties":false},"format":{"default":"png","type":"string","enum":["png","jpeg"]},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["template"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Dibujar una plantilla","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"revision":{"type":"string"},"mime":{"type":"string","enum":["image/png","image/jpeg"]},"width":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"height":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]}},"required":["url","revision","mime","width","height","expiresAt"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"files.render","returns":"RenderDto","repeatable":true},"x-credits":0}},"/brands/{slug}/live-images":{"get":{"operationId":"get_live_images","tags":["Brands"],"summary":"Ver el secreto de las imágenes en vivo","description":"El secreto con el que tu servidor firma los enlaces de imágenes en vivo (img.ideare.app/<slug>/<plantilla>.png?t.title=...&sig=...), y un enlace de ejemplo. Solo para el dueño. Guárdalo en tu servidor: quien lo tiene puede poner palabras en las imágenes de tu marca. No gasta créditos.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Ver el secreto de las imágenes en vivo","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"slug":{"type":"string"},"secret":{"type":"string"},"origin":{"type":"string","format":"uri"},"example":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]}},"required":["slug","secret","origin","example"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"brands.liveImages","returns":"LiveImagesDto"},"x-credits":0}},"/brands/{slug}/live-images/secret":{"post":{"operationId":"rotate_live_image_secret","tags":["Brands"],"summary":"Cambiar el secreto de las imágenes en vivo","description":"Crea un secreto nuevo para los enlaces de imágenes en vivo. Los enlaces firmados con el anterior dejan de funcionar ahora (403): fírmalos otra vez con el nuevo. Una imagen que alguien ya abrió todavía puede verse hasta un año si su enlace lleva una versión (v=), o hasta 5 minutos si no, porque el navegador y Cloudflare guardan una copia. Solo para el dueño. No gasta créditos.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Cambiar el secreto de las imágenes en vivo","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"slug":{"type":"string"},"secret":{"type":"string"},"origin":{"type":"string","format":"uri"},"example":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]}},"required":["slug","secret","origin","example"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"brands.rotateLiveImageSecret","returns":"LiveImagesDto"},"x-credits":0}},"/runs/{id}":{"get":{"operationId":"get_run","tags":["Runs"],"summary":"Ver una ejecución","description":"Cómo va un trabajo largo (dibujar los archivos de una versión, imágenes de IA, una importación): en cola con su lugar, en curso, o terminado con su resultado o lo que falló. Para seguirlo en vivo, abre su eventsUrl como Server-Sent Events. No gasta créditos.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Ver una ejecución","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"kind":{"type":"string","enum":["cascade","symbols","art","import_link","import_files","import_folder"]},"brand":{"type":["string","null"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"queuePosition":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"startedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"finishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"result":{"anyOf":[{},{"type":"null"}]},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]},"eventsUrl":{"type":"string","format":"uri"}},"required":["id","kind","brand","status","queuePosition","createdAt","startedAt","finishedAt","result","error","eventsUrl"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"runs.get","returns":"RunDto"},"x-credits":0},"delete":{"operationId":"cancel_run","tags":["Runs"],"summary":"Detener una ejecución","description":"Detén una ejecución que está en cola o en curso. Los créditos de las imágenes que aún no salieron vuelven. La cascada de una versión no se detiene: una vez aprobada, sus archivos terminan. Responde con la ejecución tal como está.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Detener una ejecución","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"kind":{"type":"string","enum":["cascade","symbols","art","import_link","import_files","import_folder"]},"brand":{"type":["string","null"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"queuePosition":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"startedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"finishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"result":{"anyOf":[{},{"type":"null"}]},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]},"eventsUrl":{"type":"string","format":"uri"}},"required":["id","kind","brand","status","queuePosition","createdAt","startedAt","finishedAt","result","error","eventsUrl"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"runs.cancel","returns":"RunDto"},"x-credits":0}},"/ai/text":{"post":{"operationId":"generate_text","tags":["AI"],"summary":"Sugerir nombres y palabras","description":"Sugerencias a partir de lo que hace el negocio: nombres, eslóganes en cada idioma de la marca, una forma de hablar, ambientes de paleta y estilos de fuente. Gratis, dentro de un límite diario (mira get_usage).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"idea":{"type":"string","minLength":3,"maxLength":500},"name":{"type":"string","minLength":1,"maxLength":80},"locales":{"default":["pt-BR"],"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["pt-BR","en","es"]}},"brand":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},"required":["idea"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Sugerir nombres y palabras","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"names":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"note":{"type":"string"}},"required":["name","note"],"additionalProperties":false}},"copy":{"type":"array","items":{"type":"object","properties":{"locale":{"type":"string","enum":["pt-BR","en","es"]},"taglines":{"type":"array","items":{"type":"string"}},"description":{"type":["string","null"]}},"required":["locale","taglines","description"],"additionalProperties":false}},"voice":{"type":"object","properties":{"tone":{"type":"array","items":{"type":"string"}},"notes":{"type":"string"}},"required":["tone","notes"],"additionalProperties":false},"palettes":{"type":"array","items":{"type":"object","properties":{"mood":{"type":"string"},"hue":{"type":"number"},"note":{"type":"string"}},"required":["mood","hue","note"],"additionalProperties":false}},"fonts":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"}},"display":{"type":"object","properties":{"id":{"type":"string"},"family":{"type":"string"}},"required":["id","family"],"additionalProperties":false},"text":{"type":"object","properties":{"id":{"type":"string"},"family":{"type":"string"}},"required":["id","family"],"additionalProperties":false}},"required":["tags","display","text"],"additionalProperties":false},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["names","copy","voice","palettes","fonts","dropped"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"ai.text","returns":"TextBundleDto"},"x-credits":0}},"/brands/{slug}/symbols":{"post":{"operationId":"generate_symbols","tags":["AI"],"summary":"Crear ideas de símbolo con IA","description":"Dibuja hasta 4 ideas de símbolo para la marca con IA: vectoriales, sin letras, en sus colores. Cuesta 1 crédito por idea, que se cobra al empezar la ejecución y se devuelve por cada una que falle. Responde con la ejecución; cada idea llega como un evento.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},{"name":"idempotency-key","in":"header","required":false,"description":"Your own key for this request, such as a UUID. Send the same key again after a timeout and you get the first answer back, with nothing done or charged twice.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"count":{"default":4,"type":"integer","minimum":1,"maximum":4},"hint":{"type":"string","maxLength":200}}}}}},"security":[{"bearerAuth":[]}],"responses":{"202":{"description":"Crear ideas de símbolo con IA","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"kind":{"type":"string","enum":["cascade","symbols","art","import_link","import_files","import_folder"]},"brand":{"type":["string","null"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"queuePosition":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"startedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"finishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"result":{"anyOf":[{},{"type":"null"}]},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]},"eventsUrl":{"type":"string","format":"uri"}},"required":["id","kind","brand","status","queuePosition","createdAt","startedAt","finishedAt","result","error","eventsUrl"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"ai.symbols","returns":"RunDto"},"x-credits":1}},"/brands/{slug}/art":{"post":{"operationId":"generate_art","tags":["AI"],"summary":"Crear arte con IA","description":"Dibuja una imagen con el estilo propio de la marca con IA, a partir de tu pedido y de las referencias de la marca. Un borrador 1k cuesta 1 crédito y una versión final 2k cuesta 2, que se cobran al empezar la ejecución y se devuelven si falla. Responde con la ejecución.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},{"name":"idempotency-key","in":"header","required":false,"description":"Your own key for this request, such as a UUID. Send the same key again after a timeout and you get the first answer back, with nothing done or charged twice.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"prompt":{"type":"string","minLength":3,"maxLength":1000},"size":{"default":"1k","type":"string","enum":["1k","2k"]},"references":{"default":[],"maxItems":4,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["prompt"]}}}},"security":[{"bearerAuth":[]}],"responses":{"202":{"description":"Crear arte con IA","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"kind":{"type":"string","enum":["cascade","symbols","art","import_link","import_files","import_folder"]},"brand":{"type":["string","null"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"queuePosition":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"startedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"finishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"result":{"anyOf":[{},{"type":"null"}]},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]},"eventsUrl":{"type":"string","format":"uri"}},"required":["id","kind","brand","status","queuePosition","createdAt","startedAt","finishedAt","result","error","eventsUrl"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"ai.art","returns":"RunDto"},"x-credits":1}},"/imports/link":{"post":{"operationId":"import_link","tags":["Imports"],"summary":"Leer una marca desde un enlace","description":"Lee un sitio o un perfil de red social y saca el nombre, el texto de presentación, hasta 6 colores y el logo, en unos 20 segundos. El logo llega tal como estaba y como vector limpio. Gratis, dentro de un límite diario. Responde con la ejecución; su resultado es lo que encontró, para empezar una marca.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"url":{"type":"string","minLength":3,"maxLength":2000},"brand":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},"required":["url"]}}}},"security":[{"bearerAuth":[]}],"responses":{"202":{"description":"Leer una marca desde un enlace","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"kind":{"type":"string","enum":["cascade","symbols","art","import_link","import_files","import_folder"]},"brand":{"type":["string","null"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"queuePosition":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"startedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"finishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"result":{"anyOf":[{},{"type":"null"}]},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]},"eventsUrl":{"type":"string","format":"uri"}},"required":["id","kind","brand","status","queuePosition","createdAt","startedAt","finishedAt","result","error","eventsUrl"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"imports.link","returns":"RunDto"},"x-credits":0}},"/imports/files":{"post":{"operationId":"import_files","tags":["Imports"],"summary":"Leer una marca desde tus archivos","description":"Lee logos e imágenes que subiste: encuentra sus colores y redibuja un logo como vector limpio, siempre junto a tu original. Súbelos antes con create_upload. Gratis, dentro de un límite diario. Responde con la ejecución.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"assetIds":{"minItems":1,"maxItems":12,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"brand":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},"required":["assetIds"]}}}},"security":[{"bearerAuth":[]}],"responses":{"202":{"description":"Leer una marca desde tus archivos","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"kind":{"type":"string","enum":["cascade","symbols","art","import_link","import_files","import_folder"]},"brand":{"type":["string","null"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"queuePosition":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"startedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"finishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"result":{"anyOf":[{},{"type":"null"}]},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]},"eventsUrl":{"type":"string","format":"uri"}},"required":["id","kind","brand","status","queuePosition","createdAt","startedAt","finishedAt","result","error","eventsUrl"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"imports.files","returns":"RunDto"},"x-credits":0}},"/imports/folder":{"post":{"operationId":"import_folder","tags":["Imports"],"summary":"Leer una carpeta de marca entera","description":"Ordena una carpeta o un zip de marca que ya subiste (hasta 200 archivos): logos en todas sus versiones, fuentes, un manual en PDF, posts y fotos. El código lee cada archivo primero, luego la IA mira las imágenes y lee el manual. Cada archivo vuelve con el lugar donde encaja y qué tan seguros estamos, y nada cambia en la marca hasta que llames a apply_import. Gratis, dentro del límite diario de importaciones. Responde con la ejecución; léela con get_folder_import.","parameters":[{"name":"idempotency-key","in":"header","required":false,"description":"Your own key for this request, such as a UUID. Send the same key again after a timeout and you get the first answer back, with nothing done or charged twice.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"files":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string","minLength":1,"maxLength":300}},"required":["assetId"],"additionalProperties":false}},"brand":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"},"source":{"type":"string","minLength":1,"maxLength":120}},"required":["files"]}}}},"security":[{"bearerAuth":[]}],"responses":{"202":{"description":"Leer una carpeta de marca entera","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"kind":{"type":"string","enum":["cascade","symbols","art","import_link","import_files","import_folder"]},"brand":{"type":["string","null"]},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"queuePosition":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"startedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"finishedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"result":{"anyOf":[{},{"type":"null"}]},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]},"eventsUrl":{"type":"string","format":"uri"}},"required":["id","kind","brand","status","queuePosition","createdAt","startedAt","finishedAt","result","error","eventsUrl"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"imports.folder","returns":"RunDto"},"x-credits":0}},"/imports/folder/{runId}":{"get":{"operationId":"get_folder_import","tags":["Imports"],"summary":"Ver una importación de carpeta","description":"Cómo va la importación de una carpeta y, una vez leída, adónde va cada archivo: su lugar, qué tan seguros estamos, las preguntas por responder y lo que decía el manual. Cada imagen tiene un enlace que vale una hora. No gasta créditos.","parameters":[{"name":"runId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Ver una importación de carpeta","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]},"brand":{"anyOf":[{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"}},"required":["slug","name"],"additionalProperties":false},{"type":"null"}]},"result":{"anyOf":[{"type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string"},"kind":{"type":"string","enum":["image","svg","font","pdf","other"]},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"width":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"height":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"role":{"type":"string","enum":["mainLogo","logoHorizontal","logoStacked","logoSymbol","logoName","logoDark","logoLight","icon","profile","cover","post","story","product","pattern","reference","font","guide","other"]},"layout":{"anyOf":[{"type":"string","enum":["symbol","horizontal","stacked","name","badge"]},{"type":"null"}]},"hasText":{"type":["boolean","null"]},"text":{"type":["string","null"]},"colors":{"type":"array","items":{"type":"string","pattern":"^#[0-9a-f]{6}$"}},"slot":{"type":"string","enum":["mark","markSmall","markDark","horizontal","stacked","wordmark","fontDisplay","fontText","fontPrivate","artRefs","guide","library"]},"confidence":{"type":"number","minimum":0,"maximum":1},"by":{"type":"string","enum":["code","ai"]},"vector":{"anyOf":[{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"svg":{"type":"string"},"traced":{"type":"boolean"}},"required":["assetId","svg","traced"],"additionalProperties":false},{"type":"null"}]},"ref":{"anyOf":[{"type":"object","properties":{"sha256":{"type":"string"},"mime":{"type":"string","enum":["image/png","image/jpeg","image/webp"]},"width":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"height":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["sha256","mime","width","height"],"additionalProperties":false},{"type":"null"}]},"font":{"anyOf":[{"type":"object","properties":{"family":{"type":"string"},"style":{"type":"string"},"weight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"italic":{"type":"boolean"},"open":{"type":"boolean"},"catalogId":{"type":["string","null"]},"standIn":{"type":["string","null"]},"use":{"type":"string","enum":["display","text"]}},"required":["family","style","weight","italic","open","catalogId","standIn","use"],"additionalProperties":false},{"type":"null"}]},"note":{"anyOf":[{"type":"object","properties":{"code":{"type":"string","enum":["unreadable","heic","noVector","privateFont","guideUnread","duplicate","tooManyRefs"]},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]}},"required":["assetId","path","kind","size","width","height","role","layout","hasText","text","colors","slot","confidence","by","vector","ref","font","note"],"additionalProperties":false}},"guide":{"anyOf":[{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":["string","null"]},"tagline":{"type":["string","null"]},"colors":{"type":"array","items":{"type":"object","properties":{"hex":{"type":"string","pattern":"^#[0-9a-f]{6}$"},"name":{"type":["string","null"]},"cmyk":{"type":["string","null"]},"pantone":{"type":["string","null"]},"role":{"type":"string","enum":["primary","secondary","accent","neutral","other"]}},"required":["hex","name","cmyk","pantone","role"],"additionalProperties":false}},"fonts":{"type":"array","items":{"type":"object","properties":{"family":{"type":"string"},"use":{"type":"string","enum":["display","text","other"]},"catalogId":{"type":["string","null"]}},"required":["family","use","catalogId"],"additionalProperties":false}},"logoRules":{"type":"array","items":{"type":"string"}},"voice":{"anyOf":[{"type":"object","properties":{"tone":{"type":"array","items":{"type":"string"}},"notes":{"type":["string","null"]}},"required":["tone","notes"],"additionalProperties":false},{"type":"null"}]}},"required":["assetId","name","tagline","colors","fonts","logoRules","voice"],"additionalProperties":false},{"type":"null"}]},"questions":{"type":"array","items":{"type":"object","properties":{"slot":{"type":"string","enum":["mark","markSmall","markDark","horizontal","stacked","wordmark"]},"assetIds":{"minItems":2,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["slot","assetIds"],"additionalProperties":false}},"name":{"type":["string","null"]},"ai":{"type":"boolean"}},"required":["files","guide","questions","name","ai"],"additionalProperties":false},{"type":"null"}]},"previews":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","format":"uri"}},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]}},"required":["runId","status","brand","result","previews","error"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"imports.getFolder","returns":"FolderImportDto"},"x-credits":0}},"/imports/folder/{runId}/apply":{"post":{"operationId":"apply_import","tags":["Imports"],"summary":"Usar una importación de carpeta","description":"Guarda en la marca una carpeta ya leída: cada archivo va a su lugar, con tus cambios hechos (un archivo movido a un lugar de logo devuelve el que estaba ahí a tus archivos). Para una marca, envía su draftRev; sin marca, se crea una nueva con `name`. Las fuentes que el catálogo de ideare no tiene quedan privadas y nunca se publican: indica en `licensed` las que tienes licencia para usar. Solo cambia el borrador: apruébalo para publicar. No gasta créditos.","parameters":[{"name":"runId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"name":"idempotency-key","in":"header","required":false,"description":"Your own key for this request, such as a UUID. Send the same key again after a timeout and you get the first answer back, with nothing done or charged twice.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"draftRev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"name":{"type":"string","minLength":1,"maxLength":40},"locale":{"type":"string","enum":["pt-BR","en","es"]},"moves":{"default":[],"maxItems":200,"type":"array","items":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slot":{"type":"string","enum":["mark","markSmall","markDark","horizontal","stacked","wordmark","fontDisplay","fontText","fontPrivate","artRefs","guide","library"]}},"required":["assetId","slot"],"additionalProperties":false}},"licensed":{"default":[],"maxItems":200,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}}}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Usar una importación de carpeta","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"type":"string"},"name":{"type":"string"},"workspaceId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"draft":{"type":"object","properties":{"masters":{"type":"object","properties":{"schemaVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["schemaVersion","name"],"additionalProperties":{}},"rev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedBy":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":["string","null"]}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]}},"required":["masters","rev","updatedAt","updatedBy"],"additionalProperties":false},"currentVersion":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"proposal":{"anyOf":[{"type":"object","properties":{"rev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"proposedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"proposedBy":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":["string","null"]}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]},"source":{"type":"string","enum":["studio","cli","api","mcp"]}},"required":["rev","proposedAt","proposedBy","source"],"additionalProperties":false},{"type":"null"}]},"approving":{"anyOf":[{"type":"object","properties":{"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["runId","version"],"additionalProperties":false},{"type":"null"}]},"launched":{"type":"boolean"},"sharing":{"type":"object","properties":{"voice":{"type":"boolean"},"artRefs":{"type":"boolean"},"contacts":{"type":"boolean"}},"required":["voice","artRefs","contacts"],"additionalProperties":false},"origin":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["idea","link","files","try"]},"idea":{"type":"string","maxLength":500},"url":{"type":"string","maxLength":2000,"format":"uri"},"seed":{"type":"string","maxLength":100},"picks":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":["string","number"]}},"run":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["kind"],"additionalProperties":false},{"type":"null"}]},"urls":{"type":"object","properties":{"page":{"type":"string","format":"uri"},"latest":{"type":"string","format":"uri"}},"required":["page","latest"],"additionalProperties":false},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","slug","name","workspaceId","draft","currentVersion","proposal","approving","launched","sharing","origin","urls","createdAt","updatedAt"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"imports.applyFolder","returns":"BrandDto"},"x-credits":0}},"/imports/repo":{"post":{"operationId":"read_repo","tags":["Imports"],"summary":"Leer una marca desde el código","description":"Envía los archivos de estilo de un proyecto (config de Tailwind, variables CSS, archivos de tema, package.json, el layout raíz), hasta 55.000 caracteres, y recibe los colores del tema claro y del oscuro, las fuentes, el radio de las esquinas y cuál de las rutas de logo que listaste es la de la marca. `ideare init` envía estos archivos cuando iniciaste sesión. Gratis, dentro del límite diario de importaciones.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"files":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":300},"content":{"type":"string","maxLength":20000}},"required":["path","content"]}},"logos":{"default":[],"maxItems":40,"type":"array","items":{"type":"string","minLength":1,"maxLength":300}}},"required":["files"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Leer una marca desde el código","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"hasUi":{"type":"boolean"},"name":{"type":["string","null"]},"light":{"anyOf":[{"type":"object","properties":{"bg":{"type":"string"},"surface":{"type":"string"},"border":{"type":"string"},"fg":{"type":"string"},"fgMuted":{"type":"string"},"accent":{"type":"string"},"accentFg":{"type":"string"},"danger":{"type":["string","null"]},"success":{"type":["string","null"]},"warning":{"type":["string","null"]},"radius":{"type":"string"},"fontSans":{"type":"string"},"fontDisplay":{"type":["string","null"]}},"required":["bg","surface","border","fg","fgMuted","accent","accentFg","danger","success","warning","radius","fontSans","fontDisplay"],"additionalProperties":false},{"type":"null"}]},"dark":{"anyOf":[{"type":"object","properties":{"bg":{"type":"string"},"surface":{"type":"string"},"border":{"type":"string"},"fg":{"type":"string"},"fgMuted":{"type":"string"},"accent":{"type":"string"},"accentFg":{"type":"string"},"danger":{"type":["string","null"]},"success":{"type":["string","null"]},"warning":{"type":["string","null"]},"radius":{"type":"string"},"fontSans":{"type":"string"},"fontDisplay":{"type":["string","null"]}},"required":["bg","surface","border","fg","fgMuted","accent","accentFg","danger","success","warning","radius","fontSans","fontDisplay"],"additionalProperties":false},{"type":"null"}]},"logoPath":{"type":["string","null"]}},"required":["hasUi","name","light","dark","logoPath"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"imports.repo","returns":"RepoTokensDto"},"x-credits":0}},"/assets":{"post":{"operationId":"create_upload","tags":["Assets"],"summary":"Subir un archivo","description":"Recibe un enlace para enviar (PUT) un archivo de hasta 25 MB: una imagen PNG, JPEG, WebP, SVG o HEIC, una fuente TTF, OTF, WOFF o WOFF2, o un PDF. Envía antes su sha256; el almacenamiento compara los bytes con él. Si tu espacio ya tiene ese archivo, no llega enlace y usas el que ya está. Luego llama a complete_upload. No gasta créditos.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"mime":{"type":"string","enum":["image/png","image/jpeg","image/webp","image/svg+xml","image/heic","image/heif","font/ttf","font/otf","font/woff","font/woff2","application/pdf"]},"size":{"type":"integer","exclusiveMinimum":0,"maximum":26214400},"name":{"type":"string","minLength":1,"maxLength":200},"brand":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},"required":["sha256","mime","size"]}}}},"security":[{"bearerAuth":[]}],"responses":{"201":{"description":"Subir un archivo","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"asset":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sha256":{"type":"string"},"kind":{"type":"string","enum":["upload","import","symbol","art","trace"]},"mime":{"type":"string"},"size":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"width":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"height":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"name":{"type":["string","null"]},"url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"urlExpiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"uploaded":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","sha256","kind","mime","size","width","height","name","url","urlExpiresAt","uploaded","createdAt"],"additionalProperties":false},"upload":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","format":"uri"},"method":{"type":"string","const":"PUT"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["url","method","headers","expiresAt"],"additionalProperties":false},{"type":"null"}]}},"required":["asset","upload"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"assets.createUpload","returns":"UploadDto"},"x-credits":0},"get":{"operationId":"list_assets","tags":["Assets"],"summary":"Ver tus archivos","description":"Los archivos de la biblioteca de tu espacio, de los más nuevos a los más antiguos: subidas, imágenes importadas, símbolos y arte de IA. Cada uno tiene un enlace que vale una hora. No gasta créditos.","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Ver tus archivos","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sha256":{"type":"string"},"kind":{"type":"string","enum":["upload","import","symbol","art","trace"]},"mime":{"type":"string"},"size":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"width":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"height":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"name":{"type":["string","null"]},"url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"urlExpiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"uploaded":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","sha256","kind","mime","size","width","height","name","url","urlExpiresAt","uploaded","createdAt"],"additionalProperties":false}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["items","total","limit","offset"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"assets.list","returns":"AssetPageDto"},"x-credits":0}},"/assets/{id}/complete":{"post":{"operationId":"complete_upload","tags":["Assets"],"summary":"Terminar una subida","description":"Avisa que el PUT terminó. Comprobamos que el archivo está con el tamaño que indicaste y se suma a tu biblioteca. No gasta créditos.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Terminar una subida","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sha256":{"type":"string"},"kind":{"type":"string","enum":["upload","import","symbol","art","trace"]},"mime":{"type":"string"},"size":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"width":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"height":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"name":{"type":["string","null"]},"url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"urlExpiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"uploaded":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","sha256","kind","mime","size","width","height","name","url","urlExpiresAt","uploaded","createdAt"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"assets.completeUpload","returns":"AssetDto"},"x-credits":0}},"/names/check":{"post":{"operationId":"check_names","tags":["Names"],"summary":"Ver si un nombre está libre","description":"Para hasta 5 nombres, mira si los dominios (.com.br, .com y .app, si no indicas otros) y los usuarios en redes parecen libres, con enlaces para buscar marcas registradas en el INPI, la USPTO y la EUIPO. `available` significa que no encontramos registro, no que el nombre sea tuyo; `unknown` significa que nadie respondió. Cada nombre con usuarios revisados usa una de las consultas de usuarios del día. No gasta créditos.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"names":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":63}},"tlds":{"default":["com.br","com","app"],"minItems":1,"maxItems":5,"type":"array","items":{"type":"string","pattern":"^[a-z0-9.-]{2,24}$"}},"networks":{"default":["instagram"],"maxItems":4,"type":"array","items":{"type":"string","enum":["instagram","tiktok","x","youtube"]}}},"required":["names"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Ver si un nombre está libre","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"domains":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string"},"status":{"type":"string","enum":["available","taken","unknown"]},"reason":{"anyOf":[{"type":"string","enum":["noAnswer","dailyCap","notSetUp","invalid"]},{"type":"null"}]}},"required":["domain","status","reason"],"additionalProperties":false}},"handles":{"type":"array","items":{"type":"object","properties":{"network":{"type":"string"},"handle":{"type":"string"},"status":{"type":"string","enum":["available","taken","unknown"]},"reason":{"anyOf":[{"type":"string","enum":["noAnswer","dailyCap","notSetUp","invalid"]},{"type":"null"}]}},"required":["network","handle","status","reason"],"additionalProperties":false}},"trademarks":{"type":"array","items":{"type":"object","properties":{"office":{"type":"string"},"url":{"type":"string","format":"uri"}},"required":["office","url"],"additionalProperties":false}}},"required":["name","domains","handles","trademarks"],"additionalProperties":false}}},"required":["results"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"names.check","returns":"NamesDto","repeatable":true},"x-credits":0}},"/usage":{"get":{"operationId":"get_usage","tags":["Usage"],"summary":"Ver tus créditos","description":"Los créditos del mes: lo que incluye tu plan, lo que usaste, los créditos comprados, los créditos de bienvenida de una cuenta nueva y cuándo vencen, y lo que queda. También las sugerencias de texto y las importaciones de hoy frente a su límite diario, y cuándo se reinicia cada uno. No gasta créditos.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Ver tus créditos","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"plan":{"type":"string","enum":["free","pro","internal"]},"credits":{"type":"object","properties":{"monthly":{"type":"integer","minimum":0,"maximum":9007199254740991},"usedThisMonth":{"type":"integer","minimum":0,"maximum":9007199254740991},"balance":{"type":"integer","minimum":0,"maximum":9007199254740991},"welcome":{"anyOf":[{"type":"object","properties":{"credits":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["credits","expiresAt"],"additionalProperties":false},{"type":"null"}]},"remaining":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["monthly","usedThisMonth","balance","welcome","remaining"],"additionalProperties":false},"text":{"type":"object","properties":{"dailyCap":{"type":"integer","minimum":0,"maximum":9007199254740991},"usedToday":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["dailyCap","usedToday"],"additionalProperties":false},"imports":{"type":"object","properties":{"dailyCap":{"type":"integer","minimum":0,"maximum":9007199254740991},"usedToday":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["dailyCap","usedToday"],"additionalProperties":false},"resetsAt":{"type":"object","properties":{"day":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"month":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["day","month"],"additionalProperties":false}},"required":["plan","credits","text","imports","resetsAt"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"usage.get","returns":"UsageDto"},"x-credits":0}},"/designs":{"get":{"operationId":"list_designs","tags":["Designs"],"summary":"Ver tus diseños","description":"Tus publicaciones y otros diseños, del último modificado al más antiguo. Pasa una marca para ver solo los suyos. No gasta créditos.","parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},{"name":"brand","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Ver tus diseños","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"brandSlug":{"type":"string"},"name":{"type":"string"},"template":{"type":["string","null"]},"sceneRev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"revision":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","brandSlug","name","template","sceneRev","revision","createdAt","updatedAt"],"additionalProperties":false}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["items","total","limit","offset"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"designs.list","returns":"DesignPageDto"},"x-credits":0},"post":{"operationId":"create_design","tags":["Designs"],"summary":"Empezar un diseño","description":"Empieza una publicación o cualquier diseño para una marca, desde una de sus plantillas o desde una página en blanco. Un espacio de trabajo hace hasta 300 diseños en el plan gratis y 5.000 en Pro, y los borrados también cuentan. No gasta créditos.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"brand":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"},"name":{"type":"string","minLength":1,"maxLength":120},"template":{"type":"string","enum":["promotion","hours","menu","pix","new-product","status-offer","carousel"]},"size":{"type":"string","enum":["ig-post","ig-square","ig-story","wa-status","share-card"]},"locale":{"type":"string","enum":["pt-BR","en","es"]},"scene":{"type":"object","properties":{"v":{"type":"number","const":1},"pages":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"object","properties":{},"additionalProperties":{}}}},"required":["v","pages"],"additionalProperties":{}}},"required":["brand","name"]}}}},"security":[{"bearerAuth":[]}],"responses":{"201":{"description":"Empezar un diseño","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"brandSlug":{"type":"string"},"name":{"type":"string"},"template":{"type":["string","null"]},"sceneRev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"revision":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"scene":{"type":"object","properties":{"v":{"type":"number","const":1},"pages":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"object","properties":{},"additionalProperties":{}}}},"required":["v","pages"],"additionalProperties":{}}},"required":["id","brandSlug","name","template","sceneRev","revision","createdAt","updatedAt","scene"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"designs.create","returns":"DesignDto"},"x-credits":0}},"/designs/{id}":{"get":{"operationId":"get_design","tags":["Designs"],"summary":"Ver un diseño","description":"Un diseño con su escena completa: todas las páginas y capas. Devuelve su sceneRev al guardar. No gasta créditos.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Ver un diseño","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"brandSlug":{"type":"string"},"name":{"type":"string"},"template":{"type":["string","null"]},"sceneRev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"revision":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"scene":{"type":"object","properties":{"v":{"type":"number","const":1},"pages":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"object","properties":{},"additionalProperties":{}}}},"required":["v","pages"],"additionalProperties":{}}},"required":["id","brandSlug","name","template","sceneRev","revision","createdAt","updatedAt","scene"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"designs.get","returns":"DesignDto"},"x-credits":0},"put":{"operationId":"update_design","tags":["Designs"],"summary":"Guardar un diseño","description":"Guarda la escena o el nombre de un diseño. Envía el sceneRev del que partiste: si cambió mientras tanto, recibes un 409 con el diseño actual. No gasta créditos.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"sceneRev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"scene":{"type":"object","properties":{"v":{"type":"number","const":1},"pages":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"object","properties":{},"additionalProperties":{}}}},"required":["v","pages"],"additionalProperties":{}},"name":{"type":"string","minLength":1,"maxLength":120}},"required":["sceneRev"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Guardar un diseño","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"brandSlug":{"type":"string"},"name":{"type":"string"},"template":{"type":["string","null"]},"sceneRev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"revision":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"scene":{"type":"object","properties":{"v":{"type":"number","const":1},"pages":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"object","properties":{},"additionalProperties":{}}}},"required":["v","pages"],"additionalProperties":{}}},"required":["id","brandSlug","name","template","sceneRev","revision","createdAt","updatedAt","scene"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"designs.update","returns":"DesignDto"},"x-credits":0},"delete":{"operationId":"delete_design","tags":["Designs"],"summary":"Borrar un diseño","description":"Borra un diseño. Las imágenes que ya compartiste siguen donde las pusiste. No gasta créditos.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Borrar un diseño","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"deleted":{"type":"boolean","const":true}},"required":["id","deleted"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"designs.delete","returns":"DeletedDto"},"x-credits":0}},"/designs/{id}/render":{"post":{"operationId":"render_design","tags":["Designs"],"summary":"Exportar un diseño","description":"Dibuja una página de un diseño en PNG o JPEG, con el borrador de la marca, y recibe un enlace que sirve durante una hora. No gasta créditos, dentro del límite de dibujos por hora.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"page":{"default":0,"type":"integer","minimum":0,"maximum":19},"format":{"default":"png","type":"string","enum":["png","jpeg"]}}}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Exportar un diseño","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"revision":{"type":"string"},"mime":{"type":"string","enum":["image/png","image/jpeg"]},"width":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"height":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]}},"required":["url","revision","mime","width","height","expiresAt"],"additionalProperties":false}}}}}},"400":{"description":"The input is wrong. `details` names each field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"The key is missing, wrong or revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"This key or this person may not do this.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found, or not yours.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Something changed in between, such as the draft's rev.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests, or a daily allowance is spent. Retry-After says when.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"501":{"description":"Not built yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"x-sdk":{"method":"designs.render","returns":"RenderDto","repeatable":true},"x-credits":0}}},"components":{"schemas":{"ApiError":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["VALIDATION_ERROR","UNAUTHORIZED","INVALID_TOKEN","PAYMENT_REQUIRED","FORBIDDEN","NOT_FOUND","CONFLICT","PAYLOAD_TOO_LARGE","IDEMPOTENCY_KEY_REUSED","RATE_LIMIT_EXCEEDED","QUOTA_EXCEEDED","INTERNAL_ERROR","NOT_IMPLEMENTED","SERVICE_UNAVAILABLE"],"description":"What went wrong, as a word a program can check."},"message":{"type":"string","description":"What went wrong, as a sentence."},"messageKey":{"type":"string","description":"`message` as a key, to show it in your reader's language, with `params` filling its blanks."},"params":{"type":"object","additionalProperties":{"type":["string","number"]},"description":"The values that fill `messageKey`'s blanks, such as a limit."},"details":{"description":"More about this error, such as retryAfterSecs."}}}}}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"x-mcp-tools":[{"name":"list_brands","title":"List your brands","description":"The brands in your workspace, the most recently changed first, with the total. Each one says its current version and whether a change waits for approval. Costs no credits.","inputSchema":{"type":"object","properties":{"limit":{"default":20,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false}},{"name":"get_brand","title":"Read a brand","description":"A brand with its draft: the masters (brand.json) as last saved, the draft's rev, the current version and any change waiting for approval. Send the rev back when you save or approve. Costs no credits.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},"required":["slug"],"additionalProperties":false}},{"name":"create_brand","title":"Create a brand","description":"Start a brand with a name, and the masters you drew so far if you have them. It starts as a private draft; nothing is public until an owner approves it. The slug comes from the name when you leave it out, and becomes the brand's address: ideare.app/b/<slug>. Costs no credits.","inputSchema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80},"slug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"},"masters":{"type":"object","properties":{"schemaVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["schemaVersion","name"],"additionalProperties":{}},"origin":{"type":"object","properties":{"kind":{"type":"string","enum":["idea","link","files","try"]},"idea":{"type":"string","maxLength":500},"url":{"type":"string","maxLength":2000,"format":"uri"},"seed":{"type":"string","maxLength":100},"picks":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":["string","number"]}},"run":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["kind"],"additionalProperties":false}},"required":["name"],"additionalProperties":false}},{"name":"update_draft","title":"Save the draft","description":"Replace the draft's masters (brand.json). Send the draftRev you started from: if someone saved in between, you get a 409 with the current draft, so no change is lost. Saving publishes nothing. Costs no credits.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"},"draftRev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"masters":{"type":"object","properties":{"schemaVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["schemaVersion","name"],"additionalProperties":{}}},"required":["slug","draftRev","masters"],"additionalProperties":false}},{"name":"approve_draft","title":"Approve the draft","description":"From an owner or an admin: make the draft a new public version. Every file is drawn again and published at cdn.ideare.app/b/<slug>/v<n>/; follow the run to see it finish. From anyone else: ask the owner to approve this draft, which they do in one tap. Send the draftRev you looked at. Costs no credits.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"},"draftRev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["slug","draftRev"],"additionalProperties":false}},{"name":"check_brand","title":"Check a brand","description":"Check the draft the way an approval does: contrast, legibility at small sizes, text that fits, safe areas on every social size, and the copy rules. Each result says what to fix. Changes nothing. Costs no credits.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},"required":["slug"],"additionalProperties":false}},{"name":"list_versions","title":"List a brand's versions","description":"Every approved version of a brand, newest first, with what changed in each. Versions are public: no key needed. Costs no credits.","inputSchema":{"type":"object","properties":{"limit":{"default":20,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"slug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},"required":["slug"],"additionalProperties":false}},{"name":"get_version","title":"Read a version","description":"One approved version and every file in it, each with its address and sha256. Ask for `latest` to get the version the brand points at now: the CLI resolves it here, then fetches the files of that exact version. Versions are public: no key needed. Costs no credits.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"},"version":{"anyOf":[{"type":"string","const":"latest"},{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}]}},"required":["slug","version"],"additionalProperties":false}},{"name":"restore_version","title":"Bring back an older version","description":"Put an older version's masters back in the draft and approve them as a new version, so the history only grows. From anyone but an owner or admin, this asks the owner to approve instead. Send the draft's current draftRev: the draft is replaced. Costs no credits.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"draftRev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["slug","version","draftRev"],"additionalProperties":false}},{"name":"list_files","title":"List a brand's files","description":"Every file of a version (the current one when you leave it out): logos, site icons, share cards, social sizes, tokens, the email signature, the business card. Each has its address, type, size and sha256. Pass a group (web, logo, og, social, tokens, registry, docs, email, print) to get one folder. Costs no credits.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"},"version":{"default":"latest","anyOf":[{"type":"string","const":"latest"},{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}]},"group":{"type":"string","pattern":"^[a-z-]{2,20}$"}},"required":["slug"],"additionalProperties":false}},{"name":"render_template","title":"Draw a template","description":"Draw one of the brand's post templates with your words, as PNG or JPEG, and get a link to it that works for an hour. Templates: promotion, hours, menu, pix (send the Pix key), new-product, status-offer and carousel (5 pages). Sizes: ig-post, ig-square, ig-story, wa-status and share-card. Words that don't fit are refused, with which slot to shorten. Uses the draft unless you name a version. Costs no credits, within the hourly render allowance.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"},"template":{"type":"string","enum":["promotion","hours","menu","pix","new-product","status-offer","carousel"]},"size":{"type":"string","enum":["ig-post","ig-square","ig-story","wa-status","share-card"]},"text":{"default":{},"type":"object","propertyNames":{"type":"string","pattern":"^[a-z0-9-]{1,40}$"},"additionalProperties":{"type":"string","maxLength":500}},"locale":{"type":"string","enum":["pt-BR","en","es"]},"page":{"default":0,"type":"integer","minimum":0,"maximum":19},"pix":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":77},"city":{"type":"string","minLength":1,"maxLength":15},"amount":{"type":"number","exclusiveMinimum":0,"maximum":1000000}},"required":["key"],"additionalProperties":false},"format":{"default":"png","type":"string","enum":["png","jpeg"]},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["slug","template"],"additionalProperties":false}},{"name":"get_run","title":"Read a run","description":"Where a long job stands (drawing a version's files, AI pictures, an import): queued with its place in line, running, or finished with its result or what went wrong. For live updates, open its eventsUrl as Server-Sent Events. Costs no credits.","inputSchema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id"],"additionalProperties":false}},{"name":"cancel_run","title":"Stop a run","description":"Stop a run that is queued or running. Credits for pictures not made yet come back. A version's cascade can't be stopped: once approved, its files finish. Answers the run as it stands.","inputSchema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id"],"additionalProperties":false}},{"name":"generate_text","title":"Suggest names and words","description":"Suggestions from what the business does: names, taglines in each of the brand's languages, a voice, palette moods and font tags. Free, within a daily allowance (see get_usage).","inputSchema":{"type":"object","properties":{"idea":{"type":"string","minLength":3,"maxLength":500},"name":{"type":"string","minLength":1,"maxLength":80},"locales":{"default":["pt-BR"],"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["pt-BR","en","es"]}},"brand":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},"required":["idea"],"additionalProperties":false}},{"name":"generate_symbols","title":"Make AI symbol ideas","description":"Draw up to 4 symbol ideas for the brand with AI: vector, no letters, in its colors. Costs 1 credit per idea, taken when the run starts and given back for each one that fails. Answers with the run; each idea arrives as an event.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"},"count":{"default":4,"type":"integer","minimum":1,"maximum":4},"hint":{"type":"string","maxLength":200}},"required":["slug"],"additionalProperties":false}},{"name":"generate_art","title":"Make AI art","description":"Draw a picture in the brand's own style with AI, from your prompt and the brand's references. A 1k draft costs 1 credit and a 2k keeper costs 2, taken when the run starts and given back if it fails. Answers with the run.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"},"prompt":{"type":"string","minLength":3,"maxLength":1000},"size":{"default":"1k","type":"string","enum":["1k","2k"]},"references":{"default":[],"maxItems":4,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["slug","prompt"],"additionalProperties":false}},{"name":"import_link","title":"Read a brand from a link","description":"Read a site or a social profile and pull out the name, the about text, up to 6 colors and the logo, in about 20 seconds. The logo comes as it was and as a clean vector. Free, within a daily allowance. Answers with the run; its result is what it found, to start a brand from.","inputSchema":{"type":"object","properties":{"url":{"type":"string","minLength":3,"maxLength":2000},"brand":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},"required":["url"],"additionalProperties":false}},{"name":"import_files","title":"Read a brand from your files","description":"Read uploaded logos and pictures: find their colors and trace a logo into a clean vector, always next to your original. Upload first with create_upload. Free, within a daily allowance. Answers with the run.","inputSchema":{"type":"object","properties":{"assetIds":{"minItems":1,"maxItems":12,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"brand":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},"required":["assetIds"],"additionalProperties":false}},{"name":"import_folder","title":"Read a whole brand folder","description":"Sort a brand folder or zip you already uploaded (up to 200 files): logos in every version, fonts, a guide PDF, posts and photos. Code reads each file first, then AI looks at the pictures and reads the guide. Each file comes back with the slot it fits and how sure we are, and nothing changes in a brand until you call apply_import. Free, within the daily import allowance. Answers with the run; read it with get_folder_import.","inputSchema":{"type":"object","properties":{"files":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"path":{"type":"string","minLength":1,"maxLength":300}},"required":["assetId"],"additionalProperties":false}},"brand":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"},"source":{"type":"string","minLength":1,"maxLength":120}},"required":["files"],"additionalProperties":false}},{"name":"get_folder_import","title":"See a folder import","description":"Where a folder import stands and, once it is read, where each file goes: its slot, how sure we are, the questions to answer, and what the guide said. Each picture has a link that works for an hour. Costs no credits.","inputSchema":{"type":"object","properties":{"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["runId"],"additionalProperties":false}},{"name":"apply_import","title":"Use a folder import","description":"Write a read folder into the brand: every file goes to its slot, with your moves made (a file moved into a logo slot sends the one there back to your files). For a brand, send its draftRev; without one, a new brand is made with `name`. Fonts ideare's catalog doesn't have stay private and are never published: list the ones you hold a license for in `licensed`. Only the draft changes: approve it to publish. Costs no credits.","inputSchema":{"type":"object","properties":{"runId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"draftRev":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"name":{"type":"string","minLength":1,"maxLength":40},"locale":{"type":"string","enum":["pt-BR","en","es"]},"moves":{"default":[],"maxItems":200,"type":"array","items":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slot":{"type":"string","enum":["mark","markSmall","markDark","horizontal","stacked","wordmark","fontDisplay","fontText","fontPrivate","artRefs","guide","library"]}},"required":["assetId","slot"],"additionalProperties":false}},"licensed":{"default":[],"maxItems":200,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"required":["runId"],"additionalProperties":false}},{"name":"list_assets","title":"List your files","description":"The files in your workspace's library, newest first: uploads, imported pictures, AI symbols and art. Each has a link that works for an hour. Costs no credits.","inputSchema":{"type":"object","properties":{"limit":{"default":20,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false}},{"name":"check_names","title":"Check if a name is free","description":"For up to 5 names, see whether the domains (.com.br, .com and .app unless you say) and the social handles look free, with links to search trademarks at INPI, USPTO and EUIPO. `available` means no record was found, not that it is yours; `unknown` means nobody answered. Each name whose handles are checked uses one of the day's handle checks. Costs no credits.","inputSchema":{"type":"object","properties":{"names":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":63}},"tlds":{"default":["com.br","com","app"],"minItems":1,"maxItems":5,"type":"array","items":{"type":"string","pattern":"^[a-z0-9.-]{2,24}$"}},"networks":{"default":["instagram"],"maxItems":4,"type":"array","items":{"type":"string","enum":["instagram","tiktok","x","youtube"]}}},"required":["names"],"additionalProperties":false}},{"name":"get_usage","title":"See your credits","description":"This month's credits: what your plan includes, what you used, the credits you bought, the welcome credits a new account starts with and when they expire, and what is left. Also today's text suggestions and imports against their daily allowance, and when each resets. Costs no credits.","inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"list_designs","title":"List your designs","description":"Your posts and other designs, the most recently changed first. Pass a brand to see only its designs. Costs no credits.","inputSchema":{"type":"object","properties":{"limit":{"default":20,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"brand":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"}},"additionalProperties":false}},{"name":"render_design","title":"Export a design","description":"Draw one page of a design as PNG or JPEG, with the brand's draft, and get a link to it that works for an hour. Costs no credits, within the hourly render allowance.","inputSchema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"page":{"default":0,"type":"integer","minimum":0,"maximum":19},"format":{"default":"png","type":"string","enum":["png","jpeg"]}},"required":["id"],"additionalProperties":false}}]}