Opply Public Buyer Onboarding API

The Public Buyer Onboarding API from Opply — 23 operation(s) for public buyer onboarding.

Operations 24

GET /api/v1/buyer-onboarding/public/buyers/{uuid}/ Get buyer onboarding details #
GET /api/v1/buyer-onboarding/public/buyers/{uuid}/account-details/ Get account details #
POST /api/v1/buyer-onboarding/public/buyers/{uuid}/account-details/create/ Create account details #
PATCH /api/v1/buyer-onboarding/public/buyers/{uuid}/account-details/update/ Update account details #
GET /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-addresses/ Get delivery addresses #
DELETE /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-addresses/{address_uuid}/delete/ Delete delivery address #
PATCH /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-addresses/{address_uuid}/update/ Update delivery address #
POST /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-addresses/create/ Create delivery address #
GET /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-details/ Get delivery details #
POST /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-details/create/ Create delivery details #
PATCH /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-details/update/ Update delivery details #
GET /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-emails/ Get or update delivery emails #
POST /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-emails/ Get or update delivery emails #
GET /api/v1/buyer-onboarding/public/buyers/{uuid}/documents/ List documents #
DELETE /api/v1/buyer-onboarding/public/buyers/{uuid}/documents/{document_uuid}/delete/ Delete document #
POST /api/v1/buyer-onboarding/public/buyers/{uuid}/documents/upload/ Upload document #
GET /api/v1/buyer-onboarding/public/buyers/{uuid}/phases/ Get onboarding phases #
GET /api/v1/buyer-onboarding/public/buyers/{uuid}/steps/ List buyer onboarding steps #
GET /api/v1/buyer-onboarding/public/buyers/{uuid}/steps/{step_id}/ Get buyer onboarding step #
GET /api/v1/buyer-onboarding/public/buyers/{uuid}/suppliers/ List suppliers #
GET /api/v1/buyer-onboarding/public/buyers/{uuid}/suppliers/{supplier_id}/ Get supplier details #
PATCH /api/v1/buyer-onboarding/public/buyers/{uuid}/suppliers/{supplier_id}/update/ Update supplier #
POST /api/v1/buyer-onboarding/public/buyers/{uuid}/suppliers/complete/ Mark supplier section as complete #
POST /api/v1/buyer-onboarding/public/buyers/{uuid}/suppliers/create/ Create supplier #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/opply-public-buyer-onboarding-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

opply-public-buyer-onboarding-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Opply Activity Feed Public Buyer Onboarding API
  version: 0.0.0
