Fulcrumpro Quote Part Line Item Full Routing API
The Quote Part Line Item Full Routing API from Fulcrumpro — 14 operation(s) for quote part line item full routing.
The Quote Part Line Item Full Routing API from Fulcrumpro — 14 operation(s) for quote part line item full routing.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/fulcrumpro-quote-part-line-item-full-routing-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Fulcrum Public Accounting Code Quote Part Line Item Full Routing API
version: v1
servers:
- url: https://api.fulcrumpro.com
tags:
- name: Quote Part Line Item Full Routing
paths:
/api/quotes/{QuoteId}/part-line-items/{lineItemId}/routing/{routingId}/input-items:
post:
tags:
- Quote Part Line Item Full Routing
summary: Create a full routing input item for a quote part line item
operationId: QuotePartLineItemFullRoutingInputItemCreate
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemCreateDto'
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemCreateDto'
text/json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemCreateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemCreateDto'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
application/problem+json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
/api/quotes/{quoteId}/part-line-items/{lineItemId}/routing/{routingId}/input-items/{inputItemId}:
delete:
tags:
- Quote Part Line Item Full Routing
summary: Delete a full routing input item from quote part line item
operationId: QuotePartLineItemFullRoutingInputItemDelete
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: inputItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
responses:
'200':
description: OK
get:
tags:
- Quote Part Line Item Full Routing
summary: Gets a full routing input item for a quote part line item
operationId: QuotePartLineItemFullRoutingInputItemGet
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: inputItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemDto'
application/problem+json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemDto'
x-c4-required-permissions:
- Orders-Quotes-View Quote
post:
tags:
- Quote Part Line Item Full Routing
summary: Update a full routing input item for a quote part line item
operationId: QuotePartLineItemFullRoutingInputItemUpdate
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: inputItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemCreateDto'
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemCreateDto'
text/json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemCreateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemCreateDto'
required: true
responses:
'200':
description: OK
/api/quotes/{quoteId}/part-line-items/{lineItemId}/routing/{routingId}/input-items/list:
post:
tags:
- Quote Part Line Item Full Routing
summary: Lists the full routing input items for a quote part line item
operationId: QuotePartLineItemFullRoutingInputItemList
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: skip
in: query
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: take
in: query
schema:
maximum: 5000
minimum: 0
type: integer
format: int32
default: 50
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
application/json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
text/json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
application/*+json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingInputItemDto'
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingInputItemDto'
x-c4-required-permissions:
- Orders-Quotes-View Quote
/api/quotes/{quoteId}/part-line-items/{lineItemId}/routing/{routingId}/input-materials/list:
post:
tags:
- Quote Part Line Item Full Routing
summary: List input materials for a quote part line item's routing
operationId: QuotePartLineItemFullRoutingInputMaterialList
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: skip
in: query
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: take
in: query
schema:
maximum: 5000
minimum: 0
type: integer
format: int32
default: 50
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
application/json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
text/json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
application/*+json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingInputMaterialDto'
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingInputMaterialDto'
x-c4-required-permissions:
- Orders-Quotes-View Quote
/api/quotes/{quoteId}/part-line-items/{lineItemId}/routing/{routingId}/operations/{operationId}/ipts/{phase}:
post:
tags:
- Quote Part Line Item Full Routing
summary: Creates a full routing operations for a quote part line item
operationId: QuotePartLineItemFullRoutingIptCreate
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: phase
in: path
required: true
schema:
$ref: '#/components/schemas/DomainInProcessTrackingFieldCheckpointPhase'
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/ItemRoutingIptCreateDto'
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingIptCreateDto'
text/json:
schema:
$ref: '#/components/schemas/ItemRoutingIptCreateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ItemRoutingIptCreateDto'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
application/problem+json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
/api/quotes/{quoteId}/part-line-items/{lineItemId}/routing/{routingId}/operations/{operationId}/ipts/{phase}/{iptId}:
delete:
tags:
- Quote Part Line Item Full Routing
summary: Deletes a full routing operation in process tracking field for a quote part line item
operationId: QuotePartLineItemFullRoutingIptDelete
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: phase
in: path
required: true
schema:
$ref: '#/components/schemas/DomainInProcessTrackingFieldCheckpointPhase'
- name: iptId
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
get:
tags:
- Quote Part Line Item Full Routing
summary: Gets a full routing operation in process tracking field for a quote part line item
operationId: QuotePartLineItemFullRoutingIptGet
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: phase
in: path
required: true
schema:
$ref: '#/components/schemas/DomainInProcessTrackingFieldCheckpointPhase'
- name: iptId
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingIptDto'
application/problem+json:
schema:
$ref: '#/components/schemas/ItemRoutingIptDto'
x-c4-required-permissions:
- Orders-Quotes-View Quote
/api/quotes/{quoteId}/part-line-items/{lineItemId}/routing/{routingId}/operations/{operationId}/ipts/{phase}/list:
post:
tags:
- Quote Part Line Item Full Routing
summary: Lists full routing operation in process tracking fields for a quote part line item
operationId: QuotePartLineItemFullRoutingIptList
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: phase
in: path
required: true
schema:
$ref: '#/components/schemas/DomainInProcessTrackingFieldCheckpointPhase'
- name: skip
in: query
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: take
in: query
schema:
maximum: 5000
minimum: 0
type: integer
format: int32
default: 50
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/RoutingRequestIptFindParameters'
application/json:
schema:
$ref: '#/components/schemas/RoutingRequestIptFindParameters'
text/json:
schema:
$ref: '#/components/schemas/RoutingRequestIptFindParameters'
application/*+json:
schema:
$ref: '#/components/schemas/RoutingRequestIptFindParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingIptDto'
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingIptDto'
x-c4-required-permissions:
- Orders-Quotes-View Quote
/api/quotes/{quoteId}/part-line-items/{lineItemId}/make-summary:
get:
tags:
- Quote Part Line Item Full Routing
summary: Get a summary of the make routing for a quote part line item
operationId: QuotePartLineItemFullRoutingMakeSummaryGet
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RoutingDataFullRoutingMakeSummaryDto'
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/RoutingDataFullRoutingMakeSummaryDto'
x-c4-required-permissions:
- Orders-Quotes-View Quote
/api/quotes/{quoteId}/part-line-items/{lineItemId}/routing/{routingId}/operations:
post:
tags:
- Quote Part Line Item Full Routing
summary: Creates a full routing operation for a quote part line item
operationId: QuotePartLineItemFullRoutingOperationCreate
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationCreateDto'
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationCreateDto'
text/json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationCreateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationCreateDto'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
application/problem+json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
/api/quotes/{quoteId}/part-line-items/{lineItemId}/routing/{routingId}/operations/{operationId}:
delete:
tags:
- Quote Part Line Item Full Routing
summary: Removes a full routing operation for a quote part line item
operationId: QuotePartLineItemFullRoutingOperationDelete
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
responses:
'200':
description: OK
get:
tags:
- Quote Part Line Item Full Routing
summary: Gets a full routing operation for a quote part line item
operationId: QuotePartLineItemFullRoutingOperationGet
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationDto'
application/problem+json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationDto'
x-c4-required-permissions:
- Orders-Quotes-View Quote
post:
tags:
- Quote Part Line Item Full Routing
summary: Updates a full routing operation for a quote part line item
operationId: QuotePartLineItemFullRoutingOperationUpdate
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationUpdateDto'
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationUpdateDto'
text/json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationUpdateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationUpdateDto'
required: true
responses:
'200':
description: OK
/api/quotes/{quoteId}/part-line-items/{lineItemId}/routing/{routingId}/operations/{operationId}/items/{operationItemId}:
get:
tags:
- Quote Part Line Item Full Routing
summary: Gets a full routing operation item for a quote part line item
operationId: QuotePartLineItemFullRoutingOperationItemGet
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemDto'
application/problem+json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemDto'
x-c4-required-permissions:
- Orders-Quotes-View Quote
/api/quotes/{quoteId}/part-line-items/{lineItemId}/routing/{routingId}/operations/{operationId}/items/list:
post:
tags:
- Quote Part Line Item Full Routing
summary: List full routing operation items for a quote part line item
operationId: QuotePartLineItemFullRoutingOperationItemList
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: skip
in: query
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: take
in: query
schema:
maximum: 5000
minimum: 0
type: integer
format: int32
default: 50
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
application/json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
text/json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
application/*+json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingInputItemDto'
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingInputItemDto'
x-c4-required-permissions:
- Orders-Quotes-View Quote
/api/quotes/{quoteId}/part-line-items/{lineItemId}/routing/{routingId}/operations/list:
post:
tags:
- Quote Part Line Item Full Routing
summary: Lists full routing operations for a quote part line item
operationId: QuotePartLineItemFullRoutingOperationList
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: skip
in: query
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: take
in: query
schema:
maximum: 5000
minimum: 0
type: integer
format: int32
default: 50
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/RoutingRequestOperationFindParameters'
application/json:
schema:
$ref: '#/components/schemas/RoutingRequestOperationFindParameters'
text/json:
schema:
$ref: '#/components/schemas/RoutingRequestOperationFindParameters'
application/*+json:
schema:
$ref: '#/components/schemas/RoutingRequestOperationFindParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingOperationDto'
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingOperationDto'
x-c4-required-permissions:
- Orders-Quotes-View Quote
/api/quotes/{quoteId}/part-line-items/{lineItemId}/routing/{routingId}:
get:
tags:
- Quote Part Line Item Full Routing
summary: Gets a full routing routing for a quote part line item
operationId: QuotePartLineItemFullRoutingRoutingGet
parameters:
- name: quoteId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingDto'
application/problem+json:
schema:
$ref: '#/components/schemas/ItemRoutingDto'
x-c4-required-permissions:
- Orders-Quotes-View Quote
components:
schemas:
CommonEnumMaterialFormEnum:
enum:
- sheet
- plate
- roundBar
- flatBar
- channel
- squareTube
- angle
- treadPlate
- hexBar
- squareBar
- teeBar
- hBeam
- rectTube
- pipe
- wBeam
- sBeam
- roundTube
- rectBar
- wideBar
type: string
description: Specifies the form of the material.
ItemRoutingInputMaterialNestingDto:
required:
- d2
- d3
- id
- produces
type: object
properties:
id:
maxLength: 36
minLength: 36
type: string
description: Id of this input material's nesting in the item's routing material
format: uuid
d2:
type: number
description: Length
format: double
d3:
type: number
description: For Sheets, the Width
format: double
produces:
type: integer
description: The quantity produced, given the bounding box dimensions (D2 x D3).
format: int32
useForEstimatedCosting:
type: boolean
description: 'Indicates if this nesting record will be used for estimated costing.
NOTE: Only one nesting record for a material can have this value set to true.'
additionalProperties: false
description: Create an input material nesting for routing
ItemRoutingNormalOperationDto:
type: object
properties:
setupTime:
$ref: '#/components/schemas/ItemRoutingOperationTime'
laborTime:
$ref: '#/components/schemas/ItemRoutingOperationTime'
machineTime:
$ref: '#/components/schemas/ItemRoutingOperationTime'
anyEquipment:
type: boolean
description: Specifies that any equipment associated with this operation can be used
selectedEquipmentIds:
type: array
items:
type: string
description: List of equipment ids selected from equipment associated with this operation
isNestable:
type: boolean
description: Indicate if this operation is nestable.
additionalProperties: false
description: Defines non-outside-processing fields
ItemRoutingInputMaterialDto:
required:
- costing
- id
- materialId
- materialName
type: object
properties:
id:
# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fulcrumpro/refs/heads/main/openapi/fulcrumpro-quote-part-line-item-full-routing-api-openapi.yml