Opply Buyers API

The Buyers API from Opply — 3 operation(s) for buyers.

OpenAPI Specification

opply-buyers-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Opply Activity Feed Buyers API
  version: 0.0.0
tags:
- name: Buyers
paths:
  /api/v1/companies/buyer/onboarding-suppliers/:
    get:
      operationId: api_v1_companies_buyer_onboarding_suppliers_list
      description: Get a list of onboarding suppliers for the current buyer company
      summary: List onboarding suppliers for buyer
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      tags:
      - Buyers
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedOnboardingSupplierListList'
          description: ''
  /api/v1/companies/buyer/onboarding-suppliers/{uuid}/:
    get:
      operationId: api_v1_companies_buyer_onboarding_suppliers_retrieve
      description: Get detailed information about an onboarding supplier for the buyer
      summary: Get onboarding supplier details
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
        required: true
      tags:
      - Buyers
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingSupplier'
          description: ''
  /api/v1/companies/buyer/supplier-requests/:
    post:
      operationId: api_v1_companies_buyer_supplier_requests_create
      description: Submit a request to onboard a new supplier. Creates a buyer_onboarding.Supplier submission in PENDING_REVIEW so it lands in the MoR supplier-submissions review queue, and fires a Zendesk ticket.
      summary: Request new supplier
      tags:
      - Buyers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupplierRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SupplierRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SupplierRequest'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyerOnboardingSupplierSubmission'
          description: ''
