Arkestro · OpenAPI Overlay 1.0.0

API Evangelist enhancements for Arkestro API V2

47 actions 47 updates documentation extends openapi/arkestro-api-v2-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Arkestro's API. It is a proposal applied on top of the contract, not a document Arkestro publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

operationIdx-apievangelist-profilex-apievangelist-note

Targets 47 · first 16 shown; the file carries all of them

$.info
$.paths['/api/v2/business_units'].get
$.paths['/api/v2/corporate/categories'].get
$.paths['/api/v2/corporate/categories'].post
$.paths['/api/v2/corporate/categories/{id}'].get
$.paths['/api/v2/corporate/categories/{id}'].patch
$.paths['/api/v2/corporate/categories/{id}'].delete
$.paths['/api/v2/corporate/items'].get
$.paths['/api/v2/corporate/items'].post
$.paths['/api/v2/corporate/items/{id}'].get
$.paths['/api/v2/corporate/items/{id}'].patch
$.paths['/api/v2/corporate/items/{id}'].delete
$.paths['/api/v2/supplier_contacts'].get
$.paths['/api/v2/supplier_contacts'].post
$.paths['/api/v2/supplier_contacts/{id}'].get
$.paths['/api/v2/supplier_contacts/{id}'].patch

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for Arkestro API V2
  version: 1.0.0
extends: openapi/arkestro-api-v2-openapi.yml
x-generated: '2026-08-06'
x-method: generated
x-rationale: 'Arkestro''s published OpenAPI 3.1.1 is unusually complete on content -- every one of the 46 operations
  has a summary, a tag, and declared 2xx/4xx/5xx responses -- but NOT ONE OPERATION HAS AN operationId. That is
  the single highest-leverage defect in the contract: without operationIds, generated SDKs invent method names,
  Arazzo workflows cannot reference steps, MCP tool generators have no stable tool name, and any two code generators
  disagree. This overlay supplies a stable operationId for each operation, derived deterministically from the provider''s
  OWN summary text, so the names are Arkestro''s vocabulary rather than ours. The spec is not mutated; apply this
  overlay to reproduce the enhancement. These ids are API Evangelist''s proposal and are NOT served by Arkestro.'
actions:
- target: $.info
  update:
    x-apievangelist-profile: https://apievangelist.com/providers/arkestro
    x-apievangelist-note: operationIds added by overlay; absent from the published contract
- target: $.paths['/api/v2/business_units'].get
  update:
    operationId: listBusinessUnits
- target: $.paths['/api/v2/corporate/categories'].get
  update:
    operationId: listCategories
- target: $.paths['/api/v2/corporate/categories'].post
  update:
    operationId: createCategory
- target: $.paths['/api/v2/corporate/categories/{id}'].get
  update:
    operationId: showCategory
- target: $.paths['/api/v2/corporate/categories/{id}'].patch
  update:
    operationId: updateCategory
- target: $.paths['/api/v2/corporate/categories/{id}'].delete
  update:
    operationId: deleteCategory
- target: $.paths['/api/v2/corporate/items'].get
  update:
    operationId: listItems
- target: $.paths['/api/v2/corporate/items'].post
  update:
    operationId: createItem
- target: $.paths['/api/v2/corporate/items/{id}'].get
  update:
    operationId: showItem
- target: $.paths['/api/v2/corporate/items/{id}'].patch
  update:
    operationId: updateItem
- target: $.paths['/api/v2/corporate/items/{id}'].delete
  update:
    operationId: deleteItem
- target: $.paths['/api/v2/supplier_contacts'].get
  update:
    operationId: listContacts
- target: $.paths['/api/v2/supplier_contacts'].post
  update:
    operationId: createSupplierContact
- target: $.paths['/api/v2/supplier_contacts/{id}'].get
  update:
    operationId: showContact
- target: $.paths['/api/v2/supplier_contacts/{id}'].patch
  update:
    operationId: updateSupplierContact
- target: $.paths['/api/v2/supplier_contacts/{id}'].delete
  update:
    operationId: deleteContact
- target: $.paths['/api/v2/supplier_organizations'].get
  update:
    operationId: listSupplierOrganizations
- target: $.paths['/api/v2/supplier_organizations'].post
  update:
    operationId: createSupplierOrganization
- target: $.paths['/api/v2/supplier_organizations/{id}'].get
  update:
    operationId: getSupplierOrganization
- target: $.paths['/api/v2/supplier_organizations/{id}'].patch
  update:
    operationId: updateSupplierOrganization
- target: $.paths['/api/v2/corporate/purchase_orders'].get
  update:
    operationId: listPurchaseOrders
- target: $.paths['/api/v2/corporate/purchase_orders'].post
  update:
    operationId: createPurchaseOrder
- target: $.paths['/api/v2/corporate/purchase_orders/{id}'].get
  update:
    operationId: showPurchaseOrder
- target: $.paths['/api/v2/corporate/purchase_orders/{id}'].patch
  update:
    operationId: updatePurchaseOrder
- target: $.paths['/api/v2/corporate/purchase_orders/{id}'].delete
  update:
    operationId: deletePurchaseOrder
- target: $.paths['/api/v2/events'].get
  update:
    operationId: listEvents
- target: $.paths['/api/v2/events'].post
  update:
    operationId: createEvent
- target: $.paths['/api/v2/events/{id}'].get
  update:
    operationId: showEvent
- target: $.paths['/api/v2/events/{id}'].patch
  update:
    operationId: updateEvent
- target: $.paths['/api/v2/events/{id}'].delete
  update:
    operationId: deleteEvent
- target: $.paths['/api/v2/events/{id}/award'].get
  update:
    operationId: showAwardedEvent
- target: $.paths['/api/v2/events/{id}/schedule'].get
  update:
    operationId: showSchedule
- target: $.paths['/api/v2/events/{event_id}/document_submissions'].get
  update:
    operationId: listDocumentSubmissions
- target: $.paths['/api/v2/events/{event_id}/documents'].get
  update:
    operationId: listDocuments
- target: $.paths['/api/v2/events/{event_id}/documents'].post
  update:
    operationId: createDocument
- target: $.paths['/api/v2/events/{event_id}/documents/{id}'].get
  update:
    operationId: showDocument
- target: $.paths['/api/v2/events/{event_id}/documents/{id}'].patch
  update:
    operationId: updateDocument
- target: $.paths['/api/v2/events/{event_id}/documents/{id}'].delete
  update:
    operationId: deleteDocument
- target: $.paths['/api/v2/quote_submissions'].get
  update:
    operationId: listQuoteSubmissions
- target: $.paths['/api/v2/quote_submissions/{id}'].get
  update:
    operationId: showQuoteSubmission
- target: $.paths['/api/v2/event_analytics/metrics/export_task'].post
  update:
    operationId: metrics
- target: $.paths['/api/v2/event_analytics/rounds/export_task'].post
  update:
    operationId: rounds
- target: $.paths['/api/v2/event_analytics/buyer_leaderboards'].get
  update:
    operationId: buyerLeaderboards
- target: $.paths['/api/v2/event_analytics/quotes'].get
  update:
    operationId: quotes
- target: $.paths['/api/v2/event_analytics/supplier_invitation_statuses'].get
  update:
    operationId: supplierInvitationStatuses
- target: $.paths['/api/v2/event_analytics/survey_results'].get
  update:
    operationId: surveyResults