Ordoro Return Order Rate API
The Return Order Rate API from Ordoro — 7 operation(s) for return order rate.
The Return Order Rate API from Ordoro — 7 operation(s) for return order rate.
openapi: 3.0.0
info:
title: Ordoro API Documentation Address Return Order Rate 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| `<model name>` | 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: Return Order Rate
paths:
/v3/return_order/rate/australia_post:
post:
summary: Get Australia Post Rate for Return Order
operationId: ReturnOrderRateAustraliaPost_POST
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/post_easypost_rate'
parameters:
- $ref: '#/components/parameters/orderNumberPath'
responses:
'200':
description: OK
examples:
application/json: "[\n {\n \"rate\": 16.98,\n \"service_type\": \"TBD\",\n \"estimated_delivery_date\": \"2019-11-18T10:30:00Z\",\n \"box_type\": null,\n \"carrier\": \"australia_post\"\n },\n {\n \"rate\": 5.6,\n \"service_type\": \"TBD\",\n \"estimated_delivery_date\": \"2019-11-18T07:00:00Z\",\n \"box_type\": null,\n \"carrier\": \"australia_post\"\n },\n {\n \"rate\": 7.28,\n \"service_type\": \"TBD\",\n \"estimated_delivery_date\": \"2019-11-18T06:00:00Z\",\n \"box_type\": null,\n \"carrier\": \"australia_post\"\n }\n]\n"
headers:
Access-Control-Allow-Credentials:
type: string
Access-Control-Allow-Origin:
type: string
Vary:
type: string
schema:
$ref: '#/components/schemas/RateResponse'
tags:
- Return Order Rate
/v3/return_order/rate/canada_post:
post:
summary: Get Canada Post Rate for Return Order
operationId: ReturnOrderRateCanadaPost_POST
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/post_canada_post_rate'
parameters:
- $ref: '#/components/parameters/orderNumberPath'
responses:
'200':
description: OK
examples:
application/json: "{\n \"info\": [\n {\n \"service_type\": \"DOM.EP\",\n \"delivery_day\": \"Tuesday\",\n \"cost\": \"16.37\",\n \"service\": \"Expedited Parcel\",\n \"package\": \"\"\n },\n {\n \"service_type\": \"DOM.PC\",\n \"delivery_day\": \"Thursday\",\n \"cost\": \"46.79\",\n \"service\": \"Priority\",\n \"package\": \"\"\n },\n {\n \"service_type\": \"DOM.RP\",\n \"delivery_day\": \"Friday\",\n \"cost\": \"16.37\",\n \"service\": \"Regular Parcel\",\n \"package\": \"\"\n },\n {\n \"service_type\": \"DOM.XP\",\n \"delivery_day\": \"Friday\",\n \"cost\": \"29.18\",\n \"service\": \"Xpresspost\",\n \"package\": \"\"\n }\n ]\n}\n"
headers:
Access-Control-Allow-Credentials:
type: string
Access-Control-Allow-Origin:
type: string
Vary:
type: string
schema:
$ref: '#/components/schemas/RateResponse'
tags:
- Return Order Rate
/v3/return_order/rate/dhl:
post:
summary: Get DHL Rate for Return Order
operationId: ReturnOrderRateDHL_POST
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/post_dhl_rate'
parameters:
- $ref: '#/components/parameters/orderNumberPath'
responses:
'200':
description: OK
examples:
application/json: "[\n {\n \"rate\": 16.98,\n \"service_type\": \"P\",\n \"estimated_delivery_date\": \"2016-06-12T10:30:00Z\",\n \"box_type\": null,\n \"carrier\": \"dhl\"\n },\n {\n \"rate\": 5.6,\n \"service_type\": \"0\",\n \"estimated_delivery_date\": \"2016-06-10T07:00:00Z\",\n \"box_type\": null,\n \"carrier\": \"dhl\"\n },\n]\n"
headers:
Access-Control-Allow-Credentials:
type: string
Access-Control-Allow-Origin:
type: string
Vary:
type: string
schema:
$ref: '#/components/schemas/RateResponse'
tags:
- Return Order Rate
/v3/return_order/rate/endicia:
post:
summary: Get Endicia Rate for Return Order
operationId: ReturnOrderRateEndicia_POST
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/post_endicia_rate'
parameters:
- $ref: '#/components/parameters/orderNumberPath'
responses:
'200':
description: OK
examples:
application/json: "{\n \"status\": \"0\",\n \"info\": [\n {\n \"service_type\": \"PriorityExpress\",\n \"delivery_day\": \"\",\n \"cost\": 20.66,\n \"service\": \"Priority Mail Express\",\n \"package\": \"Parcel\"\n },\n {\n \"service_type\": \"LibraryMail\",\n \"delivery_day\": \"\",\n \"cost\": 4.03,\n \"service\": \"Library Mail\",\n \"package\": \"Parcel\"\n },\n {\n \"service_type\": \"MediaMail\",\n \"delivery_day\": \"\",\n \"cost\": 4.22,\n \"service\": \"Media Mail\",\n \"package\": \"Parcel\"\n }\n ]\n}\n"
headers:
Access-Control-Allow-Credentials:
type: string
Access-Control-Allow-Origin:
type: string
Vary:
type: string
schema:
$ref: '#/components/schemas/RateResponse'
tags:
- Return Order Rate
/v3/return_order/rate/fedex:
post:
summary: Get Fedex Rate for Return Order
operationId: ReturnOrderRateFedex_POST
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/post_fedex_rate'
parameters:
- $ref: '#/components/parameters/orderNumberPath'
responses:
'200':
description: OK
examples:
application/json: "{\n \"status\": \"WARNING\",\n \"info\": [\n {\n \"service_type\": \"FIRST_OVERNIGHT\",\n \"delivery_day\": \"Friday\",\n \"cost\": 58.02,\n \"service\": \"First Overnight\",\n \"package\": \"Your Packaging\"\n },\n {\n \"service_type\": \"PRIORITY_OVERNIGHT\",\n \"delivery_day\": \"Friday\",\n \"cost\": 29.81,\n \"service\": \"Priority Overnight\",\n \"package\": \"Your Packaging\"\n },\n {\n \"service_type\": \"STANDARD_OVERNIGHT\",\n \"delivery_day\": \"Friday\",\n \"cost\": 27.57,\n \"service\": \"Standard Overnight\",\n \"package\": \"Your Packaging\"\n },\n {\n \"service_type\": \"FEDEX_2_DAY_AM\",\n \"delivery_day\": \"Monday\",\n \"cost\": 18.8,\n \"service\": \"2 Day Am\",\n \"package\": \"Your Packaging\"\n },\n {\n \"service_type\": \"FEDEX_2_DAY\",\n \"delivery_day\": \"Monday\",\n \"cost\": 16.35,\n \"service\": \"2 Day\",\n \"package\": \"Your Packaging\"\n },\n {\n \"service_type\": \"FEDEX_EXPRESS_SAVER\",\n \"delivery_day\": \"Tuesday\",\n \"cost\": 15.65,\n \"service\": \"Express Saver\",\n \"package\": \"Your Packaging\"\n },\n {\n \"service_type\": \"FEDEX_GROUND\",\n \"delivery_day\": \"Unknown\",\n \"cost\": 8.07,\n \"service\": \"Ground\",\n \"package\": \"Your Packaging\"\n }\n ]\n}\n"
headers:
Access-Control-Allow-Credentials:
type: string
Access-Control-Allow-Origin:
type: string
Vary:
type: string
schema:
$ref: '#/components/schemas/RateResponse'
tags:
- Return Order Rate
/v3/return_order/rate/pitney:
post:
summary: Get USPS Rate for Return Order
operationId: ReturnOrderRateUSPS_POST
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/post_pitney_rate'
parameters:
- $ref: '#/components/parameters/orderNumberPath'
responses:
'200':
description: OK
examples:
application/json: "{\n \"status\": \"Success\",\n \"info\": [\n {\n \"cost\": 5.75,\n \"package\": \"PKG\",\n \"service_type\": \"PM\",\n \"service\": \"Priority Mail\",\n \"delivery_day\": \"2016-04-99\"\n }\n ]\n}\n"
headers:
Access-Control-Allow-Credentials:
type: string
Access-Control-Allow-Origin:
type: string
Vary:
type: string
schema:
$ref: '#/components/schemas/RateResponseOfTheFuture'
tags:
- Return Order Rate
/v3/return_order/rate/ups:
post:
summary: Get UPS Rate for Return Order
operationId: ReturnOrderRateUPS_POST
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/post_ups_rate'
parameters:
- $ref: '#/components/parameters/orderNumberPath'
responses:
'200':
description: OK
examples:
application/json: "{\n \"status\": \"Success\",\n \"info\": [\n {\n \"service_type\": \"03\",\n \"delivery_day\": \"\",\n \"cost\": 9.29,\n \"service\": \"Ground\",\n \"package\": \"\"\n },\n {\n \"service_type\": \"12\",\n \"delivery_day\": \"\",\n \"cost\": 13.3,\n \"service\": \"3-day Select\",\n \"package\": \"\"\n },\n {\n \"service_type\": \"59\",\n \"delivery_day\": \"\",\n \"cost\": 20.2,\n \"service\": \"2nd Day AM\",\n \"package\": \"\"\n },\n {\n \"service_type\": \"02\",\n \"delivery_day\": \"\",\n \"cost\": 17.56,\n \"service\": \"2nd Day\",\n \"package\": \"\"\n },\n {\n \"service_type\": \"13\",\n \"delivery_day\": \"\",\n \"cost\": 30.75,\n \"service\": \"Next Day Air Saver\",\n \"package\": \"\"\n },\n {\n \"service_type\": \"14\",\n \"delivery_day\": \"\",\n \"cost\": 65.41,\n \"service\": \"Next Day AM\",\n \"package\": \"\"\n },\n {\n \"service_type\": \"01\",\n \"delivery_day\": \"\",\n \"cost\": 34.51,\n \"service\": \"Next Day\",\n \"package\": \"\"\n }\n ]\n}\n"
headers:
Access-Control-Allow-Credentials:
type: string
Access-Control-Allow-Origin:
type: string
Vary:
type: string
schema:
$ref: '#/components/schemas/RateResponse'
tags:
- Return Order Rate
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
post_fedex_rate:
title: Fedex Rate POST Request Schema
type: object
additionalProperties: false
properties:
alcohol_shipment_license:
type: string
b13a_filing_option:
description: Specify the filing option being exercised. Required for non-document shipments originating in Canada destinated for any country other than Canada, the United States, Puerto Rico, or the U.S. Virgin Islands
enum:
- NOT_REQUIRED
- MANUALLY_ATTACHED
- FILED_ELECTRONICALLY
- SUMMARY_REPORTING
- FEDEX_TO_STAMP
type: string
declared_value:
description: Package level Insured Value for Fedex
type: number
packages:
type: array
maxItems: 99
items:
additionalProperties: false
type: object
properties:
box_shape:
type: string
declared_value:
description: Package level Insured Value for Fedex
type: number
description:
type: string
dry_ice_weight:
description: Weight in ounces.
type: number
default: 0
height:
description: Height in inches
type: number
length:
description: Length in inches
type: number
reference_number:
description: Package level reference, not always necessarily a number
type: string
department:
description: Department number. Displayed as DEPT field on label
type: string
maxLength: 40
invoice:
description: Invoice number. Displayed as INV field on label
type: string
maxLength: 40
purchase_order:
description: Purchase order number. Displayed as PO field on label
type: string
maxLength: 40
sub_package_type:
description: 'if you are using your own packaging for the shipment. Example: TUBE, CARTON, CONTAINER. etc'
type: string
weight:
description: Weight in ounces.
type: number
width:
description: Width in inches
type: number
required:
- box_shape
customs_info:
items:
$ref: '#/components/schemas/customs_line'
type: array
delivery_confirmation:
default: SERVICE_DEFAULT
enum:
- NO_SIGNATURE_REQUIRED
- INDIRECT
- DIRECT
- ADULT
- SERVICE_DEFAULT
type: string
delivery_instructions:
type: string
dry_ice_weight:
description: Weight in ounces.
type: number
default: 0
duties_payment_type:
type: string
duties_payment_account:
type: string
export_compliance_statement:
description: For US export shipments requiring an EEI, enter the ITN number received from AES when you filed your shipment or the FTR (Foreign Trade Regulations) exemption number.The proper format for an ITN number is AES XYYYYMMDDNNNNNN where YYYYMMDD is date and NNNNNN are numbers generated by the AES.
type: string
importer_of_record:
type: object
additionalProperties: false
properties:
address:
$ref: '#/components/schemas/address'
tin:
type: object
additionalProperties: false
properties:
tin_type:
type: string
enum:
- BUSINESS_NATIONAL
- BUSINESS_STATE
- BUSINESS_UNION
- PERSONAL_NATIONAL
- PERSONAL_STATE
number:
type: string
maxLength: 15
required:
- tin_type
- number
account_number:
type: string
maxLength: 12
required:
- address
- tin
insurance_type:
enum:
- discounted_insurance
- fedex
type: string
insured_value:
default: 0
type: number
one_rate:
type: boolean
payment_account:
type: string
payment_type:
type: string
pharmacy_delivery:
default: false
type: boolean
priority_alert:
type: string
enum:
- PRIORITY_ALERT
- PRIORITY_ALERT_PLUS
reason_for_export:
enum:
- SOLD
- NOT_SOLD
- PERSONAL_EFFECTS
- GIFT
- REPAIR_AND_RETURN
- SAMPLE
type: string
reason_for_export_explanation:
type: string
receiver_tax_info:
$ref: '#/components/schemas/tax_info'
recipient_address_is_residential:
type: boolean
reference_number:
type: string
return:
description: For orders, determines whether the originating and destination addresses will be swapped for a return label request
type: boolean
saturday_delivery:
default: false
type: boolean
sender_tax_info:
$ref: '#/components/schemas/tax_info'
ship_date:
format: date-time
type: string
shipper_id:
type: integer
smart_post_ancillary_endorsement:
enum:
- ADDRESS_CORRECTION
- CARRIER_LEAVE_IF_NO_RESPONSE
- CHANGE_SERVICE
- FORWARDING_SERVICE
- RETURN_SERVICE
description: Required for Presorted Standard but not for returns or parcel select. They are not all usable for all ancillary endorsements.
type: string
smart_post_hub:
type: string
smart_post_indicia:
type: string
ship_from:
description: The ship_from address is used as the originating address of the rate and label request.
$ref: '#/components/schemas/v1_address'
ship_to:
description: The to address is used as the destination address of a return order rate and label request.
$ref: '#/components/schemas/v1_address'
reference_id:
description: Identifier for a Return Order
type: string
dangerous_goods_option:
type: string
dangerous_goods_regulation_type:
type: string
etd_service:
type: boolean
hold_at_location:
type: boolean
hold_at_location_id:
type: string
certificate_of_origin:
type: boolean
use_metric_units:
type: boolean
required:
- shipper_id
tax_info:
title: Tax Info Schema
type: object
additionalProperties: false
properties:
tax_id_number:
type: string
tax_id_type:
type: string
tax_issuer_country:
type: string
required:
- tax_id_number
- tax_id_type
post_ups_rate:
title: UPS Rate POST Request Schema
type: object
additionalProperties: false
properties:
additional_handling:
type: boolean
certificate_origin:
type: boolean
customs_info:
type: array
items:
$ref: '#/components/schemas/customs_line'
delivery_confirmation:
description: '[''0'' - None, ''1'' - Confirm, ''2'' - Signature, ''3'' - Adult Signature]'
type: string
direct_delivery:
type: boolean
dry_ice_regulation_set:
description: indicates dry ice shipment option [CFR = For HazMat regulated by US Dept of Transportation within the U.S. or ground shipments to Canada, IATA = For Worldwide Air movement]
type: string
insurance_type:
type: string
insured_value:
type: number
box_shape:
description: 'DEPRECATED: USE PACKAGES. ups box options [01 - UPS Letter, 02 - Customer Supplied Package, 03 - Tube, 04 - PAK, 2a - Small Express Box, 2b - Medium Express Box, 2c - Large Express Box, 24 - UPS 25KG Box, 25 - UPS 10KG Box]'
type: string
declared_value:
description: 'DEPRECATED: USE PACKAGES. Package level declared value for UPS'
type: number
description:
description: 'DEPRECATED: USE PACKAGES. Package level description, required for return label creation'
type: string
dry_ice_weight:
description: 'DEPRECATED: USE PACKAGES. Dry ice weight in ounces, required for dry ice shipments'
type: number
purchase_order_number:
description: Customs level purchase order number reference
type: string
reference_number:
description: Package level reference, not always necessarily a number
type: string
weight:
description: 'DEPRECATED: USE PACKAGES. Weight in ounces'
type: number
length:
description: 'DEPRECATED: USE PACKAGES. Length in inches'
type: number
width:
description: 'DEPRECATED: USE PACKAGES. Width in inches'
type: number
height:
description: 'DEPRECATED: USE PACKAGES. Height in inches'
type: number
packages:
type: array
maxItems: 200
items:
additionalProperties: false
type: object
properties:
additional_handling:
type: boolean
box_shape:
description: ups box options [01 - UPS Letter, 02 - Customer Supplied Package, 03 - Tube, 04 - PAK, 2a - Small Express Box, 2b - Medium Express Box, 2c - Large Express Box, 24 - UPS 25KG Box, 25 - UPS 10KG Box]
type: string
declared_value:
description: Package level declared value for UPS
type: number
description:
description: Package level description, required for return shipments
type: string
dry_ice_regulation_set:
description: indicates dry ice shipment option [CFR = For HazMat regulated by US Dept of Transportation within the U.S. or ground shipments to Canada, IATA = For Worldwide Air movement]
type: string
dry_ice_weight:
description: Dry ice weight in ounces, required for dry ice shipments
type: number
hazmat_items:
type: array
items:
$ref: '#/components/schemas/hazmat_item'
height:
description: Height in inches
type: number
length:
description: Length in inches
type: number
reference_number:
description: Package level reference, not always necessarily a number
type: string
weight:
description: weight of the package in ounces
type: number
width:
description: Width in inches
type: number
required:
- box_shape
package_bill_type:
description: 'required for shoptimeintransit rates: document, non-document, wwef pallet, or domestic pallet. describes the contents of the package.'
type: string
enum:
- '02'
- '03'
- '04'
- '07'
payment_type:
type: string
payment_account:
type: string
payment_zip:
type: string
payment_country:
type: string
duties_payment_type:
type: string
duties_payment_account:
type: string
duties_payment_zip:
type: string
duties_payment_country:
type: string
reason_for_export:
type: string
receiver_tax_info:
$ref: '#/components/schemas/tax_info'
recipient_address_is_residential:
type: boolean
return:
description: For orders, determines whether the originating and destination addresses will be swapped for a return label request
type: boolean
saturday_delivery:
type: boolean
sender_tax_info:
$ref: '#/components/schemas/tax_info'
shipper_id:
type: integer
shipping_method:
type: string
shipper_release:
type: boolean
shipper_return_to_address:
$ref: '#/components/schemas/v1_address'
usps_endorsement:
description: Required for UPS Mail Innovations shipments
type: string
ship_from:
description: The ship_from address is used as the originating address of the rate and label request.
$ref: '#/components/schemas/v1_address'
ship_to:
description: The to address is used as the destination address of a return order rate and label request.
$ref: '#/components/schemas/v1_address'
reference_id:
description: Identifier for a Return Order
type: string
warehouse_id:
description: Currently ignored. Previously used for updating a warehouse for the ship_from address on an order.
type: integer
cost_center:
description: The Cost Center code for UPS Mail Innovations shipments
type: string
required:
- shipper_id
post_pitney_rate:
title: Pitney Rate POST Request Schema
additionalProperties: false
properties:
delivery_confirmation:
enum:
- DelCon
- Sig
- ADSIG
- ADSIGRD
- SigRD
type: string
hazmat_type:
description: USPS hazmat input type options
type: string
hazmat_electronics:
description: ' USPS hazmat option for electronics'
type: boolean
insurance_type:
enum:
- discounted_insurance
type: string
insured_value:
default: 0
# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ordoro/refs/heads/main/openapi/ordoro-return-order-rate-api-openapi.yml