components:
  schemas:
    BlankEnum:
      enum:
      - ''
    PriorityEnum:
      enum:
      - high
      - medium
      - low
      type: string
      description: '* `high` - High

        * `medium` - Medium

        * `low` - Low'
    Country:
      enum:
      - AF
      - AX
      - AL
      - DZ
      - AS
      - AD
      - AO
      - AI
      - AQ
      - AG
      - AR
      - AM
      - AW
      - AU
      - AT
      - AZ
      - BS
      - BH
      - BD
      - BB
      - BY
      - BE
      - BZ
      - BJ
      - BM
      - BT
      - BO
      - BQ
      - BA
      - BW
      - BV
      - BR
      - IO
      - BN
      - BG
      - BF
      - BI
      - CV
      - KH
      - CM
      - CA
      - KY
      - CF
      - TD
      - CL
      - CN
      - CX
      - CC
      - CO
      - KM
      - CG
      - CD
      - CK
      - CR
      - CI
      - HR
      - CU
      - CW
      - CY
      - CZ
      - DK
      - DJ
      - DM
      - DO
      - EC
      - EG
      - SV
      - GQ
      - ER
      - EE
      - SZ
      - ET
      - FK
      - FO
      - FJ
      - FI
      - FR
      - GF
      - PF
      - TF
      - GA
      - GM
      - GE
      - DE
      - GH
      - GI
      - GR
      - GL
      - GD
      - GP
      - GU
      - GT
      - GG
      - GN
      - GW
      - GY
      - HT
      - HM
      - VA
      - HN
      - HK
      - HU
      - IS
      - IN
      - ID
      - IR
      - IQ
      - IE
      - IM
      - IL
      - IT
      - JM
      - JP
      - JE
      - JO
      - KZ
      - KE
      - KI
      - KW
      - KG
      - LA
      - LV
      - LB
      - LS
      - LR
      - LY
      - LI
      - LT
      - LU
      - MO
      - MG
      - MW
      - MY
      - MV
      - ML
      - MT
      - MH
      - MQ
      - MR
      - MU
      - YT
      - MX
      - FM
      - MD
      - MC
      - MN
      - ME
      - MS
      - MA
      - MZ
      - MM
      - NA
      - NR
      - NP
      - NL
      - NC
      - NZ
      - NI
      - NE
      - NG
      - NU
      - NF
      - KP
      - MK
      - XI
      - MP
      - 'NO'
      - OM
      - PK
      - PW
      - PS
      - PA
      - PG
      - PY
      - PE
      - PH
      - PN
      - PL
      - PT
      - PR
      - QA
      - RE
      - RO
      - RU
      - RW
      - BL
      - SH
      - KN
      - LC
      - MF
      - PM
      - VC
      - WS
      - SM
      - ST
      - SA
      - SN
      - RS
      - SC
      - SL
      - SG
      - SX
      - SK
      - SI
      - SB
      - SO
      - ZA
      - GS
      - KR
      - SS
      - ES
      - LK
      - SD
      - SR
      - SJ
      - SE
      - CH
      - SY
      - TW
      - TJ
      - TZ
      - TH
      - TL
      - TG
      - TK
      - TO
      - TT
      - TN
      - TR
      - TM
      - TC
      - TV
      - UG
      - UA
      - AE
      - GB
      - UM
      - US
      - UY
      - UZ
      - VU
      - VE
      - VN
      - VG
      - VI
      - WF
      - EH
      - YE
      - ZM
      - ZW
      type: string
      description: '* `AF` - Afghanistan

        * `AX` - Åland Islands

        * `AL` - Albania

        * `DZ` - Algeria

        * `AS` - American Samoa

        * `AD` - Andorra

        * `AO` - Angola

        * `AI` - Anguilla

        * `AQ` - Antarctica

        * `AG` - Antigua and Barbuda

        * `AR` - Argentina

        * `AM` - Armenia

        * `AW` - Aruba

        * `AU` - Australia

        * `AT` - Austria

        * `AZ` - Azerbaijan

        * `BS` - Bahamas

        * `BH` - Bahrain

        * `BD` - Bangladesh

        * `BB` - Barbados

        * `BY` - Belarus

        * `BE` - Belgium

        * `BZ` - Belize

        * `BJ` - Benin

        * `BM` - Bermuda

        * `BT` - Bhutan

        * `BO` - Bolivia

        * `BQ` - Bonaire, Sint Eustatius and Saba

        * `BA` - Bosnia and Herzegovina

        * `BW` - Botswana

        * `BV` - Bouvet Island

        * `BR` - Brazil

        * `IO` - British Indian Ocean Territory

        * `BN` - Brunei

        * `BG` - Bulgaria

        * `BF` - Burkina Faso

        * `BI` - Burundi

        * `CV` - Cabo Verde

        * `KH` - Cambodia

        * `CM` - Cameroon

        * `CA` - Canada

        * `KY` - Cayman Islands

        * `CF` - Central African Republic

        * `TD` - Chad

        * `CL` - Chile

        * `CN` - China

        * `CX` - Christmas Island

        * `CC` - Cocos (Keeling) Islands

        * `CO` - Colombia

        * `KM` - Comoros

        * `CG` - Congo

        * `CD` - Congo (the Democratic Republic of the)

        * `CK` - Cook Islands

        * `CR` - Costa Rica

        * `CI` - Côte d''Ivoire

        * `HR` - Croatia

        * `CU` - Cuba

        * `CW` - Curaçao

        * `CY` - Cyprus

        * `CZ` - Czechia

        * `DK` - Denmark

        * `DJ` - Djibouti

        * `DM` - Dominica

        * `DO` - Dominican Republic

        * `EC` - Ecuador

        * `EG` - Egypt

        * `SV` - El Salvador

        * `GQ` - Equatorial Guinea

        * `ER` - Eritrea

        * `EE` - Estonia

        * `SZ` - Eswatini

        * `ET` - Ethiopia

        * `FK` - Falkland Islands (Malvinas)

        * `FO` - Faroe Islands

        * `FJ` - Fiji

        * `FI` - Finland

        * `FR` - France

        * `GF` - French Guiana

        * `PF` - French Polynesia

        * `TF` - French Southern Territories

        * `GA` - Gabon

        * `GM` - Gambia

        * `GE` - Georgia

        * `DE` - Germany

        * `GH` - Ghana

        * `GI` - Gibraltar

        * `GR` - Greece

        * `GL` - Greenland

        * `GD` - Grenada

        * `GP` - Guadeloupe

        * `GU` - Guam

        * `GT` - Guatemala

        * `GG` - Guernsey

        * `GN` - Guinea

        * `GW` - Guinea-Bissau

        * `GY` - Guyana

        * `HT` - Haiti

        * `HM` - Heard Island and McDonald Islands

        * `VA` - Holy See

        * `HN` - Honduras

        * `HK` - Hong Kong

        * `HU` - Hungary

        * `IS` - Iceland

        * `IN` - India

        * `ID` - Indonesia

        * `IR` - Iran

        * `IQ` - Iraq

        * `IE` - Ireland

        * `IM` - Isle of Man

        * `IL` - Israel

        * `IT` - Italy

        * `JM` - Jamaica

        * `JP` - Japan

        * `JE` - Jersey

        * `JO` - Jordan

        * `KZ` - Kazakhstan

        * `KE` - Kenya

        * `KI` - Kiribati

        * `KW` - Kuwait

        * `KG` - Kyrgyzstan

        * `LA` - Laos

        * `LV` - Latvia

        * `LB` - Lebanon

        * `LS` - Lesotho

        * `LR` - Liberia

        * `LY` - Libya

        * `LI` - Liechtenstein

        * `LT` - Lithuania

        * `LU` - Luxembourg

        * `MO` - Macao

        * `MG` - Madagascar

        * `MW` - Malawi

        * `MY` - Malaysia

        * `MV` - Maldives

        * `ML` - Mali

        * `MT` - Malta

        * `MH` - Marshall Islands

        * `MQ` - Martinique

        * `MR` - Mauritania

        * `MU` - Mauritius

        * `YT` - Mayotte

        * `MX` - Mexico

        * `FM` - Micronesia

        * `MD` - Moldova

        * `MC` - Monaco

        * `MN` - Mongolia

        * `ME` - Montenegro

        * `MS` - Montserrat

        * `MA` - Morocco

        * `MZ` - Mozambique

        * `MM` - Myanmar

        * `NA` - Namibia

        * `NR` - Nauru

        * `NP` - Nepal

        * `NL` - Netherlands

        * `NC` - New Caledonia

        * `NZ` - New Zealand

        * `NI` - Nicaragua

        * `NE` - Niger

        * `NG` - Nigeria

        * `NU` - Niue

        * `NF` - Norfolk Island

        * `KP` - North Korea

        * `MK` - North Macedonia

        * `XI` - Northern Ireland

        * `MP` - Northern Mariana Islands

        * `NO` - Norway

        * `OM` - Oman

        * `PK` - Pakistan

        * `PW` - Palau

        * `PS` - Palestine, State of

        * `PA` - Panama

        * `PG` - Papua New Guinea

        * `PY` - Paraguay

        * `PE` - Peru

        * `PH` - Philippines

        * `PN` - Pitcairn

        * `PL` - Poland

        * `PT` - Portugal

        * `PR` - Puerto Rico

        * `QA` - Qatar

        * `RE` - Réunion

        * `RO` - Romania

        * `RU` - Russia

        * `RW` - Rwanda

        * `BL` - Saint Barthélemy

        * `SH` - Saint Helena, Ascension and Tristan da Cunha

        * `KN` - Saint Kitts and Nevis

        * `LC` - Saint Lucia

        * `MF` - Saint Martin (French part)

        * `PM` - Saint Pierre and Miquelon

        * `VC` - Saint Vincent and the Grenadines

        * `WS` - Samoa

        * `SM` - San Marino

        * `ST` - Sao Tome and Principe

        * `SA` - Saudi Arabia

        * `SN` - Senegal

        * `RS` - Serbia

        * `SC` - Seychelles

        * `SL` - Sierra Leone

        * `SG` - Singapore

        * `SX` - Sint Maarten (Dutch part)

        * `SK` - Slovakia

        * `SI` - Slovenia

        * `SB` - Solomon Islands

        * `SO` - Somalia

        * `ZA` - South Africa

        * `GS` - South Georgia and the South Sandwich Islands

        * `KR` - South Korea

        * `SS` - South Sudan

        * `ES` - Spain

        * `LK` - Sri Lanka

        * `SD` - Sudan

        * `SR` - Suriname

        * `SJ` - Svalbard and Jan Mayen

        * `SE` - Sweden

        * `CH` - Switzerland

        * `SY` - Syria

        * `TW` - Taiwan

        * `TJ` - Tajikistan

        * `TZ` - Tanzania

        * `TH` - Thailand

        * `TL` - Timor-Leste

        * `TG` - Togo

        * `TK` - Tokelau

        * `TO` - Tonga

        * `TT` - Trinidad and Tobago

        * `TN` - Tunisia

        * `TR` - Türkiye

        * `TM` - Turkmenistan

        * `TC` - Turks and Caicos Islands

        * `TV` - Tuvalu

        * `UG` - Uganda

        * `UA` - Ukraine

        * `AE` - United Arab Emirates

        * `GB` - United Kingdom

        * `UM` - United States Minor Outlying Islands

        * `US` - United States of America

        * `UY` - Uruguay

        * `UZ` - Uzbekistan

        * `VU` - Vanuatu

        * `VE` - Venezuela

        * `VN` - Vietnam

        * `VG` - Virgin Islands (British)

        * `VI` - Virgin Islands (U.S.)

        * `WF` - Wallis and Futuna

        * `EH` - Western Sahara

        * `YE` - Yemen

        * `ZM` - Zambia

        * `ZW` - Zimbabwe'
    AvailableCurrenciesEnum:
      enum:
      - EUR
      - GBP
      - USD
      type: string
      description: '* `EUR` - EUR

        * `GBP` - GBP

        * `USD` - USD'
    SupplierRequest:
      type: object
      description: 'Serializer for buyer supplier requests submitted from the portal

        "Request Supplier" form.


        Creates a ``buyer_onboarding.Supplier`` submission (default

        ``review_status=PENDING_REVIEW``) bound to the buyer''s ``BuyerOnboarding``

        so it lands in the MoR supplier-submissions review queue, where the MoR can

        match it to an existing supplier or onboard it. The view fires a Zendesk

        ticket on commit. The owning ``BuyerOnboarding`` is resolved by the view and

        passed via ``save(buyer_onboarding=...)``.'
      properties:
        supplier_name:
          type: string
          description: Supplier name
          maxLength: 255
        average_monthly_spend:
          type: string
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          nullable: true
          description: Average monthly spend
        invoice_currency:
          description: 'Invoice/Payment currency (e.g., USD, GBP, EUR)


            * `EUR` - EUR

            * `GBP` - GBP

            * `USD` - USD'
          oneOf:
          - $ref: '#/components/schemas/AvailableCurrenciesEnum'
          - $ref: '#/components/schemas/BlankEnum'
        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
          default: false
          description: Does the supplier arrange delivery?
        lead_time:
          type: string
          description: Agreed lead time
          maxLength: 255
        is_organic:
          type: boolean
          default: false
          description: Is this an organic supplier?
        relationship_notes:
          type: string
          description: Any noteworthy information about your trading relationship
        duns:
          type: string
          nullable: true
          description: DUNS number for US suppliers
          maxLength: 50
        vat_number:
          type: string
          description: Supplier VAT number
          maxLength: 64
        registration_number:
          type: string
          description: Supplier company registration number
          maxLength: 64
        contact_name:
          type: string
          description: Supplier contact name
          maxLength: 255
        contact_email:
          type: string
          format: email
          description: Supplier contact email
        contact_phone:
          type: string
          description: Supplier contact phone
          maxLength: 64
        supplier_address:
          type: string
          description: Supplier address
      required:
      - supplier_name
    AddressContactPhoneCountryCodeEnum:
      enum:
      - '+376'
      - '+971'
      - '+93'
      - '+1268'
      - '+1264'
      - '+355'
      - '+374'
      - '+244'
      - '+672'
      - '+54'
      - '+1684'
      - '+43'
      - '+61'
      - '+297'
      - '+994'
      - '+387'
      - '+1246'
      - '+880'
      - '+32'
      - '+226'
      - '+359'
      - '+973'
      - '+257'
      - '+229'
      - '+590'
      - '+1441'
      - '+673'
      - '+591'
      - '+55'
      - '+1242'
      - '+975'
      - '+267'
      - '+375'
      - '+501'
      - '+1'
      - '+243'
      - '+236'
      - '+242'
      - '+41'
      - '+225'
      - '+682'
      - '+56'
      - '+237'
      - '+86'
      - '+57'
      - '+506'
      - '+53'
      - '+238'
      - '+357'
      - '+420'
      - '+49'
      - '+253'
      - '+45'
      - '+1767'
      - '+1809'
      - '+213'
      - '+593'
      - '+372'
      - '+20'
      - '+212'
      - '+291'
      - '+34'
      - '+251'
      - '+358'
      - '+679'
      - '+500'
      - '+691'
      - '+298'
      - '+33'
      - '+241'
      - '+44'
      - '+1473'
      - '+995'
      - '+594'
      - '+441481'
      - '+233'
      - '+350'
      - '+299'
      - '+220'
      - '+224'
      - '+240'
      - '+30'
      - '+502'
      - '+1671'
      - '+245'
      - '+595'
      - '+852'
      - '+504'
      - '+385'
      - '+509'
      - '+36'
      - '+62'
      - '+353'
      - '+972'
      - '+441624'
      - '+91'
      - '+246'
      - '+964'
      - '+98'
      - '+354'
      - '+39'
      - '+441534'
      - '+1876'
      - '+962'
      - '+81'
      - '+254'
      - '+996'
      - '+855'
      - '+686'
      - '+269'
      - '+1869'
      - '+850'
      - '+82'
      - '+965'
      - '+345'
      - '+7'
      - '+856'
      - '+961'
      - '+1758'
      - '+423'
      - '+94'
      - '+231'
      - '+266'
      - '+370'
      - '+352'
      - '+371'
      - '+218'
      - '+377'
      - '+373'
      - '+382'
      - '+261'
      - '+692'
      - '+389'
      - '+223'
      - '+95'
      - '+976'
      - '+853'
      - '+1670'
      - '+596'
      - '+222'
      - '+1664'
      - '+356'
      - '+230'
      - '+960'
      - '+265'
      - '+52'
      - '+60'
      - '+258'
      - '+264'
      - '+687'
      - '+227'
      - '+234'
      - '+505'
      - '+31'
      - '+47'
      - '+977'
      - '+674'
      - '+683'
      - '+64'
      - '+968'
      - '+507'
      - '+51'
      - '+689'
      - '+675'
      - '+63'
      - '+92'
      - '+48'
      - '+508'
      - '+1787'
      - '+970'
      - '+351'
      - '+680'
      - '+974'
      - '+262'
      - '+40'
      - '+381'
      - '+250'
      - '+966'
      - '+677'
      - '+248'
      - '+249'
      - '+46'
      - '+65'
      - '+290'
      - '+386'
      - '+421'
      - '+232'
      - '+378'
      - '+221'
      - '+252'
      - '+597'
      - '+239'
      - '+503'
      - '+963'
      - '+268'
      - '+1649'
      - '+235'
      - '+228'
      - '+66'
      - '+992'
      - '+690'
      - '+670'
      - '+993'
      - '+216'
      - '+676'
      - '+90'
      - '+1868'
      - '+688'
      - '+886'
      - '+255'
      - '+380'
      - '+256'
      - '+598'
      - '+998'
      - '+379'
      - '+1784'
      - '+58'
      - '+1284'
      - '+1340'
      - '+84'
      - '+678'
      - '+681'
      - '+685'
      - '+967'
      - '+27'
      - '+260'
      - '+263'
      type: string
      description: '* `+376` - +376

        * `+971` - +971

        * `+93` - +93

        * `+1268` - +1268

        * `+1264` - +1264

        * `+355` - +355

        * `+374` - +374

        * `+244` - +244

        * `+672` - +672

        * `+54` - +54

        * `+1684` - +1684

        * `+43` - +43

        * `+61` - +61

        * `+297` - +297

        * `+994` - +994

        * `+387` - +387

        * `+1246` - +1246

        * `+880` - +880

        * `+32` - +32

        * `+226` - +226

        * `+359` - +359

        * `+973` - +973

        * `+257` - +257

        * `+229` - +229

        * `+590` - +590

        * `+1441` - +1441

        * `+673` - +673

        * `+591` - +591

        * `+55` - +55

        * `+1242` - +1242

        * `+975` - +975

        * `+267` - +267

        * `+375` - +375

        * `+501` - +501

        * `+1` - +1

        * `+243` - +243

        * `+236` - +236

        * `+242` - +242

        * `+41` - +41

        * `+225` - +225

        * `+682` - +682

        * `+56` - +56

        * `+237` - +237

        * `+86` - +86

        * `+57` - +57

        * `+506` - +506

        * `+53` - +53

        * `+238` - +238

        * `+357` - +357

        * `+420` - +420

        * `+49` - +49

        * `+253` - +253

        * `+45` - +45

        * `+1767` - +1767

        * `+1809` - +1809

        * `+213` - +213

        * `+593` - +593

        * `+372` - +372

        * `+20` - +20

        * `+212` - +212

        * `+291` - +291

        * `+34` - +34

        * `+251` - +251

        * `+358` - +358

        * `+679` - +679

        * `+500` - +500

        * `+691` - +691

        * `+298` - +298

        * `+33` - +33

        * `+241` - +241

        * `+44` - +44

        * `+1473` - +1473

        * `+995` - +995

        * `+594` - +594

        * `+441481` - +441481

        * `+233` - +233

        * `+350` - +350

        * `+299` - +299

        * `+220` - +220

        * `+224` - +224

        * `+240` - +240

        * `+30` - +30

        * `+502` - +502

        * `+1671` - +1671

        * `+245` - +245

        * `+595` - +595

        * `+852` - +852

        * `+504` - +504

        * `+385` - +385

        * `+509` - +509

        * `+36` - +36

        * `+62` - +62

        * `+353` - +353

        * `+972` - +972

        * `+441624` - +441624

        * `+91` - +91

        * `+246` - +246

        * `+964` - +964

        * `+98` - +98

        * `+354` - +354

        * `+39` - +39

        * `+441534` - +441534

        * `+1876` - +1876

        * `+962` - +962

        * `+81` - +81

        * `+254` - +254

        * `+996` - +996

        * `+855` - +855

        * `+686` - +686

        * `+269` - +269

        * `+1869` - +1869

        * `+850` - +850

        * `+82` - +82

        * `+965` - +965

        * `+345` - +345

        * `+7` - +7

        * `+856` - +856

        * `+961` - +961

        * `+1758` - +1758

        * `+423` - +423

        * `+94` - +94

        * `+231` - +231

        * `+266` - +266

        * `+370` - +370

        * `+352` - +352

        * `+371` - +371

        * `+218` - +218

        * `+377` - +377

        * `+373` - +373

        * `+382` - +382

        * `+261` - +261

        * `+692` - +692

        * `+389` - +389

        * `+223` - +223

        * `+95` - +95

        * `+976` - +976

        * `+853` - +853

        * `+1670` - +1670

        * `+596` - +596

        * `+222` - +222

        * `+1664` - +1664

        * `+356` - +356

        * `+230` - +230

        * `+960` - +960

        * `+265` - +265

        * `+52` - +52

        * `+60` - +60

        * `+258` - +258

        * `+264` - +264

        * `+687` - +687

        * `+227` - +227

        * `+234` - +234

        * `+505` - +505

        * `+31` - +31

        * `+47` - +47

        * `+977` - +977

        * `+674` - +674

        * `+683` - +683

        * `+64` - +64

        * `+968` - +968

        * `+507` - +507

        * `+51` - +51

        * `+689` - +689

        * `+675` - +675

        * `+63` - +63

        * `+92` - +92

        * `+48` - +48

        * `+508` - +508

        * `+1787` - +1787

        * `+970` - +970

        * `+351` - +351

        * `+680` - +680

        * `+974` - +974

        * `+262` - +262

        * `+40` - +40

        * `+381` - +381

        * `+250` - +250

        * `+966` - +966

        * `+677` - +677

        * `+248` - +248

        * `+249` - +249

        * `+46` - +46

        * `+65` - +65

        * `+290` - +290

        * `+386` - +386

        * `+421` - +421

        * `+232` - +232

        * `+378` - +378

        * `+221` - +221

        * `+252` - +252

        * `+597` - +597

        * `+239` - +239

        * `+503` - +503

        * `+963` - +963

        * `+268` - +268

        * `+1649` - +1649

        * `+235` - +235

        * `+228` - +228

        * `+66` - +66

        * `+992` - +992

        * `+690` - +690

        * `+670` - +670

        * `+993` - +993

        * `+216` - +216

        * `+676` - +676

        * `+90` - +90

        * `+1868` - +1868

        * `+688` - +688

        * `+886` - +886

        * `+255` - +255

        * `+380` - +380

        * `+256` - +256

        * `+598` - +598

        * `+998` - +998

        * `+379` - +379

        * `+1784` - +1784

        * `+58` - +58

        * `+1284` - +1284

        * `+1340` - +1340

        * `+84` - +84

        * `+678` - +678

        * `+681` - +681

        * `+685` - +685

        * `+967` - +967

        * `+27` - +27

        * `+260` - +260

        * `+263` - +263'
    OnboardingSupplierList:
      type: object
      description: Lightweight serializer for list views
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        company_name:
          type: string
          readOnly: true
        status:
          type: string
          readOnly: true
        buyer_name:
          type: string
          readOnly: true
        is_archived:
          type: boolean
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
      required:
      - buyer_name
      - company_name
      - created
      - is_archived
      - status
      - uuid
    StaffUser:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        email:
          type: string
          format: email
          readOnly: true
        first_name:
          type: string
          readOnly: true
        last_name:
          type: string
          readOnly: true
        is_staff:
          type: boolean
          readOnly: true
          title: Staff status
          description: Designates whether the user can log into this admin site.
      required:
      - email
      - first_name
      - id
      - is_staff
      - last_name
      - uuid
    PaginatedOnboardingSupplierListList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/OnboardingSupplierList'
    BuyerSummary:
      type: object
      description: Serializer for buyer summary information
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          readOnly: true
      required:
      - name
      - uuid
    OnboardingSupplier:
      type: object
      description: Serializer for OnboardingSupplier model
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        company_name:
          type: string
          maxLength: 255
        status:
          type: string
          readOnly: true
        buyer:
          type: integer
          readOnly: true
          nullable: true
          description: The buyer company that referred this supplier - DEPRECATED, use buyers field
        buyer_name:
          type: string
          readOnly: true
        buyers_list:
          type: array
          items:
            $ref: '#/components/schemas/BuyerSummary'
          readOnly: true
        buyer_uuids:
          type: array
          items:
            type: string
            format: uuid
          writeOnly: true
          description: List of buyer UUIDs to associate with this supplier
        owners_list:
          type: array
          items:
            $ref: '#/components/schemas/StaffUser'
          readOnly: true
        owner_uuids:
          type: array
          items:
            type: string
            format: uuid
          writeOnly: true
          description: List of staff user UUIDs to assign as owners
        final_supplier:
          type: integer
          readOnly: true
          nullable: true
          description: Reference to the final supplier company after completing onboarding
        final_supplier_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        final_supplier_name:
          type: string
          readOnly: true
          nullable: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        address_name:
          type: string
          readOnly: true
          nullable: true
        address_street_1:
          type: string
          readOnly: true
          nullable: true
        address_street_2:
          type: string
          readOnly: true
          nullable: true
        address_town:
          type: string
          readOnly: true
          nullable: true
        address_region:
          type: string
          readOnly: true
          nullable: true
        address_postcode:
          type: string
          readOnly: true
          nullable: true
        address_country:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/Country'
          - $ref: '#/components/schemas/NullEnum'
        address_contact_full_name:
          type: string
          readOnly: true
          nullable: true
        address_contact_phone_country_code:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/AddressContactPhoneCountryCodeEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        address_contact_phone:
          type: string
          readOnly: true
          nullable: true
        address_contact_email:
          type: string
          format: email
          readOnly: true
          nullable: true
        address_vat_number:
          type: string
          readOnly: true
          nullable: true
        address_vat_country_code:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/Country'
          - $ref: '#/components/schemas/NullEnum'
        address_ein_number:
          type: string
          readOnly: true
          nullable: true
          description: 'EIN number for US suppliers (format: XX-XXXXXXX)'
        address_note:
          type: string
        duns:
          type: string
          readOnly: true
          nullable: true
          description: DUNS number for US suppliers
        lead_time_days:
          type: integer
          maximum: 365
          minimum: 0
          nullable: true
          description: Default supplier lead time in calendar days, copied to the final supplier on completion.
        registration_name:
          type: string
          readOnly: true
          nullable: true
          description: Canonical registered name from Companies House (GB) — captured at onboarding-supplier creation.
        registration_number:
          type: string
          readOnly: true
          nullable: true
          description: Canonical Companies House registration number (GB) — captured at onboarding-supplier creation.
        registration_country_code:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/Country'
          - $ref: '#/components/schemas/NullEnum'
        is_archived:
          type: boolean
          readOnly: true
      required:
      - address_contact_email
      - address_contact_full_name
      - address_contact_phone
      - address_ein_number
      - address_name
      - address_postcode
      - address_region
      - address_street_1
      - address_street_2
      - address_town
      - address_vat_number
      - buyer
      - buyer_n

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