{"openapi":"3.1.0","info":{"title":"Neatico Publishing API","version":"2.0.0","description":"Read saved social assets, presentations and GEO articles, and access permanent CDN images. Images are rendered lazily on first use and cached by content. The API does not generate content, access social accounts or publish posts."},"servers":[{"url":"https://www.neatico.com"}],"components":{"securitySchemes":{"ApiKey":{"type":"http","scheme":"bearer","bearerFormat":"ntc_…"}}},"paths":{"/v1/me":{"get":{"operationId":"getMe","summary":"Return the authenticated workspace identity","security":[{"ApiKey":[]}],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","required":["workspaceId","authenticated"],"properties":{"workspaceId":{"type":"string"},"authenticated":{"type":"boolean"}}}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/assets":{"get":{"operationId":"listAssets","summary":"List saved social assets with CDN image URLs","security":[{"ApiKey":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":64}},{"name":"platform","in":"query","schema":{"type":"string","maxLength":32}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","required":["id","title","platform","caption","imageUrl","imageStatus","imageWidth","imageHeight","alt","editorUrl"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"platform":{"type":"string"},"caption":{"type":"string"},"imageUrl":{"type":"string","format":"uri","description":"Permanent CDN URL of the rendered PNG. Content-addressed; the URL changes whenever the design changes."},"imageStatus":{"type":"string","enum":["ready","pending"],"description":"'ready' when the CDN image exists; 'pending' until the first ensure-image call renders it."},"imageWidth":{"type":"integer"},"imageHeight":{"type":"integer"},"alt":{"type":"string"},"editorUrl":{"type":"string","format":"uri"},"credits":{"type":"array","description":"Deduplicated nonempty attribution for images used in the canvas.","items":{"type":"object","properties":{"sourceUrl":{"type":"string"},"author":{"type":"string"},"license":{"type":"string"},"licenseUrl":{"type":"string"}}}}}}},"nextCursor":{"type":["string","null"]}}}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/assets/{id}":{"get":{"operationId":"getAsset","summary":"Read one saved social asset","security":[{"ApiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","required":["id","title","platform","caption","imageUrl","imageStatus","imageWidth","imageHeight","alt","editorUrl"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"platform":{"type":"string"},"caption":{"type":"string"},"imageUrl":{"type":"string","format":"uri","description":"Permanent CDN URL of the rendered PNG. Content-addressed; the URL changes whenever the design changes."},"imageStatus":{"type":"string","enum":["ready","pending"],"description":"'ready' when the CDN image exists; 'pending' until the first ensure-image call renders it."},"imageWidth":{"type":"integer"},"imageHeight":{"type":"integer"},"alt":{"type":"string"},"editorUrl":{"type":"string","format":"uri"},"credits":{"type":"array","description":"Deduplicated nonempty attribution for images used in the canvas.","items":{"type":"object","properties":{"sourceUrl":{"type":"string"},"author":{"type":"string"},"license":{"type":"string"},"licenseUrl":{"type":"string"}}}}}}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/assets/{id}/ensure-image":{"post":{"operationId":"ensureAssetImage","summary":"Render the PNG and upload it to the permanent CDN; idempotent","security":[{"ApiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}}],"responses":{"200":{"description":"Image ready","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"status":{"type":"string"}}}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/assets/{id}/image":{"get":{"operationId":"getAssetImage","summary":"Render if needed and redirect to the CDN image","security":[{"ApiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}}],"responses":{"302":{"description":"Redirect to the permanent CDN image","headers":{"location":{"schema":{"type":"string","format":"uri"},"description":"CDN URL of the rendered PNG"}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/presentations":{"get":{"operationId":"listPresentations","summary":"List saved presentations and slide counts","security":[{"ApiKey":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","required":["id","title","slideCount","createdAt"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"slideCount":{"type":"integer"},"createdAt":{"type":["string","null"]}}}},"nextCursor":{"type":["string","null"]}}}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/presentations/{id}":{"get":{"operationId":"getPresentation","summary":"Read a presentation with ordered slide image URLs","security":[{"ApiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","required":["id","title","slides"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"slideCount":{"type":"integer"},"createdAt":{"type":["string","null"]},"slides":{"type":"array","items":{"type":"object","required":["id","order","imageUrl","imageStatus"],"properties":{"id":{"type":"string"},"order":{"type":"integer"},"imageUrl":{"type":"string","format":"uri"},"imageStatus":{"type":"string","enum":["ready","pending"]}}}}}}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/articles":{"get":{"operationId":"listArticles","summary":"List saved GEO articles","security":[{"ApiKey":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"excerpt":{"type":"string"},"cover":{"oneOf":[{"type":"null"},{"type":"object","properties":{"url":{"type":"string","format":"uri"},"alt":{"type":"string"},"width":{"type":"integer"},"height":{"type":"integer"}}}]},"updatedAt":{"type":["string","null"]},"status":{"type":"string"}}}},"nextCursor":{"type":["string","null"]}}}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/articles/{id}":{"get":{"operationId":"getArticle","summary":"Read GEO Markdown, metadata and illustration URLs","security":[{"ApiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},{"name":"version","in":"query","schema":{"type":"string","default":"original","enum":["original","en","zh","ja","de","fr","es","pt","ko","it","nl","pl","tr","id","hi","th","vi"]}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"version":{"type":"string"},"language":{"type":"string"},"updatedAt":{"type":["string","null"]},"markdown":{"type":["string","null"]},"images":{"type":"array","items":{"type":"object","required":["id","section","status"],"properties":{"url":{"type":"string","format":"uri"},"alt":{"type":"string"},"width":{"type":"integer"},"height":{"type":"integer"},"id":{"type":"string"},"section":{"type":"string"},"status":{"type":"string"}}}},"ready":{"type":"boolean"},"metadata":{"type":"object","properties":{"title":{"type":["string","null"]},"description":{"type":["string","null"]},"tags":{"type":"array","items":{"type":"string"}},"canonicalUrl":{"type":["string","null"]}}},"cover":{"oneOf":[{"type":"null"},{"type":"object","properties":{"url":{"type":"string","format":"uri"},"alt":{"type":"string"},"width":{"type":"integer"},"height":{"type":"integer"}}}]}}}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/v1/files/{id}":{"get":{"operationId":"downloadFile","summary":"Download a previously stored PNG or ZIP (legacy)","security":[{"ApiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{20}$"}}],"responses":{"200":{"description":"Stored file","content":{"image/png":{"schema":{"type":"string","format":"binary"}},"application/zip":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}}}}