OpenAPI Specification
openapi: 3.0.3
info:
title: Opply Activity Feed api API
version: 0.0.0
tags:
- name: api
paths:
/api/schema/:
get:
operationId: api_schema_retrieve
description: 'OpenApi3 schema for this API. Format can be selected via content negotiation.
- YAML: application/vnd.oai.openapi
- JSON: application/vnd.oai.openapi+json'
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- yaml
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
- {}
responses:
'200':
content:
application/vnd.oai.openapi:
schema:
type: object
additionalProperties: {}
application/yaml:
schema:
type: object
additionalProperties: {}
application/vnd.oai.openapi+json:
schema:
type: object
additionalProperties: {}
application/json:
schema:
type: object
additionalProperties: {}
description: ''
/api/v1/agents/agent-task-runs/{run_uuid}/claim/:
post:
operationId: api_v1_agents_agent_task_runs_claim_create
description: 'Atomic ``dispatching → running`` transition. The agent-side dedup point.
Called by the task-runner harness immediately on workflow entry. The
first invocation wins (status flips, 200 returned); any duplicate
dispatch for the same ``run_uuid`` loses the status guard and gets
409. Resolves the historical "delivery state unknown" ambiguity
when the dispatcher''s POST to AgentCore times out and Celery
autoretries — both invocations may execute, but only one claims.'
parameters:
- in: path
name: run_uuid
schema:
type: string
format: uuid
required: true
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
description: Claim succeeded — run advanced to running.
'403':
description: Run is not owned by the caller installation.
'404':
description: Run not found.
'409':
description: Lost claim race — run is not in dispatching.
/api/v1/agents/agent-task-runs/{run_uuid}/complete/:
post:
operationId: api_v1_agents_agent_task_runs_complete_create
description: Agent-only callback to mark an ``AgentTaskRun`` terminal.
parameters:
- in: path
name: run_uuid
schema:
type: string
format: uuid
required: true
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
description: Run marked terminal (idempotent on double-complete).
'400':
description: Invalid request body.
'403':
description: Run is not owned by the caller installation.
'404':
description: Run not found.
'409':
description: Run is not in running state — claim must precede complete.
/api/v1/agents/agent-task-runs/{run_uuid}/heartbeat/:
post:
operationId: api_v1_agents_agent_task_runs_heartbeat_create
description: 'Refresh ``last_heartbeat_at`` on a running run.
Agent calls this every ~30s while executing. Single UPDATE — no
SELECT, no transaction — at this cadence the cost matters. A 409
response is the agent''s signal to abort its loop: the run has been
re-dispatched as a fresh row, watchdog-timed-out, cancelled, or
moved out of running for some other reason.'
parameters:
- in: path
name: run_uuid
schema:
type: string
format: uuid
required: true
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: Heartbeat refreshed.
'409':
description: Run is no longer in running state — agent should abort its loop.
/api/v1/agents/buyer-onboarding/invocations/:
post:
operationId: api_v1_agents_buyer_onboarding_invocations_create
description: "Streaming proxy for ``POST /api/v1/agents/buyer-onboarding/invocations/``.\n\nBody:\n - ``prompt``: required str.\n - ``session_id``: optional; defaults to a fresh ``opply-<uuid4hex>``.\n - ``batch_uuid``: optional. When present, the proxy validates that\n the batch belongs to ``request.user_company``, loads its invoices,\n mints short-TTL presigned URLs, and forwards them as\n ``invoices: [{uuid, filename, mime, signed_url, page_count}]`` in\n the upstream payload. Cross-tenant attempts 404.\n\nResponse: ``text/event-stream`` of ``AgentStreamEvent`` frames — see\n``packages/agent-protocol/src/index.ts``. The agent emits the new\n``opplyExtractionStarted | Progress | Complete | Failed`` variants."
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
description: No response body
/api/v1/agents/feedback/:
post:
operationId: api_v1_agents_feedback_create
description: Create / upsert one feedback row per (user, agent_name, invocation_id).
tags:
- api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AgentResponseFeedbackRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AgentResponseFeedbackRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AgentResponseFeedbackRequest'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AgentResponseFeedback'
description: New feedback row.
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AgentResponseFeedback'
description: Existing row updated (upsert).
'400':
description: Invalid request body or cross-polarity tag combination.
'403':
description: No company context on the request.
/api/v1/agents/opply-assistant/invocations/:
post:
operationId: api_v1_agents_opply_assistant_invocations_create
description: 'Streaming proxy for ``POST /api/v1/agents/opply-assistant/invocations/``.
opply-assistant — orchestrator hosting the buyer-assistant worker. The
request''s ``channel`` field selects the AgentCore version channel
(``next`` → the candidate endpoint). See ``_AssistantInvocationsBaseView``
for the shared chat-proxy contract (auth, throttling, response format,
request body shape).'
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
description: No response body
/api/v1/agents/opply-assistant/sessions/me/:
get:
operationId: api_v1_agents_opply_assistant_sessions_me_retrieve
description: '``GET`` / ``DELETE`` the opply-assistant session pointer for the current user.
See ``_AssistantSessionMeBaseView`` for the shared contract.'
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AgentSession'
description: ''
'204':
description: No active session yet for this user.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/AgentDetailError'
description: An active company is required to access agent sessions.
delete:
operationId: api_v1_agents_opply_assistant_sessions_me_destroy
description: '``GET`` / ``DELETE`` the opply-assistant session pointer for the current user.
See ``_AssistantSessionMeBaseView`` for the shared contract.'
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: Session cleared (idempotent — same response when no row existed).
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/AgentDetailError'
description: An active company is required to access agent sessions.
'502':
content:
application/json:
schema:
$ref: '#/components/schemas/AgentDetailError'
description: Session clearing is temporarily unavailable. Please try again.
/api/v1/agents/opply-assistant/sessions/me/events/:
get:
operationId: api_v1_agents_opply_assistant_sessions_me_events_retrieve
description: '``GET`` the opply-assistant conversation transcript for the active session.
See ``_AssistantSessionEventsBaseView`` for the shared contract.'
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AgentSessionMessages'
description: ''
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/AgentDetailError'
description: An active company is required to access agent sessions.
/api/v1/agents/unleashed-invoice-assistant/invocations/:
post:
operationId: api_v1_agents_unleashed_invoice_assistant_invocations_create
description: "Streaming proxy for ``POST /api/v1/agents/unleashed-invoice-assistant/invocations/``.\n\nBody:\n - ``session_id``: optional; defaults to a fresh ``opply-<uuid4hex>``.\n - ``prompt``: optional; ignored by the agent but forwarded for parity.\n\nResponse: ``text/event-stream`` of ``AgentStreamEvent`` frames. The agent\nemits the ``opplyExtraction*`` variants itself."
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
description: No response body
/api/v1/agents/xero-invoice-assistant/invocations/:
post:
operationId: api_v1_agents_xero_invoice_assistant_invocations_create
description: "Streaming proxy for ``POST /api/v1/agents/xero-invoice-assistant/invocations/``.\n\nBody:\n - ``session_id``: optional; defaults to a fresh ``opply-<uuid4hex>``.\n - ``prompt``: optional; ignored by the agent but forwarded for parity.\n\nResponse: ``text/event-stream`` of ``AgentStreamEvent`` frames. The agent\nemits the ``opplyExtraction*`` variants itself."
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
description: No response body
/api/v1/agreements/lead-generation-jobs/:
get:
operationId: api_v1_agreements_lead_generation_jobs_list
description: GET and POST API endpoint for LeadGenerationJob - isolated feature
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLeadGenerationJobList'
description: ''
post:
operationId: api_v1_agreements_lead_generation_jobs_create
description: GET and POST API endpoint for LeadGenerationJob - isolated feature
tags:
- api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LeadGenerationJob'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LeadGenerationJob'
multipart/form-data:
schema:
$ref: '#/components/schemas/LeadGenerationJob'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/LeadGenerationJob'
description: ''
/api/v1/app-orders/alerts/:
get:
operationId: api_v1_app_orders_alerts_list
description: GET API endpoint for Alerts - isolated feature
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAlertsList'
description: ''
/api/v1/app-orders/brand/order-adjustments/:
get:
operationId: api_v1_app_orders_brand_order_adjustments_list
description: 'Buyer-side read access to OrderAdjustment.
Buyers can list and fetch credit/debit notes that belong to their own
company. VOID rows are hidden — they''re audit history with no buyer-facing
value. Writes (create / apply / finalise / void) are MoR-only (sc-2888).
The buyer-facing serializer also strips `supplier_document_url` so the
supplier''s internal credit/debit note PDF never reaches the buyer.'
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedOrderAdjustmentListList'
description: ''
/api/v1/app-orders/brand/order-adjustments/{uuid}/:
get:
operationId: api_v1_app_orders_brand_order_adjustments_retrieve
description: 'Buyer-side read access to OrderAdjustment.
Buyers can list and fetch credit/debit notes that belong to their own
company. VOID rows are hidden — they''re audit history with no buyer-facing
value. Writes (create / apply / finalise / void) are MoR-only (sc-2888).
The buyer-facing serializer also strips `supplier_document_url` so the
supplier''s internal credit/debit note PDF never reaches the buyer.'
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BuyerOrderAdjustmentDetail'
description: ''
/api/v1/app-orders/forecasts/:
get:
operationId: api_v1_app_orders_forecasts_list
description: GET API endpoint for Forecast - isolated feature
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedForecastList'
description: ''
/api/v1/app-orders/merchant-of-record/order-adjustments/:
get:
operationId: api_v1_app_orders_merchant_of_record_order_adjustments_list
description: 'MoR-facing endpoints for buyer credit/debit notes (OrderAdjustment).
Lifecycle: AVAILABLE → APPLIED, AVAILABLE → PENDING_APPLICATION → APPLIED,
or any → VOID. Provider integration (Stripe / Two) is dispatched by the
`credit_note_service`; this viewset only orchestrates HTTP I/O and translates
service-layer exceptions to 4xx responses.'
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedOrderAdjustmentListList'
description: ''
post:
operationId: api_v1_app_orders_merchant_of_record_order_adjustments_create
description: 'MoR-facing endpoints for buyer credit/debit notes (OrderAdjustment).
Lifecycle: AVAILABLE → APPLIED, AVAILABLE → PENDING_APPLICATION → APPLIED,
or any → VOID. Provider integration (Stripe / Two) is dispatched by the
`credit_note_service`; this viewset only orchestrates HTTP I/O and translates
service-layer exceptions to 4xx responses.'
summary: Create a new OrderAdjustment in AVAILABLE state (multipart upload)
tags:
- api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrderAdjustmentCreate'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/OrderAdjustmentCreate'
multipart/form-data:
schema:
$ref: '#/components/schemas/OrderAdjustmentCreate'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/OrderAdjustmentDetail'
description: ''
'400':
description: Validation error (invalid amounts, type, or unsupported provider)
'404':
description: Originating order not found in this MoR's scope
/api/v1/app-orders/merchant-of-record/order-adjustments/{uuid}/:
get:
operationId: api_v1_app_orders_merchant_of_record_order_adjustments_retrieve
description: 'MoR-facing endpoints for buyer credit/debit notes (OrderAdjustment).
Lifecycle: AVAILABLE → APPLIED, AVAILABLE → PENDING_APPLICATION → APPLIED,
or any → VOID. Provider integration (Stripe / Two) is dispatched by the
`credit_note_service`; this viewset only orchestrates HTTP I/O and translates
service-layer exceptions to 4xx responses.'
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OrderAdjustmentDetail'
description: ''
/api/v1/app-orders/merchant-of-record/order-adjustments/{uuid}/apply/:
post:
operationId: api_v1_app_orders_merchant_of_record_order_adjustments_apply_create
description: 'MoR-facing endpoints for buyer credit/debit notes (OrderAdjustment).
Lifecycle: AVAILABLE → APPLIED, AVAILABLE → PENDING_APPLICATION → APPLIED,
or any → VOID. Provider integration (Stripe / Two) is dispatched by the
`credit_note_service`; this viewset only orchestrates HTTP I/O and translates
service-layer exceptions to 4xx responses.'
summary: Apply an AVAILABLE adjustment to a target order
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrderAdjustmentApply'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/OrderAdjustmentApply'
multipart/form-data:
schema:
$ref: '#/components/schemas/OrderAdjustmentApply'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OrderAdjustmentDetail'
description: ''
'400':
description: Validation error (currency / provider mismatch, invoice state, etc.)
'404':
description: Target order not found in this MoR's scope
'409':
description: Invalid state transition (e.g. adjustment is not AVAILABLE)
/api/v1/app-orders/merchant-of-record/order-adjustments/{uuid}/finalise/:
post:
operationId: api_v1_app_orders_merchant_of_record_order_adjustments_finalise_create
description: 'MoR-facing endpoints for buyer credit/debit notes (OrderAdjustment).
Lifecycle: AVAILABLE → APPLIED, AVAILABLE → PENDING_APPLICATION → APPLIED,
or any → VOID. Provider integration (Stripe / Two) is dispatched by the
`credit_note_service`; this viewset only orchestrates HTTP I/O and translates
service-layer exceptions to 4xx responses.'
summary: Finalise a PENDING_APPLICATION adjustment now that the target invoice exists
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OrderAdjustmentDetail'
description: ''
'400':
description: Target invoice not yet ready or other validation error
'409':
description: Adjustment not in PENDING_APPLICATION state
/api/v1/app-orders/merchant-of-record/order-adjustments/{uuid}/supplier-document/:
get:
operationId: api_v1_app_orders_merchant_of_record_order_adjustments_supplier_document_retrieve
description: 'MoR-facing endpoints for buyer credit/debit notes (OrderAdjustment).
Lifecycle: AVAILABLE → APPLIED, AVAILABLE → PENDING_APPLICATION → APPLIED,
or any → VOID. Provider integration (Stripe / Two) is dispatched by the
`credit_note_service`; this viewset only orchestrates HTTP I/O and translates
service-layer exceptions to 4xx responses.'
summary: Download the supplier-uploaded credit/debit note file
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
description: The supplier-uploaded credit/debit note file
'404':
description: Supplier document not found
/api/v1/app-orders/merchant-of-record/order-adjustments/{uuid}/void/:
post:
operationId: api_v1_app_orders_merchant_of_record_order_adjustments_void_create
description: 'MoR-facing endpoints for buyer credit/debit notes (OrderAdjustment).
Lifecycle: AVAILABLE → APPLIED, AVAILABLE → PENDING_APPLICATION → APPLIED,
or any → VOID. Provider integration (Stripe / Two) is dispatched by the
`credit_note_service`; this viewset only orchestrates HTTP I/O and translates
service-layer exceptions to 4xx responses.'
summary: Void an adjustment (idempotent on already-VOID rows)
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OrderAdjustmentDetail'
description: ''
'400':
description: Validation error from the service layer (e.g. unsupported provider/type)
'409':
description: Concurrent state change between provider void and persist
/api/v1/app-orders/trends/:
get:
operationId: api_v1_app_orders_trends_list
description: GET API endpoint for Trends - isolated feature
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedTrendsList'
description: ''
/api/v1/companies/document-types/:
get:
operationId: api_v1_companies_document_types_list
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DocumentType'
description: ''
/api/v1/companies/document-types/{uuid}/:
get:
operationId: api_v1_companies_document_types_retrieve
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentType'
description: ''
/api/v1/companies/mor/onboarding-suppliers/{uuid}/notes/:
get:
operationId: api_v1_companies_mor_onboarding_suppliers_notes_list
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MerchantOfRecordNote'
description: ''
post:
operationId: api_v1_companies_mor_onboarding_suppliers_notes_create
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MerchantOfRecordNote'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MerchantOfRecordNote'
multipart/form-data:
schema:
$ref: '#/components/schemas/MerchantOfRecordNote'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/MerchantOfRecordNote'
description: ''
/api/v1/companies/mor/onboarding-suppliers/{uuid}/notes/{note_uuid}/:
get:
operationId: api_v1_companies_mor_onboarding_suppliers_notes_retrieve
parameters:
- in: path
name: note_uuid
schema:
type: string
format: uuid
required: true
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MerchantOfRecordNote'
description: ''
put:
operationId: api_v1_companies_mor_onboarding_suppliers_notes_update
parameters:
- in: path
name: note_uuid
schema:
type: string
format: uuid
required: true
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MerchantOfRecordNote'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MerchantOfRecordNote'
multipart/form-data:
schema:
$ref: '#/components/schemas/MerchantOfRecordNote'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MerchantOfRecordNote'
description: ''
delete:
operationId: api_v1_companies_mor_onboarding_suppliers_notes_destroy
parameters:
- in: path
name: note_uuid
schema:
type: string
format: uuid
required: true
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/v1/companies/mor/suppliers/{uuid}/notes/:
get:
operationId: api_v1_companies_mor_suppliers_notes_list
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- api
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MerchantOfRecordNote'
description: ''
post:
operationId: api_v1_companies_mor_suppliers_notes_create
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- api
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MerchantOfRecordNote'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MerchantOfRecordNote'
multipart/form-data:
schema:
$ref: '#/components/schemas/MerchantOfRecordNote'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/MerchantOfRecordNote'
description: ''
/api/v1/companies/mor/suppliers/{uuid}/notes/{note_uuid}/:
get:
operationId: api_v1_companies_mor_suppliers
# --- truncated at 32 KB (285 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/opply/refs/heads/main/openapi/opply-api-api-openapi.yml