{"openapi":"3.1.0","info":{"title":"logowright API","description":"Send a logo image (PNG or JPEG), get back a clean, editable SVG. Authenticate with `Authorization: Bearer <your API key>`. A conversion costs one credit only when it succeeds.","version":"1.0"},"paths":{"/v1/me":{"get":{"summary":"Your account","description":"Email, remaining credits, and jobs running.","operationId":"me_v1_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/vectorize":{"post":{"summary":"Convert a logo","description":"Upload `file` (PNG or JPEG, multipart) or give `image_url` (https). Returns a job; poll `GET /v1/jobs/{job_id}` until `state` is `done`. Optional `webhook_url` (https) is called once with the result.","operationId":"vectorize_v1_vectorize_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_vectorize_v1_vectorize_post"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs":{"get":{"summary":"Your recent jobs","description":"The last 50 conversions on your account.","operationId":"list_jobs_v1_jobs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/jobs/{job_id}":{"get":{"summary":"One job","description":"`state` is `queued`, `running` or `done`. When done, `status` is `ok`, `refused` (with a reason), `quality_failed` (a result that did not meet our bar, never charged), `timeout`, `failed` or `cancelled`.","operationId":"get_job_v1_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{job_id}/cancel":{"post":{"summary":"Cancel a job","description":"Never charged.","operationId":"cancel_v1_jobs__job_id__cancel_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{job_id}/source":{"get":{"summary":"The image you sent","description":"Your own upload, kept as long as the result (30 days).","operationId":"get_source_v1_jobs__job_id__source_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{job_id}/files/{name}":{"get":{"summary":"Download an output","description":"`logo.svg` (one clean SVG) or `logo-layers.svg` (shapes as separate layers).","operationId":"get_file_v1_jobs__job_id__files__name__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{job_id}/bundle.zip":{"get":{"summary":"Download all outputs as a zip","operationId":"get_bundle_v1_jobs__job_id__bundle_zip_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/usage":{"get":{"summary":"Credits used","description":"How many conversions were charged.","operationId":"get_usage_v1_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"Body_vectorize_v1_vectorize_post":{"properties":{"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url"}},"type":"object","title":"Body_vectorize_v1_vectorize_post"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}