openapi: 3.0.0 info: title: Ordoro API Documentation Address Manufacturing Order API description: "# Introduction\n\nThe Ordoro API can be used to access data or integrate to add functionality to Ordoro. The Ordoro API uses the application/json Content-Type. The Ordoro API documentation is in beta. [See our forum](https://forums.ordoro.com) for questions or comments to help us improve the docs or request features.\n#### Note: Any routes with a /v3 designation will not allow for trailing slashes while all other routes and endpoints will require a trailing slash.\n\n# Authentication\n\nThe Ordoro API uses [Basic HTTP Authentication](http://en.wikipedia.org/wiki/Basic_access_authentication). Please create API keys via Settings->Account Settings->API Keys in app and use those for basic auth in your API requests.\n\n# Additional Resources\n\nFor a look at some code examples on how to use the API check out our github repo https://github.com/ordoro/api-examples.\n\n# API Responses\n\nMost of our endpoints return either a list of objects or a single object instance. They share similar response shapes.\n\n## List endpoints\n\nList endpoints respond with the following parameters:\n\n| Name | Type | Description |\n|----------------|--------------------------|-------------|\n| `count` | int | The total number of objects returned by a query ( **not** necessarily the number of objects included in a response). |\n| `limit` | int | The maximum number of objects returned per request. Defaults to 10. Maximum is 100. You can set this as a URL parameter. |\n| `offset` | int | The number of objects being offset in the response. May be altered as a URL Parameter. |\n| `` | array | An array of objects. The name of the model should be singular. For example, the /v3/order endpoint will have an `order` parameter, as opposed to `orders`.|\n\nHere is an example response for the `/v3/order` list endpoint.\n\n```\n{\n \"count\": 2,\n \"limit\": 10,\n \"offset\" 0,\n \"order\": [\n {\n // an order object\n },\n {\n // another order object\n }\n ]\n}\n```\n\n## Instance endpoints\n\nInstance endpoints return a single instance of a serialized model. `/v3/order/{order_number}` is an example of an instance endpoint.\n\n# Error Handling\n\nError responses contain the following parameters:\n\n| Name | Type | Description |\n|-----------------|------------------|----------------------------------------------------------------------|\n| `error_message` | string | Some human-readable error message. |\n| `param` | string or `null` | The name of the corresponding parameter, or null for general errors. |\n\n# Rate Limiting\n\nAPI requests will be limited to 500 requests per minute. Any requests over this threshold will respond with a 429 status code." contact: {} version: '1.0' servers: - url: https://api.ordoro.com/ variables: {} tags: - name: Manufacturing Order description: Manufacturing Orders are used for creating and tracking Bill of Material orders. A Manufacturing Order is assigned to a warehouse and may have multiple lines and tags. paths: /v3/manufacturing_order: get: tags: - Manufacturing Order summary: List Manufacturing Orders description: '' operationId: ManufacturingOrder_GET parameters: - $ref: '#/components/parameters/offsetParam' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/searchParam' - name: sort in: query description: '' style: form explode: true schema: $ref: '#/components/schemas/ManufacturingOrderSort' - name: status in: query description: '' style: form explode: true schema: $ref: '#/components/schemas/ManufacturingOrderStatus' - name: tag in: query description: 'Filter by tag name. Can be repeated for multiple tags. Note: Cannot be included if `untagged` is also passed. ' style: form schema: type: array items: type: string - name: tag_filter_by in: query description: 'Tag filtering logic: * `or` [default] return manufacturing orders that contain any of the supplied tags * `and` returns manufacturing orders containing ALL of the supplied tags * `only` returns manufacturing orders containing ONLY the supplied tags * `not` returns manufacturing orders that do not contain one or more of the supplied tags ' style: form explode: true schema: type: string - name: untagged in: query description: 'Filter untagged manufacturing orders Note: Cannot be included if `tags` are also passed. ' style: form explode: true schema: type: boolean - name: reference_id in: query description: '' style: form explode: true schema: type: array items: type: string - name: warehouse_id in: query description: '' style: form explode: true schema: type: array items: type: integer responses: '200': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/manufacturing_order_list' deprecated: false post: tags: - Manufacturing Order summary: Create a Manufacturing Order description: '' operationId: ManufacturingOrder_POST parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/post_manufacturing_order' responses: '201': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/manufacturing_order' deprecated: false /v3/manufacturing_order/{reference_id}: get: tags: - Manufacturing Order summary: Get Manufacturing Order by ID description: '' operationId: ManufacturingOrderByRefId_GET responses: '200': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/manufacturing_order' deprecated: false put: tags: - Manufacturing Order summary: Update Manufacturing Order by ID description: '' operationId: ManufacturingOrderByRefId_PUT requestBody: content: application/json: schema: $ref: '#/components/schemas/put_manufacturing_order' responses: '200': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/manufacturing_order' deprecated: false /v3/manufacturing_order/counts: get: tags: - Manufacturing Order summary: Get Manufacturing Order Counts description: '' operationId: ManufacturingOrderCounts_GET requestBody: content: application/json: schema: $ref: '#/components/schemas/get_manufacturing_order_count' responses: '200': description: '' headers: {} deprecated: false /v3/manufacturing_order/tag: post: tags: - Manufacturing Order summary: Create a Manufacturing Order Tag description: '' operationId: ManufacturingOrderTags_POST parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/post_v3_tag' responses: '201': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/v3_tag' get: tags: - Manufacturing Order summary: Get Manufacturing Order Tags description: '' operationId: ManufacturingOrderTags_GET parameters: [] responses: '200': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/v3_tag_list' deprecated: false /v3/manufacturing_order/tag/{name}: get: tags: - Manufacturing Order summary: Get Manufacturing Order Tag by Name description: '' operationId: ManufacturingOrderTag_GET parameters: [] responses: '200': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/v3_tag' deprecated: false put: tags: - Manufacturing Order summary: Update a Manufacturing Order Tag by Name description: '' operationId: ManufacturingOrderTags_PUT parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/put_v3_tag' responses: '200': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/v3_tag' delete: tags: - Manufacturing Order summary: Delete a Manufacturing Order Tag by Name description: '' operationId: ManufacturingOrderTags_DELETE parameters: [] responses: '200': description: response OK /v3/manufacturing_order/{reference_id}/tag/{tag_name}: post: tags: - Manufacturing Order summary: Apply a Manufacturing Order Tag to Manufacturing Order description: '' operationId: ManufacturingOrderTagPO_POST parameters: [] responses: '200': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/manufacturing_order' delete: tags: - Manufacturing Order summary: Remove a Manufacturing Order Tag from a Manufacturing Order description: '' operationId: ManufacturingOrderTagPO_DELETE parameters: [] responses: '200': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/manufacturing_order' /v3/manufacturing_order/{reference_id}/comment: post: tags: - Manufacturing Order summary: Create a Manufacturing Order Comment by MO ID description: '' operationId: ManufacturingOrderCommentByMoId_POST responses: '200': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/manufacturing_order' requestBody: content: application/json: schema: $ref: '#/components/schemas/comment' deprecated: false get: summary: Retrieve Comments operationId: ManufacturingOrderCommentByMoId_GET description: '' tags: - Manufacturing Order parameters: - $ref: '#/components/parameters/goodsReceiptIDPath' responses: '200': description: OK content: application/json: example: limit: 10 offset: 0 count: 1 comment: - user: user@ordoro.com date: '2026-03-05T21:10:26.911724+00:00' text: This is a very important comment schema: $ref: '#/components/schemas/comment' /v3/manufacturing_order/{reference_id}/line: post: tags: - Manufacturing Order summary: Create a Manufacturing Order line description: '' operationId: ManufacturingOrderLine_POST requestBody: content: application/json: schema: $ref: '#/components/schemas/post_manufacturing_order_line' responses: '200': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/manufacturing_order' deprecated: false /v3/manufacturing_order/{reference_id}/line/{manufacturing_order_line_id}: put: tags: - Manufacturing Order summary: Update a Manufacturing Order line description: '' operationId: ManufacturingOrderLine_PUT requestBody: content: application/json: schema: $ref: '#/components/schemas/put_manufacturing_order_line' responses: '200': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/manufacturing_order' deprecated: false delete: tags: - Manufacturing Order summary: Remove a Manufacturing Order line from Manufacturing Order description: '' operationId: ManufacturingOrderLine_DELETE responses: '200': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/manufacturing_order' deprecated: false /v3/manufacturing_order/{reference_id}/line/{manufacturing_order_line_id}/finish: post: tags: - Manufacturing Order summary: Mark a Manufacturing Order line as finished description: '' operationId: ManufacturingOrderLineFinished_POST requestBody: content: application/json: schema: $ref: '#/components/schemas/post_manufacturing_order_line_finish' responses: '200': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/manufacturing_order' deprecated: false components: parameters: searchParam: name: search in: query description: '' schema: type: string limitParam: in: query name: limit required: false schema: type: integer minimum: 1 maximum: 100 default: 10 goodsReceiptIDPath: name: goods_receipt_id in: path description: '' required: true style: simple schema: type: string offsetParam: in: query name: offset required: false description: '' schema: type: integer default: 0 minimum: 0 schemas: post_manufacturing_order_line_finish: title: Finish a quantity of a Manufacturing Order Line type: object additionalProperties: false properties: amount: type: integer required: - amount v3_tag: title: V3 Tag Schema type: object properties: id: type: integer name: type: string color: type: string required: - id - name - color manufacturing_order_list: type: object properties: limit: type: integer offset: type: integer count: type: integer manufacturing_order: type: array items: $ref: '#/components/schemas/manufacturing_order' required: - limit - offset - count - manufacturing_order v3_tag_list: title: Tag List Schema type: object properties: count: type: integer tag: type: array items: $ref: '#/components/schemas/v3_tag' limit: type: integer default: 10 offset: type: integer default: 0 required: - count - tag - limit - offset ManufacturingOrderSort: title: manufacturing_order_sort enum: - reference_id - -reference_id - status - -status - warehouse_name - -warehouse_name - created_date - -created_date - updated_date - -updated_date put_manufacturing_order_line: title: Update a Manufacturing Order Line type: object additionalProperties: false properties: requested_quantity: type: number finished_quantity: type: number manufacturer_notes: anyOf: - type: string - type: 'null' internal_notes: anyOf: - type: string - type: 'null' put_manufacturing_order: title: Update a Manufacturing Order type: object additionalProperties: false properties: status: type: string enum: - initiated - active - finished - cancelled manufacturer_notes: type: string internal_notes: type: string warehouse_id: type: integer post_v3_tag: title: Create a Tag type: object additionalProperties: false properties: name: type: string color: type: string required: - name - color ManufacturingOrderStatus: title: manufacturing_order_status enum: - cancelled - initiated - active - finished type: string get_manufacturing_order_count: type: object additionalProperties: false properties: group_by: type: array items: type: string enum: - warehouse_id - status put_v3_tag: title: Update a Tag type: object additionalProperties: false properties: name: type: string color: type: string manufacturing_order: title: Manufacturing Order Schema type: object properties: reference_id: type: string status: type: string warehouse_id: type: integer manufacturer_notes: anyOf: - type: string - type: 'null' internal_notes: anyOf: - type: string - type: 'null' lines: type: array items: type: object properties: _link: type: string id: type: integer sku: type: string bom_sku: type: string manufacturer_notes: anyOf: - type: string - type: 'null' internal_notes: anyOf: - type: string - type: 'null' requested_quantity: type: number finished_quantity: type: number created_date: type: string updated_date: type: string required: - id - sku - bom_sku - manufacturer_notes - internal_notes - requested_quantity - finished_quantity - created_date - updated_date comments: type: array items: $ref: '#/components/schemas/comment' tags: type: array items: $ref: '#/components/schemas/v3_tag' created_date: type: string updated_date: type: string required: - reference_id - status - warehouse_id - manufacturer_notes - internal_notes - lines - tags - created_date - updated_date post_manufacturing_order_line: title: Add a Manufacturing Order Line type: object additionalProperties: false properties: sku: type: string requested_quantity: type: number manufacturer_notes: anyOf: - type: string - type: 'null' internal_notes: anyOf: - type: string - type: 'null' required: - sku comment: title: Comment Schema type: object additionalProperties: false properties: user: type: string date: type: string format: date-time text: type: string post_manufacturing_order: title: Create a Manufacturing Order type: object additionalProperties: false properties: reference_id: type: string warehouse_id: type: integer manufacturer_notes: anyOf: - type: string - type: 'null' internal_notes: anyOf: - type: string - type: 'null' lines: type: array items: type: object properties: sku: type: string requested_quantity: type: number manufacturer_notes: anyOf: - type: string - type: 'null' internal_notes: anyOf: - type: string - type: 'null' required: - sku required: - reference_id