{
  "openapi": "3.1.0",
  "info": {
    "title": "Expedy Printers API",
    "version": "v2",
    "description": "Reference for the printers endpoints of the Expedy API. Generated from https://docs.expedy.io.",
    "contact": {
      "name": "Expedy",
      "url": "https://docs.expedy.io"
    }
  },
  "servers": [
    {
      "url": "https://www.expedy.fr/api/v2",
      "description": "Production"
    }
  ],
  "paths": {
    "/printers/{printer_uid}/print": {
      "post": {
        "summary": "Create a Print Job",
        "description": "This endpoint allows you to send a print job to the designated thermal printer.",
        "operationId": "post_printers_Byprinter_uid_print",
        "tags": [
          "printers"
        ],
        "parameters": [
          {
            "name": "printer_uid",
            "in": "path",
            "required": true,
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "externalDocs": {
          "url": "https://docs.expedy.io/en/expedy-print/api-print-v2/create-a-print-job",
          "description": "Full documentation for Create a Print Job"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "printer_msg": {
                    "type": "string",
                    "example": "The message to be printed:\\n  - ... in the kitchen,\\n  - ... in the lobby\\n  - ... or a delivery slip pdf url to be printed at the pick & pack departement\\n\\nReally any information, Qrcode, Image etc..  anywhere this printer is positionnable ..."
                  },
                  "origin": {
                    "type": "string",
                    "example": "Your defined origin tag.. a uri, a name .."
                  }
                },
                "required": [
                  "printer_msg"
                ]
              },
              "example": {
                "printer_msg": "The message to be printed:\n  - ... in the kitchen,\n  - ... in the lobby\n  - ... or a delivery slip pdf url to be printed at the pick & pack departement\n\nReally any information, Qrcode, Image etc..  anywhere this printer is positionnable ...",
                "origin": "Your defined origin tag.. a uri, a name .."
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `request_uid` | `string` | No |  (ex: `1X5ERXL94BYVWHP92DK3MCASUGJ`) |\n\n**Response Example:**\n\n```json\n{\n  \"request_uid\": \"1X5ERXL94BYVWHP92DK3MCASUGJ\"\n}\n```",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "request_uid": {
                      "type": "string",
                      "example": "1X5ERXL94BYVWHP92DK3MCASUGJ"
                    }
                  }
                },
                "example": {
                  "request_uid": "1X5ERXL94BYVWHP92DK3MCASUGJ"
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKeyAuth": []
          }
        ]
      }
    },
    "/printers/all": {
      "get": {
        "summary": "List all your printers",
        "description": "This endpoint allows you to list all your printers",
        "operationId": "get_printers_all",
        "tags": [
          "printers"
        ],
        "externalDocs": {
          "url": "https://docs.expedy.io/en/expedy-print/api-print-v2/get-printers-all",
          "description": "Full documentation for List all your printers"
        },
        "responses": {
          "200": {
            "description": "OK\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `printer_uid` | `string` | No |  |\n| `printer_name` | `string` | No |  |\n| `printer_status` | `string` | No |  |\n| `printer_width` | `string` | No |  |\n| `printer_graphic_mode` | `string` | No |  |\n| `printer_print_mode` | `string` | No |  |\n\n**Response Example:**\n\n```json\n[\n  {\n    \"printer_uid\": \"UP3VS5JXRYA\",\n    \"printer_name\": \"Lobby\",\n    \"printer_status\": \"1\",\n    \"printer_width\": \"58\",\n    \"printer_graphic_mode\": \"0\",\n    \"printer_print_mode\": \"0\"\n  },\n  {\n    \"printer_uid\": \"MMAAZ112PI\",\n    \"printer_name\": \"Kitchen\",\n    \"printer_status\": \"1\",\n    \"printer_width\": \"80\",\n    \"printer_graphic_mode\": \"0\",\n    \"printer_print_mode\": \"0\"\n  },\n  {\n    \"printer_uid\": \"8L35EGFH8S7\",\n    \"printer_name\": \"Warehouse\",\n    \"printer_status\": \"1\",\n    \"printer_width\": \"104\",\n    \"printer_graphic_mode\": \"0\",\n    \"printer_print_mode\": \"1\"\n  }\n]\n```",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "printer_uid": {
                      "type": "string"
                    },
                    "printer_name": {
                      "type": "string"
                    },
                    "printer_status": {
                      "type": "string"
                    },
                    "printer_width": {
                      "type": "string"
                    },
                    "printer_graphic_mode": {
                      "type": "string"
                    },
                    "printer_print_mode": {
                      "type": "string"
                    }
                  }
                },
                "example": [
                  {
                    "printer_uid": "UP3VS5JXRYA",
                    "printer_name": "Lobby",
                    "printer_status": "1",
                    "printer_width": "58",
                    "printer_graphic_mode": "0",
                    "printer_print_mode": "0"
                  },
                  {
                    "printer_uid": "MMAAZ112PI",
                    "printer_name": "Kitchen",
                    "printer_status": "1",
                    "printer_width": "80",
                    "printer_graphic_mode": "0",
                    "printer_print_mode": "0"
                  },
                  {
                    "printer_uid": "8L35EGFH8S7",
                    "printer_name": "Warehouse",
                    "printer_status": "1",
                    "printer_width": "104",
                    "printer_graphic_mode": "0",
                    "printer_print_mode": "1"
                  }
                ]
              }
            }
          }
        },
        "security": [
          {
            "apiKeyAuth": []
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "apiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "description": "API key issued by Expedy. Contact support to obtain one."
      }
    }
  },
  "tags": [
    {
      "name": "printers"
    }
  ]
}