openapi: 3.0.0 info: title: Ordoro API Documentation Address 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: Address description: Address objects are used and referenced in Orders shipping and billing addresses, Warehouses, and Suppliers. paths: /address/: get: tags: - Address summary: List Addresses description: '' operationId: Address_GET parameters: - $ref: '#/components/parameters/offsetParam' - $ref: '#/components/parameters/limitParam' - name: sort in: query description: '' style: form explode: true schema: type: string responses: '200': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/address_list' deprecated: false post: tags: - Address summary: Create a new Address description: '' operationId: Address_POST parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/address' responses: '201': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/address' deprecated: false /address/{address_id}/: get: tags: - Address summary: Get an Address by ID description: '' operationId: AddressByAddressId_GET parameters: - name: address_id in: path description: '' required: true style: simple schema: type: string responses: '200': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/address' deprecated: false put: tags: - Address summary: Update an Address by ID description: '' operationId: AddressByAddressId_PUT parameters: - name: address_id in: path description: '' required: true style: simple schema: type: string responses: '200': description: '' headers: {} content: application/json: schema: $ref: '#/components/schemas/address' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/update_address' deprecated: false /v3/order/{order_number}/billing_address: put: summary: Update an Order's Billing Address operationId: OrderBillingAddressByOrderNumber_PUT tags: - Address requestBody: content: application/json: schema: $ref: '#/components/schemas/update_address' examples: example: value: name: Tommy Tutone zip: '00000' description: Updated fields for an order's address parameters: - $ref: '#/components/parameters/orderNumberPath' responses: '200': description: 200 OK content: application/json: example: name: Tommy Tutone company: null street1: 101 W 6th St street2: '' city: Austin state: TX zip: '00000' country: US phone: '8675309' email: null validation: status: unvalidated suggested: [] additional_text: null schema: $ref: '#/components/schemas/address' /v3/order/{order_number}/shipping_address: put: summary: Update an Order's Shipping Address operationId: OrderShippingAddressByOrderNumber_PUT tags: - Address requestBody: content: application/json: schema: $ref: '#/components/schemas/update_address' examples: example: value: name: Tommy Tutone zip: '00000' description: Updated fields for an order's address parameters: - $ref: '#/components/parameters/orderNumberPath' responses: '200': description: 200 OK content: application/json: example: name: Tommy Tutone company: null street1: 101 W 6th St street2: '' city: Austin state: TX zip: '00000' country: US phone: '8675309' email: null validation: status: unvalidated suggested: [] additional_text: null schema: $ref: '#/components/schemas/address' /v3/order/{order_number}/warehouse: put: summary: Update an Order's Warehouse operationId: OrderWarehouseByOrderNumber_PUT tags: - Address requestBody: content: application/json: schema: $ref: '#/components/schemas/put_order_warehouse' examples: example: value: warehouse_id: 1234 description: Warehouse id parameters: - $ref: '#/components/parameters/orderNumberPath' responses: '200': description: 200 OK content: application/json: example: {} schema: $ref: '#/components/schemas/order' components: schemas: address: title: Address Schema type: object additionalProperties: false properties: id: type: integer name: example: Jimmy McGill anyOf: - type: string - type: 'null' company: example: Hamlin, Hamlin & McGill anyOf: - type: string - type: 'null' street1: example: 100 Constitution Ave anyOf: - type: string - type: 'null' street2: anyOf: - type: string - type: 'null' city: example: Albuquerque anyOf: - type: string - type: 'null' state: example: NM anyOf: - type: string - type: 'null' zip: example: '87109' anyOf: - type: string - type: 'null' country: example: US anyOf: - type: string - type: 'null' email: example: slippin-jimmy@saul-good.man anyOf: - type: string - type: 'null' phone: example: 555-867-5309 anyOf: - type: string - type: 'null' fax: anyOf: - type: string - type: 'null' cart_address_id: anyOf: - type: string - type: 'null' revision_locked_fields: type: array validation: title: Validation status of an Address properties: status: type: string enum: - unvalidated - validated - warning - error suggested: type: array items: title: Suggested Address type: object additionalProperties: false properties: is_commercial: default: false anyOf: - type: boolean - type: 'null' street1: type: string street2: anyOf: - type: string - type: 'null' city: type: string state: type: string zip: type: string country_code: anyOf: - type: string - type: 'null' required: - city - state - zip - street1 additional_text: anyOf: - type: string - type: 'null' required: - status - additional_text - suggested additionalProperties: false anyOf: - type: object - type: 'null' required: - name - company - street1 - street2 - city - state - zip - country - email - phone order: title: Order Schema type: object additionalProperties: false properties: id: type: integer order_number: type: string barcode: type: string order_placed_date: type: string created_date: type: string updated_date: type: string cancelled_date: anyOf: - type: string - type: 'null' obscured_date: anyOf: - type: string - type: 'null' status: type: string shippability: type: string shipping_address: $ref: '#/components/schemas/address' billing_address: $ref: '#/components/schemas/address' alternate_ship_from_address: oneOf: - $ref: '#/components/schemas/address' - type: 'null' label_infos: type: array items: type: number lines: type: array items: type: object properties: link: type: string id: type: integer quantity: type: integer item_price: type: number supplier_price: anyOf: - type: number - type: 'null' sku: type: string product_name: type: string product_is_kit_parent: type: boolean product_serial_numbers: type: array items: type: string order_line_product_name: type: string product_link: type: string product_category: anyOf: - type: string - type: 'null' cart_order_id: anyOf: - type: string - type: 'null' cart_orderitem_id: anyOf: - type: string - type: 'null' cart_shipment_id: anyOf: - type: string - type: 'null' cogs: type: number shippability: type: object properties: shippability: type: string supplier_id: anyOf: - type: number - type: 'null' is_dropship: type: boolean details: anyOf: - type: string - type: 'null' upc: anyOf: - type: string - type: 'null' sales_channel_location_id: anyOf: - type: integer - type: 'null' is_allocated: type: boolean required: - quantity - item_price - supplier_price - link - product_name - product_link - sku - shippability - details - upc weight: description: Weight in ounces type: number notes_from_customer: anyOf: - type: string - type: 'null' internal_notes: anyOf: - type: string - type: 'null' requested_shipping_method: anyOf: - type: string - type: 'null' deliver_by_date: anyOf: - type: string - type: 'null' ship_by_date: anyOf: - type: string - type: 'null' sales_channel: type: object properties: id: type: integer link: type: string warehouse: type: object properties: id: type: integer link: type: string shipping_info: $ref: '#/components/schemas/shipping_info' return_shipping_info: $ref: '#/components/schemas/shipping_info' dropshipping_info: $ref: '#/components/schemas/dropshipping_info' comments: type: array items: type: object properties: date: type: string text: type: string user: type: string tags: type: array items: $ref: '#/components/schemas/tag' financial: $ref: '#/components/schemas/order_financial' link: type: string additional_cart_info: type: object properties: is_prime: type: boolean is_order_parent: type: boolean parent_order_number: anyOf: - type: string - type: 'null' sibling_order_numbers: type: array items: type: string audit_label: type: array items: type: object return_order_reference_ids: type: array items: type: string similar_open_addresses_count: type: integer allocation_status: type: string batch_reference_id: anyOf: - type: string - type: 'null' batch: type: object has_revision: type: boolean revision_locked_fields: type: array items: type: string required: - billing_address - shipping_address address_list: title: Address List Schema type: object properties: count: type: integer example: 35 limit: type: integer default: 1 offset: type: integer default: 0 example: 0 address: type: array items: $ref: '#/components/schemas/address' required: - count - limit - offset - address put_order_warehouse: title: Update Warehouse on an Order type: object additionalProperties: false properties: warehouse_id: type: integer skip_cache: type: boolean default: false description: Updates the order but does not add it to the Elasticsearch cache. Used internally during initial order processing. This will probably go away in the future. required: - warehouse_id tag: title: Tag Schema type: object properties: color: type: string text: type: string name: type: string link: type: string id: type: integer required: - color - text - link - id order_financial: title: Order Financial Schema type: object additionalProperties: false properties: credit_card_issuer: anyOf: - type: string - type: 'null' discount_amount: description: Not calculated anyOf: - type: number - type: 'null' product_amount: description: Not calculated anyOf: - type: number - type: 'null' shipping_amount: description: Not calculated anyOf: - type: number - type: 'null' tax_amount: description: Not calculated anyOf: - type: number - type: 'null' grand_total: description: Not calculated anyOf: - type: number - type: 'null' shipping_info: title: Shipping Info Schema type: object properties: delivery_confirmation: description: delivery or signature confirmation requested to the carrier at the time of label creation. Should be of type string. tracking_number: anyOf: - type: string - type: 'null' package_tracking: anyOf: - type: string - type: 'null' tracking_url: anyOf: - type: string - type: 'null' cost: type: number transaction_fee: type: number link: type: string shipping_method: anyOf: - type: string - type: 'null' display_shipping_method: anyOf: - type: string - type: 'null' ship_date: format: date-time anyOf: - type: string - type: 'null' has_label: type: boolean has_additional_docs: type: boolean created_date: type: string carrier_name: anyOf: - type: string - type: 'null' carrier: properties: id: type: integer link: type: string anyOf: - type: object - type: 'null' estimated_delivery_date: anyOf: - type: string - type: 'null' box_shape: anyOf: - type: string - type: 'null' length: description: 'deprecated: Length in inches, see packages' anyOf: - type: number - type: 'null' width: description: 'deprecated: Width in inches, see packages' anyOf: - type: number - type: 'null' height: description: 'deprecated: Height in inches, see packages' anyOf: - type: number - type: 'null' insurance: description: Insurance data if Ordoro discounted Shipsurance is used anyOf: - type: object - type: 'null' insured_value: description: value of the package if it was insured using Ordoro discounted Shipsurance anyOf: - type: number - type: 'null' customs_info: items: type: object additionalProperties: false properties: country: anyOf: - type: string - type: 'null' description: anyOf: - type: string - type: 'null' quantity: anyOf: - type: integer - type: 'null' value: description: Dollar value of customs line format: double anyOf: - type: number - type: 'null' weight: description: Weight of customs line in ounces anyOf: - type: number - type: 'null' anyOf: - type: array - type: 'null' ship_from: description: optionally exists if a ship_from address was used to create a label or tracking $ref: '#/components/schemas/address' reference_number: description: reference number sent to the carrier for the shipment anyOf: - type: string - type: 'null' return_to: $ref: '#/components/schemas/address' ship_to: description: optionally exists if a ship_to address was used to create a label or tracking $ref: '#/components/schemas/address' status: description: tracking status if available from USPS carrier anyOf: - type: string - type: 'null' carrier_updated_date: description: the last date that the carrier updated the tracking status, currently only used for USPS shipments anyOf: - type: string - type: 'null' presets: type: array items: type: integer packages: items: type: object anyOf: - type: array - type: 'null' packing_list_id: description: id of packing list profile template used to create this label anyOf: - type: integer - type: 'null' print_date: anyOf: - type: string - type: 'null' label_image_link: anyOf: - type: string - type: 'null' void: type: boolean zone: anyOf: - type: string - type: 'null' update_address: title: Update Address Schema type: object additionalProperties: false properties: name: anyOf: - type: string - type: 'null' company: anyOf: - type: string - type: 'null' street1: anyOf: - type: string - type: 'null' street2: anyOf: - type: string - type: 'null' city: anyOf: - type: string - type: 'null' state: anyOf: - type: string - type: 'null' zip: anyOf: - type: string - type: 'null' country: anyOf: - type: string - type: 'null' email: anyOf: - type: string - type: 'null' phone: anyOf: - type: string - type: 'null' validate: type: boolean set_revision_lock: type: boolean validation: title: Validation status of an Address type: object properties: status: type: string enum: - unvalidated - validated - warning - error suggested: type: array items: title: Suggested Address type: object additionalProperties: false properties: is_commercial: default: false anyOf: - type: boolean - type: 'null' street1: type: string street2: anyOf: - type: string - type: 'null' city: type: string state: type: string zip: type: string country_code: type: string required: - city - state - zip - street1 additional_text: anyOf: - type: string - type: 'null' is_error: type: boolean required: - additional_text - suggested additionalProperties: false dropshipping_info: title: Dropshipping Info Schema type: object additionalProperties: false properties: supplier: type: object properties: id: type: integer link: type: string requested_date: format: date-time anyOf: - type: string - type: 'null' show_ship_to_email: type: boolean show_price: type: boolean requested_shipping_method: anyOf: - type: string - type: 'null' requested_shipping_carrier: anyOf: - type: string - type: 'null' requested_shipping_account: anyOf: - type: string - type: 'null' instructions: anyOf: - type: string - type: 'null' parameters: limitParam: in: query name: limit required: false schema: type: integer minimum: 1 maximum: 100 default: 10 orderNumberPath: description: Unique identifier for an Order that includes a cart index prefix name: order_number schema: type: string in: path required: true offsetParam: in: query name: offset required: false description: '' schema: type: integer default: 0 minimum: 0