servers:
- url: https://api.opply.com
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Public Buyer Onboarding
paths:
  /api/v1/buyer-onboarding/public/buyers/{uuid}/:
    get:
      operationId: api_v1_buyer_onboarding_public_buyers_retrieve
      description: Get buyer onboarding details including country information.
      summary: Get buyer onboarding details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyerOnboardingDetail'
          description: ''
        '404':
          description: Buyer onboarding not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/account-details/:
    get:
      operationId: api_v1_buyer_onboarding_public_buyers_account_details_retrieve
      description: Get account details for this buyer.
      summary: Get account details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountDetail'
          description: ''
        '404':
          description: Account details not found or buyer onboarding not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/account-details/create/:
    post:
      operationId: api_v1_buyer_onboarding_public_buyers_account_details_create_create
      description: Create account details for this buyer. Can only be created once.
      summary: Create account details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountDetail'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AccountDetail'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/AccountDetail'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountDetail'
          description: ''
        '400':
          description: Invalid input data or account details already exist
        '404':
          description: Buyer onboarding not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/account-details/update/:
    patch:
      operationId: api_v1_buyer_onboarding_public_buyers_account_details_update_partial_update
      description: Update account details for this buyer.
      summary: Update account details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedAccountDetail'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedAccountDetail'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedAccountDetail'
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountDetail'
          description: ''
        '400':
          description: Invalid input data
        '404':
          description: Account details not found or buyer onboarding not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-addresses/:
    get:
      operationId: api_v1_buyer_onboarding_public_buyers_delivery_addresses_list
      description: Get all delivery addresses for the buyer onboarding.
      summary: Get delivery addresses
      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
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBuyerOnboardingDeliveryAddressList'
          description: ''
  /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-addresses/{address_uuid}/delete/:
    delete:
      operationId: api_v1_buyer_onboarding_public_buyers_delivery_addresses_delete_destroy
      description: Delete a delivery address by UUID.
      summary: Delete delivery address
      parameters:
      - in: path
        name: address_uuid
        schema:
          type: string
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '204':
          description: Address deleted successfully
        '404':
          description: Address not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-addresses/{address_uuid}/update/:
    patch:
      operationId: api_v1_buyer_onboarding_public_buyers_delivery_addresses_update_partial_update
      description: Update an existing delivery address by UUID.
      summary: Update delivery address
      parameters:
      - in: path
        name: address_uuid
        schema:
          type: string
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBuyerOnboardingDeliveryAddress'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBuyerOnboardingDeliveryAddress'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBuyerOnboardingDeliveryAddress'
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyerOnboardingDeliveryAddress'
          description: ''
        '400':
          description: Validation error
        '404':
          description: Address not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-addresses/create/:
    post:
      operationId: api_v1_buyer_onboarding_public_buyers_delivery_addresses_create_create
      description: Create a new delivery address for the buyer onboarding.
      summary: Create delivery address
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuyerOnboardingDeliveryAddress'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuyerOnboardingDeliveryAddress'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuyerOnboardingDeliveryAddress'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyerOnboardingDeliveryAddress'
          description: ''
        '400':
          description: Validation error
  /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-details/:
    get:
      operationId: api_v1_buyer_onboarding_public_buyers_delivery_details_retrieve
      description: Get delivery details for this buyer.
      summary: Get delivery details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeliveryDetails'
          description: ''
        '404':
          description: Delivery details not found or buyer onboarding not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-details/create/:
    post:
      operationId: api_v1_buyer_onboarding_public_buyers_delivery_details_create_create
      description: Create delivery details for this buyer. Can only be created once.
      summary: Create delivery details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeliveryDetails'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeliveryDetails'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DeliveryDetails'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeliveryDetails'
          description: ''
        '400':
          description: Invalid input data or delivery details already exist
        '404':
          description: Buyer onboarding not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-details/update/:
    patch:
      operationId: api_v1_buyer_onboarding_public_buyers_delivery_details_update_partial_update
      description: Update delivery details for this buyer.
      summary: Update delivery details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedDeliveryDetails'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedDeliveryDetails'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedDeliveryDetails'
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeliveryDetails'
          description: ''
        '400':
          description: Invalid input data
        '404':
          description: Delivery details not found or buyer onboarding not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/delivery-emails/:
    get:
      operationId: api_v1_buyer_onboarding_public_buyers_delivery_emails_list
      description: 'GET: Get all delivery emails for the buyer onboarding.


        POST: Create or update delivery emails. Accepts an object with ''delivery_emails'' array. If UUID is provided and exists, the email will be updated. If UUID is not provided or doesn''t exist, a new email will be created. Emails not in the payload will be deleted.'
      summary: Get or update delivery emails
      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
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDeliveryEmailList'
          description: ''
        '400':
          description: Validation error
    post:
      operationId: api_v1_buyer_onboarding_public_buyers_delivery_emails_create
      description: 'GET: Get all delivery emails for the buyer onboarding.


        POST: Create or update delivery emails. Accepts an object with ''delivery_emails'' array. If UUID is provided and exists, the email will be updated. If UUID is not provided or doesn''t exist, a new email will be created. Emails not in the payload will be deleted.'
      summary: Get or update delivery emails
      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
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeliveryEmailList'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeliveryEmailList'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DeliveryEmailList'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDeliveryEmailList'
          description: ''
        '400':
          description: Validation error
  /api/v1/buyer-onboarding/public/buyers/{uuid}/documents/:
    get:
      operationId: api_v1_buyer_onboarding_public_buyers_documents_list
      description: Get all documents for the buyer onboarding.
      summary: List documents
      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
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBuyerOnboardingDocumentList'
          description: ''
  /api/v1/buyer-onboarding/public/buyers/{uuid}/documents/{document_uuid}/delete/:
    delete:
      operationId: api_v1_buyer_onboarding_public_buyers_documents_delete_destroy
      description: Delete a document by UUID.
      summary: Delete document
      parameters:
      - in: path
        name: document_uuid
        schema:
          type: string
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '204':
          description: Document deleted successfully
        '404':
          description: Document not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/documents/upload/:
    post:
      operationId: api_v1_buyer_onboarding_public_buyers_documents_upload_create
      description: Upload a document for the buyer onboarding.
      summary: Upload document
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuyerOnboardingDocument'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuyerOnboardingDocument'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuyerOnboardingDocument'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyerOnboardingDocument'
          description: ''
        '400':
          description: Validation error
  /api/v1/buyer-onboarding/public/buyers/{uuid}/phases/:
    get:
      operationId: api_v1_buyer_onboarding_public_buyers_phases_list
      description: Get all available onboarding phases with their step templates.
      summary: Get onboarding phases
      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
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedOnboardingStepTemplateList'
          description: ''
        '404':
          description: Buyer onboarding not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/steps/:
    get:
      operationId: api_v1_buyer_onboarding_public_buyers_steps_list
      description: Get all onboarding steps for this buyer, organized by phase.
      summary: List buyer onboarding steps
      parameters:
      - in: query
        name: is_completed
        schema:
          type: boolean
        description: Filter by completion status (true/false)
      - 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
      - in: query
        name: phase
        schema:
          type: string
        description: Filter by phase (phase_1, phase_2, phase_3, phase_4)
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBuyerOnboardingStepList'
          description: ''
        '404':
          description: Buyer onboarding not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/steps/{step_id}/:
    get:
      operationId: api_v1_buyer_onboarding_public_buyers_steps_retrieve
      description: Get details of a specific onboarding step.
      summary: Get buyer onboarding step
      parameters:
      - in: path
        name: step_id
        schema:
          type: string
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyerOnboardingStep'
          description: ''
        '404':
          description: Step not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/suppliers/:
    get:
      operationId: api_v1_buyer_onboarding_public_buyers_suppliers_list
      description: Get all suppliers for this buyer.
      summary: List suppliers
      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
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSupplierList'
          description: ''
        '404':
          description: Buyer onboarding not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/suppliers/{supplier_id}/:
    get:
      operationId: api_v1_buyer_onboarding_public_buyers_suppliers_retrieve
      description: Get details of a specific supplier.
      summary: Get supplier details
      parameters:
      - in: path
        name: supplier_id
        schema:
          type: string
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Supplier'
          description: ''
        '404':
          description: Supplier not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/suppliers/{supplier_id}/update/:
    patch:
      operationId: api_v1_buyer_onboarding_public_buyers_suppliers_update_partial_update
      description: Update a supplier for this buyer.
      summary: Update supplier
      parameters:
      - in: path
        name: supplier_id
        schema:
          type: string
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSupplier'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSupplier'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSupplier'
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Supplier'
          description: ''
        '400':
          description: Invalid input data
        '404':
          description: Supplier not found or buyer onboarding not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/suppliers/complete/:
    post:
      operationId: api_v1_buyer_onboarding_public_buyers_suppliers_complete_create
      description: Mark the supplier section as complete for this buyer.
      summary: Mark supplier section as complete
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuyerOnboardingStep'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuyerOnboardingStep'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuyerOnboardingStep'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          description: Supplier section marked as complete
        '404':
          description: Buyer onboarding not found
  /api/v1/buyer-onboarding/public/buyers/{uuid}/suppliers/create/:
    post:
      operationId: api_v1_buyer_onboarding_public_buyers_suppliers_create_create
      description: Create a new supplier for this buyer.
      summary: Create supplier
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
          description: Unique identifier for sharing the onboarding form
        required: true
      tags:
      - Public Buyer Onboarding
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Supplier'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Supplier'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Supplier'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      - {}
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Supplier'
          description: ''
        '400':
          description: Invalid input data
        '404':
          description: Buyer onboarding not found
