openapi: 3.0.3 info: title: LOGILESS API version: v1 description: >- LOGILESS (ロジレス) is a Japanese cloud EC logistics platform that unifies order management (OMS) and warehouse management (WMS) for e-commerce merchants — order intake, inventory sync, allocation, shipping and warehouse operations. The LOGILESS API is a RESTful, OAuth2-protected interface (scoped per merchant) for reading and writing sales orders, outbound/inbound deliveries, articles (products), inventory summaries, warehouses, stores, suppliers and related logistics records. Requests carry a Bearer access token; POST/PUT bodies are JSON (UTF-8). This specification is DERIVED by API Evangelist from the public LOGILESS Developers documentation and is not an official LOGILESS artifact. contact: name: LOGILESS Developers url: https://app2.logiless.com/developer/ x-apievangelist-derived-from: https://app2.logiless.com/developer/documents/specifications servers: - url: https://app2.logiless.com/api/v1 description: Production tags: - name: Sales Orders description: 受注伝票 — order intake, editing, confirmation and reversal - name: Outbound Deliveries description: 出荷伝票 — shipment records - name: Inbound Deliveries description: 入荷予定伝票 — expected inbound shipments - name: Sales Returns description: 売上返品 — returns - name: Inter-Warehouse Transfers description: 倉庫間移動伝票 — stock transfers between warehouses - name: Articles description: 商品マスタ / 商品対応表 — product master and mapping - name: Inventory description: 在庫 / 保管状況 / 日次在庫表 / 在庫操作ログ / 倉庫別発注点 — inventory & storage summaries - name: Locations description: 店舗 / 倉庫 / ロケーション — stores, warehouses and locations - name: Suppliers description: 仕入先マスタ — supplier master components: securitySchemes: oauth2: type: oauth2 description: >- OAuth 2.0 authorization-code flow. Applications must be registered and reviewed (3–5 business days) in the LOGILESS Developers console. Access and refresh tokens are valid for 30 days. Tokens are issued per LOGILESS user and scoped to that user's merchant data. flows: authorizationCode: authorizationUrl: https://app2.logiless.com/oauth/v2/auth tokenUrl: https://app2.logiless.com/oauth2/token refreshUrl: https://app2.logiless.com/oauth2/token scopes: {} parameters: merchantId: name: merchant_id in: path required: true description: Merchant identifier the token is scoped to schema: type: string limit: name: limit in: query required: false description: Number of results to return. Default 20, maximum 500. schema: type: integer default: 20 maximum: 500 page: name: page in: query required: false description: Page number. Default 1. schema: type: integer default: 1 updatedAtFrom: name: updated_at_from in: query required: false description: Filter by update time (from), format Y-m-d H:i:s schema: type: string example: "2018-01-01 23:59:59" updatedAtTo: name: updated_at_to in: query required: false description: Filter by update time (to), format Y-m-d H:i:s schema: type: string example: "2018-01-01 23:59:59" headers: X-RateLimit-Limit: description: Maximum number of requests accepted in the window schema: type: integer X-RateLimit-Remaining: description: Remaining requests before X-RateLimit-Reset schema: type: integer X-RateLimit-Reset: description: Unix timestamp when the request counter resets schema: type: integer responses: BadRequest: description: Validation failed content: application/json: schema: $ref: '#/components/schemas/ValidationError' Unauthorized: description: Missing or invalid authentication content: application/json: schema: $ref: '#/components/schemas/Error' Locked: description: The document status does not allow the change (423) content: application/json: schema: $ref: '#/components/schemas/Error' TooManyRequests: description: Rate limit exceeded headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' content: application/json: schema: $ref: '#/components/schemas/Error' schemas: ValidationError: type: object description: 400 error envelope properties: code: type: integer example: 400 message: type: string example: Validation Failed errors: type: object additionalProperties: type: string Error: type: object description: Error envelope for non-400 status codes properties: error: type: string error_description: type: string SalesOrder: type: object properties: id: type: integer readOnly: true description: Unique numeric identifier used for API access object_code: type: string description: 受注管理番号 code: type: string description: 受注コード (required) parent_code: type: string document_status: type: string readOnly: true description: 伝票ステータス allocation_status: type: string readOnly: true delivery_status: type: string readOnly: true incoming_payment_status: type: string authorization_status: type: string customer_code: type: string buyer_name1: type: string description: 購入者名(1) (required) buyer_email: type: string recipient_name1: type: string description: お届け先名(1) (required) recipient_post_code: type: string recipient_prefecture: type: string recipient_address1: type: string description: お届け先 住所1 (required) subtotal: type: integer readOnly: true tax_total: type: integer readOnly: true total: type: integer readOnly: true total_quantity: type: integer cod_total: type: integer lines: type: array items: $ref: '#/components/schemas/SalesOrderLine' confirmations: type: array items: type: object updated_at: type: string readOnly: true example: "2018-01-01 23:59:59" required: - code - buyer_name1 - recipient_name1 - recipient_address1 SalesOrderLine: type: object properties: id: type: integer readOnly: true article_code: type: string quantity: type: integer SalesOrderList: type: object properties: data: type: array items: $ref: '#/components/schemas/SalesOrder' current_page: type: integer limit: type: integer Article: type: object properties: id: type: integer readOnly: true code: type: string name: type: string article_type: type: string Supplier: type: object properties: id: type: integer readOnly: true code: type: string name: type: string security: - oauth2: [] paths: /merchant/{merchant_id}/sales_orders: get: tags: [Sales Orders] operationId: listSalesOrders summary: List sales orders (受注伝票の一覧を取得) parameters: - $ref: '#/components/parameters/merchantId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/updatedAtFrom' - $ref: '#/components/parameters/updatedAtTo' responses: '200': description: A page of sales orders headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' content: application/json: schema: $ref: '#/components/schemas/SalesOrderList' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' /merchant/{merchant_id}/sales_orders/search: post: tags: [Sales Orders] operationId: searchSalesOrders summary: Search sales orders by ids or codes parameters: - $ref: '#/components/parameters/merchantId' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array items: type: integer codes: type: array items: type: string responses: '200': description: Matching sales orders content: application/json: schema: $ref: '#/components/schemas/SalesOrderList' /merchant/{merchant_id}/sales_orders/new: post: tags: [Sales Orders] operationId: createSalesOrder summary: Create a sales order (受注伝票を登録) parameters: - $ref: '#/components/parameters/merchantId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SalesOrder' responses: '200': description: Created sales order content: application/json: schema: $ref: '#/components/schemas/SalesOrder' '400': $ref: '#/components/responses/BadRequest' /merchant/{merchant_id}/sales_orders/new/multiple: post: tags: [Sales Orders] operationId: createSalesOrdersMultiple summary: Create multiple sales orders in one request parameters: - $ref: '#/components/parameters/merchantId' requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/SalesOrder' responses: '200': description: Created sales orders /merchant/{merchant_id}/sales_orders/{id}: put: tags: [Sales Orders] operationId: updateSalesOrder summary: Update a sales order parameters: - $ref: '#/components/parameters/merchantId' - name: id in: path required: true schema: type: integer requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SalesOrder' responses: '200': description: Updated sales order '423': $ref: '#/components/responses/Locked' /merchant/{merchant_id}/sales_orders/{id}/reversal: post: tags: [Sales Orders] operationId: reverseSalesOrder summary: Reverse (cancel) a sales order parameters: - $ref: '#/components/parameters/merchantId' - name: id in: path required: true schema: type: integer responses: '200': description: Reversed /merchant/{merchant_id}/sales_orders/{id}/sales_order_lines/new: post: tags: [Sales Orders] operationId: addSalesOrderLine summary: Add a line to a sales order parameters: - $ref: '#/components/parameters/merchantId' - name: id in: path required: true schema: type: integer requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SalesOrderLine' responses: '200': description: Line added /merchant/{merchant_id}/sales_orders/{sales_order_id}/sales_order_confirmations/new: post: tags: [Sales Orders] operationId: createSalesOrderConfirmation summary: Put a sales order into pending-confirmation state parameters: - $ref: '#/components/parameters/merchantId' - name: sales_order_id in: path required: true schema: type: integer responses: '200': description: Confirmation created /merchant/{merchant_id}/sales_orders/{sales_order_id}/sales_order_confirmations/{sales_order_confirmation_id}/confirmation: post: tags: [Sales Orders] operationId: confirmSalesOrder summary: Confirm a pending sales order parameters: - $ref: '#/components/parameters/merchantId' - name: sales_order_id in: path required: true schema: type: integer - name: sales_order_confirmation_id in: path required: true schema: type: integer responses: '200': description: Confirmed /merchant/{merchant_id}/outbound_deliveries: get: tags: [Outbound Deliveries] operationId: listOutboundDeliveries summary: List outbound deliveries (出荷伝票の一覧を取得) parameters: - $ref: '#/components/parameters/merchantId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: A page of outbound deliveries /merchant/{merchant_id}/inbound_deliveries: get: tags: [Inbound Deliveries] operationId: listInboundDeliveries summary: List inbound deliveries (入荷予定伝票の一覧を取得) parameters: - $ref: '#/components/parameters/merchantId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: A page of inbound deliveries /merchant/{merchant_id}/inbound_deliveries/new: post: tags: [Inbound Deliveries] operationId: createInboundDelivery summary: Create an inbound delivery parameters: - $ref: '#/components/parameters/merchantId' responses: '200': description: Created /merchant/{merchant_id}/inbound_deliveries/{id}/reversal: post: tags: [Inbound Deliveries] operationId: reverseInboundDelivery summary: Reverse an inbound delivery parameters: - $ref: '#/components/parameters/merchantId' - name: id in: path required: true schema: type: integer responses: '200': description: Reversed /merchant/{merchant_id}/sales_returns: get: tags: [Sales Returns] operationId: listSalesReturns summary: List sales returns (売上返品の一覧を取得) parameters: - $ref: '#/components/parameters/merchantId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: A page of sales returns /merchant/{merchant_id}/inter_warehouse_transfers: get: tags: [Inter-Warehouse Transfers] operationId: listInterWarehouseTransfers summary: List inter-warehouse transfers parameters: - $ref: '#/components/parameters/merchantId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: A page of transfers /merchant/{merchant_id}/inter_warehouse_transfers/new: post: tags: [Inter-Warehouse Transfers] operationId: createInterWarehouseTransfer summary: Create an inter-warehouse transfer parameters: - $ref: '#/components/parameters/merchantId' responses: '200': description: Created /merchant/{merchant_id}/articles: get: tags: [Articles] operationId: listArticles summary: List articles / product master (商品マスタの一覧を取得) parameters: - $ref: '#/components/parameters/merchantId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: A page of articles content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Article' /merchant/{merchant_id}/articles/new: post: tags: [Articles] operationId: createArticle summary: Create an article parameters: - $ref: '#/components/parameters/merchantId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Article' responses: '200': description: Created article /merchant/{merchant_id}/articles/new/multiple: post: tags: [Articles] operationId: createArticlesMultiple summary: Create multiple articles parameters: - $ref: '#/components/parameters/merchantId' requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/Article' responses: '200': description: Created /merchant/{merchant_id}/articles/{id}: put: tags: [Articles] operationId: updateArticle summary: Update an article parameters: - $ref: '#/components/parameters/merchantId' - name: id in: path required: true schema: type: integer requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Article' responses: '200': description: Updated /merchant/{merchant_id}/articles/{id}/delete: delete: tags: [Articles] operationId: deleteArticle summary: Delete an article parameters: - $ref: '#/components/parameters/merchantId' - name: id in: path required: true schema: type: integer responses: '200': description: Deleted /merchant/{merchant_id}/article_maps: get: tags: [Articles] operationId: listArticleMaps summary: List article maps (商品対応表の一覧を取得) parameters: - $ref: '#/components/parameters/merchantId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: A page of article maps /merchant/{merchant_id}/logical_inventory_summaries: get: tags: [Inventory] operationId: listLogicalInventorySummaries summary: List logical inventory summaries (在庫の一覧を取得) parameters: - $ref: '#/components/parameters/merchantId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: A page of logical inventory summaries /merchant/{merchant_id}/logical_inventory_summaries/search: post: tags: [Inventory] operationId: searchLogicalInventorySummaries summary: Search logical inventory summaries by ids/codes parameters: - $ref: '#/components/parameters/merchantId' responses: '200': description: Matching summaries /merchant/{merchant_id}/actual_inventory_summaries: get: tags: [Inventory] operationId: listActualInventorySummaries summary: List actual (storage) inventory summaries (保管状況の一覧を取得) parameters: - $ref: '#/components/parameters/merchantId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: A page of actual inventory summaries /merchant/{merchant_id}/actual_inventory_summaries/search: post: tags: [Inventory] operationId: searchActualInventorySummaries summary: Search actual inventory summaries by ids/codes parameters: - $ref: '#/components/parameters/merchantId' responses: '200': description: Matching summaries /merchant/{merchant_id}/daily_inventory_summaries: get: tags: [Inventory] operationId: listDailyInventorySummaries summary: List daily inventory summaries (日次在庫表の一覧を取得) parameters: - $ref: '#/components/parameters/merchantId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: A page of daily inventory summaries /merchant/{merchant_id}/transaction_logs: get: tags: [Inventory] operationId: listTransactionLogs summary: List inventory transaction logs (在庫操作ログの一覧を取得) parameters: - $ref: '#/components/parameters/merchantId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: A page of transaction logs /merchant/{merchant_id}/reorder_points: get: tags: [Inventory] operationId: listReorderPoints summary: List per-warehouse reorder points (倉庫別発注点の一覧を取得) parameters: - $ref: '#/components/parameters/merchantId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: A page of reorder points /merchant/{merchant_id}/stores: get: tags: [Locations] operationId: listStores summary: List stores (店舗の一覧を取得) parameters: - $ref: '#/components/parameters/merchantId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: A page of stores /merchant/{merchant_id}/warehouses: get: tags: [Locations] operationId: listWarehouses summary: List warehouses (倉庫の一覧を取得) parameters: - $ref: '#/components/parameters/merchantId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: A page of warehouses /merchant/{merchant_id}/warehouses/{warehouse_id}/locations: get: tags: [Locations] operationId: listLocations summary: List locations within a warehouse (ロケーションの一覧を取得) parameters: - $ref: '#/components/parameters/merchantId' - name: warehouse_id in: path required: true schema: type: integer - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: A page of locations /merchant/{merchant_id}/suppliers: get: tags: [Suppliers] operationId: listSuppliers summary: List suppliers (仕入先マスタの一覧を取得) parameters: - $ref: '#/components/parameters/merchantId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': description: A page of suppliers content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Supplier' /merchant/{merchant_id}/suppliers/new: post: tags: [Suppliers] operationId: createSupplier summary: Create a supplier parameters: - $ref: '#/components/parameters/merchantId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Supplier' responses: '200': description: Created supplier /merchant/{merchant_id}/suppliers/{id}: put: tags: [Suppliers] operationId: updateSupplier summary: Update a supplier parameters: - $ref: '#/components/parameters/merchantId' - name: id in: path required: true schema: type: integer requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Supplier' responses: '200': description: Updated