Logiless Sales Orders API

受注伝票 — order intake, editing, confirmation and reversal

Operations 9

GET /merchant/{merchant_id}/sales_orders List sales orders (受注伝票の一覧を取得) #
POST /merchant/{merchant_id}/sales_orders/search Search sales orders by ids or codes #
POST /merchant/{merchant_id}/sales_orders/new Create a sales order (受注伝票を登録) #
POST /merchant/{merchant_id}/sales_orders/new/multiple Create multiple sales orders in one request #
PUT /merchant/{merchant_id}/sales_orders/{id} Update a sales order #
POST /merchant/{merchant_id}/sales_orders/{id}/reversal Reverse (cancel) a sales order #
POST /merchant/{merchant_id}/sales_orders/{id}/sales_order_lines/new Add a line to a sales order #
POST /merchant/{merchant_id}/sales_orders/{sales_order_id}/sales_order_confirmations/new Put a sales order into pending-confirmation state #
POST /merchant/{merchant_id}/sales_orders/{sales_order_id}/sales_order_confirmations/{sales_order_confirmation_id}/confirmation Confirm a pending sales order #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/logiless-sales-orders-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

logiless-sales-orders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: LOGILESS Articles Sales Orders 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
security:
- oauth2: []
tags:
- name: Sales Orders
  description: 受注伝票 — order intake, editing, confirmation and reversal
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
components:
  schemas:
    SalesOrderList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/SalesOrder'
        current_page:
          type: integer
        limit:
          type: integer
    SalesOrderLine:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        article_code:
          type: string
        quantity:
          type: integer
    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
    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
  headers:
    X-RateLimit-Reset:
      description: Unix timestamp when the request counter resets
      schema:
        type: integer
    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
  parameters:
    merchantId:
      name: merchant_id
      in: path
      required: true
      description: Merchant identifier the token is scoped to
      schema:
        type: string
    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'
    limit:
      name: limit
      in: query
      required: false
      description: Number of results to return. Default 20, maximum 500.
      schema:
        type: integer
        default: 20
        maximum: 500
    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'
  responses:
    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'
    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'
  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: {}