endpoints: robots: - index: “indexes/robot” path: “/robots” - index: “robot” path: “/robots/:id”
tags:
- name: “Robots” description: “Robot management operations”
- name: “AI” description: “Artificial Intelligence operations”
components: schemas: Robot: type: “object” properties: id: type: “integer” description: “Unique identifier for the robot” name: type: “string” description: “Name of the robot” status: type: “string” enum: [“active”, “inactive”, “maintenance”] description: “Current status of the robot” manufacturer: type: “string” description: “Manufacturer of the robot” model: type: “string” description: “Model of the robot” manufacturing_date: type: “string” format: “date” description: “Date when the robot was manufactured” specs: type: “object” properties: max_speed: type: “number” description: “Maximum speed in m/s” payload_capacity: type: “number” description: “Maximum payload in kg” reach: type: “number” description: “Maximum reach in meters” degrees_of_freedom: type: “integer” description: “Number of degrees of freedom” accuracy: type: “number” description: “Positioning accuracy in mm” repeatability: type: “number” description: “Repeatability in mm” power_consumption: type: “number” description: “Power consumption in kW” weight: type: “number” description: “Weight in kg” dimensions: type: “object” properties: length: type: “number” description: “Length in mm” width: type: “number” description: “Width in mm” height: type: “number” description: “Height in mm” capabilities: type: “array” items: type: “string” description: “List of robot capabilities” applications: type: “array” items: type: “string” description: “List of suitable applications” sensors: type: “array” items: type: “string” description: “List of installed sensors” actuators: type: “array” items: type: “string” description: “List of installed actuators” programming_language: type: “string” description: “Programming language used” communication_protocols: type: “array” items: type: “string” description: “Supported communication protocols” safety_features: type: “array” items: type: “string” description: “Safety features” certifications: type: “array” items: type: “string” description: “Certifications” image_url: type: “string” description: “URL to robot image” documentation_url: type: “string” description: “URL to documentation” manufacturer_website: type: “string” description: “Manufacturer website URL” price: type: “number” description: “Price in USD” warranty_period: type: “integer” description: “Warranty period in months” maintenance_interval: type: “integer” description: “Maintenance interval in hours” created_at: type: “string” format: “date-time” description: “Creation timestamp” updated_at: type: “string” format: “date-time” description: “Last update timestamp” required: - name - manufacturer - model
RobotCreate:
type: "object"
required:
- name
- manufacturer
- model
- status
properties:
name:
type: "string"
manufacturer:
type: "string"
model:
type: "string"
status:
type: "string"
enum: ["active", "inactive", "maintenance"]
manufacturing_date:
type: "string"
format: "date"
specs:
$ref: "#/components/schemas/RobotSpecs"
capabilities:
type: "array"
items:
type: "string"
applications:
type: "array"
items:
type: "string"
sensors:
type: "array"
items:
type: "string"
actuators:
type: "array"
items:
type: "string"
programming_language:
type: "string"
communication_protocols:
type: "array"
items:
type: "string"
safety_features:
type: "array"
items:
type: "string"
certifications:
type: "array"
items:
type: "string"
image_url:
type: "string"
documentation_url:
type: "string"
manufacturer_website:
type: "string"
price:
type: "number"
warranty_period:
type: "integer"
maintenance_interval:
type: "integer"
RobotUpdate:
type: "object"
properties:
name:
type: "string"
status:
type: "string"
enum: ["active", "inactive", "maintenance"]
specs:
$ref: "#/components/schemas/RobotSpecs"
capabilities:
type: "array"
items:
type: "string"
applications:
type: "array"
items:
type: "string"
sensors:
type: "array"
items:
type: "string"
actuators:
type: "array"
items:
type: "string"
programming_language:
type: "string"
communication_protocols:
type: "array"
items:
type: "string"
safety_features:
type: "array"
items:
type: "string"
certifications:
type: "array"
items:
type: "string"
image_url:
type: "string"
documentation_url:
type: "string"
manufacturer_website:
type: "string"
price:
type: "number"
warranty_period:
type: "integer"
maintenance_interval:
type: "integer"
RobotSpecs:
type: "object"
properties:
max_speed:
type: "number"
payload_capacity:
type: "number"
reach:
type: "number"
degrees_of_freedom:
type: "integer"
accuracy:
type: "number"
repeatability:
type: "number"
power_consumption:
type: "number"
weight:
type: "number"
dimensions:
type: "object"
properties:
length:
type: "number"
width:
type: "number"
height:
type: "number"
Error:
type: "object"
properties:
code:
type: "integer"
message:
type: "string"
RobotListResponse:
type: "object"
properties:
total:
type: "integer"
page:
type: "integer"
page_size:
type: "integer"
data:
type: "array"
items:
$ref: "#/components/schemas/Robot"
securitySchemes: bearerAuth: type: “http” scheme: “bearer” bearerFormat: “JWT”
security:
- bearerAuth: []
paths: /robots: get: summary: “Get all robots” description: “Retrieve a list of all robots with optional filtering” tags: - “Robots” parameters: - name: “status” in: “query” schema: type: “string” enum: [“active”, “inactive”, “maintenance”] description: “Filter by status” - name: “manufacturer” in: “query” schema: type: “string” description: “Filter by manufacturer” - name: “application” in: “query” schema: type: “string” description: “Filter by application” - name: “page” in: “query” schema: type: “integer” default: 1 description: “Page number” - name: “page_size” in: “query” schema: type: “integer” default: 20 description: “Page size” responses: “200”: description: “Successful response” content: application/json: schema: $ref: “#/components/schemas/RobotListResponse” “400”: description: “Bad request” content: application/json: schema: $ref: “#/components/schemas/Error” “401”: description: “Unauthorized” content: application/json: schema: $ref: “#/components/schemas/Error” “500”: description: “Internal server error” content: application/json: schema: $ref: “#/components/schemas/Error”
post:
summary: "Create a new robot"
description: "Add a new robot to the system"
tags:
- "Robots"
security:
- bearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/RobotCreate"
responses:
"201":
description: "Robot created successfully"
content:
application/json:
schema:
$ref: "#/components/schemas/Robot"
"400":
description: "Bad request"
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
"401":
description: "Unauthorized"
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
"500":
description: "Internal server error"
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/robots/{id}: get: summary: “Get a robot by ID” description: “Retrieve detailed information about a specific robot” tags: - “Robots” parameters: - name: “id” in: “path” required: true schema: type: “integer” description: “Robot ID” responses: “200”: description: “Successful response” content: application/json: schema: $ref: “#/components/schemas/Robot” “404”: description: “Robot not found” content: application/json: schema: $ref: “#/components/schemas/Error” “500”: description: “Internal server error” content: application/json: schema: $ref: “#/components/schemas/Error”
put:
summary: "Update a robot"
description: "Update an existing robot's information"
tags:
- "Robots"
security:
- bearerAuth: []
parameters:
- name: "id"
in: "path"
required: true
schema:
type: "integer"
description: "Robot ID"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/RobotUpdate"
responses:
"200":
description: "Robot updated successfully"
content:
application/json:
schema:
$ref: "#/components/schemas/Robot"
"400":
description: "Bad request"
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
"401":
description: "Unauthorized"
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
"404":
description: "Robot not found"
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
"500":
description: "Internal server error"
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
delete:
summary: "Delete a robot"
description: "Remove a robot from the system"
tags:
- "Robots"
security:
- bearerAuth: []
parameters:
- name: "id"
in: "path"
required: true
schema:
type: "integer"
description: "Robot ID"
responses:
"204":
description: "Robot deleted successfully"
"401":
description: "Unauthorized"
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
"404":
description: "Robot not found"
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
"500":
description: "Internal server error"
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
info: title: “Robot Management API” description: “API for managing industrial robots” version: “1.0.0” contact: name: “API Support” email: “[email protected]”

