{"openapi":"3.1.0","info":{"title":"Deploya Deploy API","version":"1.1.0"},"servers":[{"url":"https://app.deploya.ru/api/v1"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"Deploya API token"}},"schemas":{"ApiError":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}},"required":["error"]}}},"security":[{"bearerAuth":[]}],"paths":{"/me":{"get":{"summary":"Current token owner","responses":{"200":{"description":"Current user"},"401":{"description":"Invalid token"}}}},"/projects":{"get":{"summary":"List accessible projects","responses":{"200":{"description":"Project list"}}}},"/teams":{"get":{"summary":"List accessible teams","responses":{"200":{"description":"Team list"}}}},"/projects/{id}":{"get":{"summary":"Get project","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Project"},"404":{"description":"Not found"}}},"patch":{"summary":"Update project name, subdomain, or entrypoint","responses":{"200":{"description":"Project updated"},"409":{"description":"Subdomain taken"}}},"delete":{"summary":"Delete project permanently","responses":{"200":{"description":"Project deleted"}}}},"/projects/{id}/status":{"patch":{"summary":"Start or stop public delivery","responses":{"200":{"description":"Status updated"}}}},"/projects/{id}/stats":{"get":{"summary":"Get project analytics","responses":{"200":{"description":"Analytics"}}}},"/projects/{id}/versions":{"get":{"summary":"List project versions","responses":{"200":{"description":"Version list"}}}},"/projects/{id}/versions/{versionId}/restore":{"post":{"summary":"Restore a version as a new deployment","responses":{"200":{"description":"Version restored"}}}},"/projects/{id}/domains":{"get":{"summary":"List project domains and DNS state","responses":{"200":{"description":"Domain list"}}},"post":{"summary":"Add a custom domain","responses":{"201":{"description":"Domain added with DNS instructions"}}}},"/projects/{id}/domains/{domainId}/check":{"post":{"summary":"Check DNS and SSL state","responses":{"200":{"description":"Domain checked"}}}},"/projects/{id}/domains/{domainId}":{"delete":{"summary":"Remove a custom domain","responses":{"200":{"description":"Domain removed"}}}},"/deployments":{"post":{"summary":"Create a deployment","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":120}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["archive"],"properties":{"archive":{"type":"string","format":"binary"},"projectId":{"type":"integer"},"name":{"type":"string"},"subdomain":{"type":"string"},"teamId":{"type":"integer"},"entrypoint":{"type":"string"},"target":{"type":"string","enum":["preview","production"]}}}}}},"responses":{"200":{"description":"Existing project deployed"},"201":{"description":"Project created and deployed"},"422":{"description":"Entrypoint required"}}}}}}