components:
  schemas:
    Supplier:
      type: object
      description: 'Serializer for supplier information.


        Only includes fields that are actively used in the public buyer onboarding form.

        Other model fields are kept for backward compatibility but not exposed in the API.'
      properties:
        id:
          type: integer
          readOnly: true
        supplier_name:
          type: string
          description: Supplier name
          maxLength: 255
        average_monthly_spend:
          type:
          - string
          - 'null'
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          description: Average monthly spend with this supplier
        invoice_currency:
          type: string
          description: Invoice/Payment currency (e.g., USD, GBP, EUR)
          maxLength: 3
        payment_terms:
          type: string
          description: Supplier payment terms
        priority:
          description: 'Priority to onboard this supplier


            * `high` - High

            * `medium` - Medium

            * `low` - Low'
          oneOf:
          - $ref: '#/components/schemas/PriorityEnum'
          - $ref: '#/components/schemas/BlankEnum'
        supplier_country:
          type: string
          description: Supplier country
          maxLength: 100
        arranges_delivery:
          type: boolean
          description: Does the supplier arrange delivery?
        lead_time:
          type: string
          description: Agreed lead time
          maxLength: 255
        is_organic:
          type: boolean
          description: Is this an organic supplier?
        relationship_notes:
          type: string
          description: Any noteworthy information about your trading relationship
        supplier_spreadsheet:
          type:
          - string
          - 'null'
          format: uri
          description: Supplier spreadsheet
        supplier_spreadsheet_url:
          type: string
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        modified_at:
          type: string
          format: date-time
          readOnly: true
      required:
      - created_at
      - id
      - modified_at
      - supplier_name
      - supplier_spreadsheet_url
    AccessRequirementsEnum:
      enum:
      - delivery_appointment
      - inside_delivery
      - lift_gate
      type: string
      description: '* `delivery_appointment` - Delivery appointment requirement

        * `inside_delivery` - Inside delivery Required

        * `lift_gate` - Lift gate required'
    CountryTypeEnum:
      enum:
      - EU
      - GB
      - Other
      type: string
      description: '* `EU` - Eu

        * `GB` - Gb

        * `Other` - Other'
    BuyerOnboardingStep:
      type: object
      description: Serializer for buyer onboarding step with template information.
      properties:
        id:
          type: integer
          readOnly: true
        template_step:
          type: integer
          description: The template this step is based on
        template_phase:
          type: string
          readOnly: true
        template_phase_display:
          type: string
          readOnly: true
        process_description:
          type: string
          readOnly: true
        template_step_order:
          type: integer
          readOnly: true
        notes:
          type: string
          description: Buyer-specific notes for this step
        is_completed:
          type: boolean
          description: Whether this step is completed
        completed_at:
          type:
          - string
          - 'null'
          format: date-time
  

# --- truncated at 32 KB (81 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/opply/refs/heads/main/openapi/opply-public-buyer-onboarding-api-openapi.yml