openapi: 3.0.3 info: title: 'sql-designer API Documentation' description: 'ERD tool for Mysql and Postgres' version: 1.0.0 servers: - url: 'https://sql-designer.com' tags: - name: Authentication description: '' - name: Diagrams description: '' - name: Endpoints description: '' paths: /api/register: post: summary: '' operationId: postApiRegister description: '' parameters: [] responses: { } tags: - Authentication requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: "The user's email address. Must be unique." example: user@example.com password: type: string description: 'The password. Min 8 chars, mixed case and numbers required.' example: Secret1! required: - email - password /api/login: post: summary: '' operationId: postApiLogin description: '' parameters: [] responses: { } tags: - Authentication requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: "The user's email address." example: user@example.com password: type: string description: "The user's password." example: secret required: - email - password /api/logout: post: summary: '' operationId: postApiLogout description: '' parameters: [] responses: { } tags: - Authentication /api/email/resend: post: summary: '' operationId: postApiEmailResend description: '' parameters: [] responses: { } tags: - Authentication '/api/diagrams/embed/{token}': get: summary: '' operationId: getApiDiagramsEmbedToken description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'No query results for model [App\Models\Diagram].' properties: message: type: string example: 'No query results for model [App\Models\Diagram].' tags: - Diagrams parameters: - in: path name: token description: '' example: consequatur required: true schema: type: string '/api/diagrams/shared/{token}': get: summary: '' operationId: getApiDiagramsSharedToken description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Diagrams patch: summary: '' operationId: patchApiDiagramsSharedToken description: '' parameters: [] responses: { } tags: - Diagrams parameters: - in: path name: token description: '' example: consequatur required: true schema: type: string /api/diagrams: get: summary: '' operationId: getApiDiagrams description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Diagrams post: summary: '' operationId: postApiDiagrams description: '' parameters: [] responses: { } tags: - Diagrams requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'The diagram name. Must be unique per user.' example: 'My ERD' db_type: type: string description: 'The database type. Allowed: mysql, postgresql.' example: postgresql '/api/diagrams/{diagram_id}': get: summary: '' operationId: getApiDiagramsDiagram_id description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Diagrams put: summary: '' operationId: putApiDiagramsDiagram_id description: '' parameters: [] responses: { } tags: - Diagrams requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'The diagram name. Must be unique per user.' example: 'My ERD' db_type: type: string description: 'The database type. Allowed: mysql, postgresql.' example: postgresql delete: summary: '' operationId: deleteApiDiagramsDiagram_id description: '' parameters: [] responses: { } tags: - Diagrams parameters: - in: path name: diagram_id description: 'The ID of the diagram.' example: 3 required: true schema: type: integer '/api/diagrams/{diagram_id}/share': post: summary: '' operationId: postApiDiagramsDiagram_idShare description: '' parameters: [] responses: { } tags: - Diagrams delete: summary: '' operationId: deleteApiDiagramsDiagram_idShare description: '' parameters: [] responses: { } tags: - Diagrams patch: summary: '' operationId: patchApiDiagramsDiagram_idShare description: '' parameters: [] responses: { } tags: - Diagrams parameters: - in: path name: diagram_id description: 'The ID of the diagram.' example: 3 required: true schema: type: integer '/api/diagrams/{diagram_id}/visitors': get: summary: '' operationId: getApiDiagramsDiagram_idVisitors description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Diagrams parameters: - in: path name: diagram_id description: 'The ID of the diagram.' example: 3 required: true schema: type: integer '/api/diagrams/{diagram_id}/visitors/{visitor_id}/approve': post: summary: '' operationId: postApiDiagramsDiagram_idVisitorsVisitor_idApprove description: '' parameters: [] responses: { } tags: - Diagrams parameters: - in: path name: diagram_id description: 'The ID of the diagram.' example: 3 required: true schema: type: integer - in: path name: visitor_id description: 'The ID of the visitor.' example: 2 required: true schema: type: integer '/api/diagrams/{diagram_id}/visitors/{visitor_id}': patch: summary: '' operationId: patchApiDiagramsDiagram_idVisitorsVisitor_id description: '' parameters: [] responses: { } tags: - Diagrams parameters: - in: path name: diagram_id description: 'The ID of the diagram.' example: 3 required: true schema: type: integer - in: path name: visitor_id description: 'The ID of the visitor.' example: 2 required: true schema: type: integer '/api/diagrams/sql/import/{diagram_id}': post: summary: '' operationId: postApiDiagramsSqlImportDiagram_id description: '' parameters: [] responses: { } tags: - Diagrams parameters: - in: path name: diagram_id description: 'The ID of the diagram.' example: 3 required: true schema: type: integer '/api/diagrams/sql/import-status/{diagram_id}': get: summary: '' operationId: getApiDiagramsSqlImportStatusDiagram_id description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Diagrams parameters: - in: path name: diagram_id description: 'The ID of the diagram.' example: 3 required: true schema: type: integer '/api/diagrams/sql/export/{diagram_id}': post: summary: '' operationId: postApiDiagramsSqlExportDiagram_id description: '' parameters: [] responses: { } tags: - Diagrams parameters: - in: path name: diagram_id description: 'The ID of the diagram.' example: 3 required: true schema: type: integer '/api/diagrams/sql/export-status/{diagram_id}': get: summary: '' operationId: getApiDiagramsSqlExportStatusDiagram_id description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Diagrams parameters: - in: path name: diagram_id description: 'The ID of the diagram.' example: 3 required: true schema: type: integer '/api/diagrams/json/export/{diagram_id}': get: summary: '' operationId: getApiDiagramsJsonExportDiagram_id description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Diagrams parameters: - in: path name: diagram_id description: 'The ID of the diagram.' example: 3 required: true schema: type: integer '/api/diagrams/migration/export/{diagram_id}': get: summary: '' operationId: getApiDiagramsMigrationExportDiagram_id description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Diagrams parameters: - in: path name: diagram_id description: 'The ID of the diagram.' example: 3 required: true schema: type: integer '/api/diagrams/{diagram_id}/changelog': get: summary: '' operationId: getApiDiagramsDiagram_idChangelog description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Diagrams post: summary: '' operationId: postApiDiagramsDiagram_idChangelog description: '' parameters: [] responses: { } tags: - Diagrams requestBody: required: true content: application/json: schema: type: object properties: action: type: string description: 'Must not be greater than 100 characters.' example: vmqeopfuudtdsufvyvddq details: type: object description: '' example: null properties: { } nullable: true required: - action parameters: - in: path name: diagram_id description: 'The ID of the diagram.' example: 3 required: true schema: type: integer /api/feedback: post: summary: '' operationId: postApiFeedback description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: "The sender's email address." example: user@example.com message: type: string description: 'The feedback message.' example: 'I love this tool!' required: - message /api/user: get: summary: '' operationId: getApiUser description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints