Opply Buyer Documents API

The Buyer Documents API from Opply — 6 operation(s) for buyer documents.

OpenAPI Specification

opply-buyer-documents-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Opply Activity Feed Buyer Documents API
  version: 0.0.0
tags:
- name: Buyer Documents
paths:
  /api/v1/companies/buyer-documents/:
    get:
      operationId: api_v1_companies_buyer_documents_list
      description: Returns all certification documents for the current buyer company.
      summary: List buyer documents
      parameters:
      - in: query
        name: is_archived
        schema:
          type: boolean
        description: Filter by computed `is_archived` (active vs archived sub-tab).
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - 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
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: status
        schema:
          type: string
          enum:
          - expired
          - expiring_soon
          - renewed
          - valid
        description: Filter by computed lifecycle status.
      - in: query
        name: type_uuid__in
        schema:
          type: string
        description: Filter by comma-separated document type UUIDs.
      tags:
      - Buyer Documents
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBuyerDocumentList'
          description: ''
    post:
      operationId: api_v1_companies_buyer_documents_create
      description: Upload a new certification document (BRCGS, organic cert, ISO 9001, etc.).
      summary: Upload buyer document
      tags:
      - Buyer Documents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuyerDocument'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuyerDocument'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuyerDocument'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyerDocument'
          description: ''
  /api/v1/companies/buyer-documents/{uuid}/:
    get:
      operationId: api_v1_companies_buyer_documents_retrieve
      description: Returns details for a specific buyer certification document.
      summary: Retrieve buyer document
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
        required: true
      tags:
      - Buyer Documents
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyerDocument'
          description: ''
    put:
      operationId: api_v1_companies_buyer_documents_update
      description: Update all fields of an existing buyer document.
      summary: Update buyer document
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
        required: true
      tags:
      - Buyer Documents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuyerDocument'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuyerDocument'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuyerDocument'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyerDocument'
          description: ''
    patch:
      operationId: api_v1_companies_buyer_documents_partial_update
      description: Update specific fields of an existing buyer document.
      summary: Partial update buyer document
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
        required: true
      tags:
      - Buyer Documents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBuyerDocument'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBuyerDocument'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBuyerDocument'
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyerDocument'
          description: ''
    delete:
      operationId: api_v1_companies_buyer_documents_destroy
      description: Permanently delete a buyer document.
      summary: Delete buyer document
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
        required: true
      tags:
      - Buyer Documents
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/v1/companies/buyer-documents/types-facet/:
    get:
      operationId: api_v1_companies_buyer_documents_types_facet_list
      description: Returns the distinct `DocumentType`s that have at least one BuyerDocument for the current brand. Used by the FE filter dropdown so it only offers types the user can actually narrow to.
      summary: List document types present on the buyer's documents
      parameters:
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - Buyer Documents
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DocumentType'
          description: ''
  /api/v1/companies/buyer-supplier-documents/:
    get:
      operationId: api_v1_companies_buyer_supplier_documents_list
      description: Returns all supplier certification documents visible to the current buyer. Includes documents from all suppliers the buyer has a referral relationship with. Supplier-wide documents (no buyer assigned) and buyer-specific documents are included.
      summary: List supplier documents for buyer
      parameters:
      - in: query
        name: is_archived
        schema:
          type: boolean
        description: Filter by computed `is_archived` (active vs archived sub-tab).
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - 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
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: site_uuid__in
        schema:
          type: string
        description: Filter by comma-separated supplier site UUIDs.
      - in: query
        name: status
        schema:
          type: string
          enum:
          - expired
          - expiring_soon
          - renewed
          - valid
        description: Filter by computed lifecycle status.
      - in: query
        name: supplier_uuid
        schema:
          type: string
          format: uuid
        description: Filter by supplier company UUID.
      - in: query
        name: supplier_uuid__in
        schema:
          type: string
        description: Filter by comma-separated supplier company UUIDs.
      - in: query
        name: type_uuid__in
        schema:
          type: string
        description: Filter by comma-separated document type UUIDs.
      tags:
      - Buyer Documents
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSupplierDocumentList'
          description: ''
  /api/v1/companies/buyer-supplier-documents/{uuid}/:
    get:
      operationId: api_v1_companies_buyer_supplier_documents_retrieve
      description: Returns details for a specific supplier document.
      summary: Retrieve supplier document (buyer view)
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
        required: true
      tags:
      - Buyer Documents
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierDocument'
          description: ''
  /api/v1/companies/buyer-supplier-documents/types-facet/:
    get:
      operationId: api_v1_companies_buyer_supplier_documents_types_facet_list
      description: Returns the distinct `DocumentType`s that have at least one SupplierDocument visible to the current brand (via REGISTERED referral). Used by the FE filter dropdown so it only offers types the user can actually narrow to.
      summary: List document types present on supplier documents visible to the buyer
      parameters:
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - Buyer Documents
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DocumentType'
          description: ''
components:
  schemas:
    SupplierSite:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 255
        company:
          type: integer
      required:
      - company
      - name
      - uuid
    USStateEnum:
      enum:
      - AL
      - AK
      - AZ
      - AR
      - CA
      - CO
      - CT
      - DE
      - FL
      - GA
      - HI
      - ID
      - IL
      - IN
      - IA
      - KS
      - KY
      - LA
      - ME
      - MD
      - MA
      - MI
      - MN
      - MS
      - MO
      - MT
      - NE
      - NV
      - NH
      - NJ
      - NM
      - NY
      - NC
      - ND
      - OH
      - OK
      - OR
      - PA
      - RI
      - SC
      - SD
      - TN
      - TX
      - UT
      - VT
      - VA
      - WA
      - WV
      - WI
      - WY
      - DC
      - PR
      - GU
      - VI
      - AS
      - MP
      type: string
      description: '* `AL` - Alabama

        * `AK` - Alaska

        * `AZ` - Arizona

        * `AR` - Arkansas

        * `CA` - California

        * `CO` - Colorado

        * `CT` - Connecticut

        * `DE` - Delaware

        * `FL` - Florida

        * `GA` - Georgia

        * `HI` - Hawaii

        * `ID` - Idaho

        * `IL` - Illinois

        * `IN` - Indiana

        * `IA` - Iowa

        * `KS` - Kansas

        * `KY` - Kentucky

        * `LA` - Louisiana

        * `ME` - Maine

        * `MD` - Maryland

        * `MA` - Massachusetts

        * `MI` - Michigan

        * `MN` - Minnesota

        * `MS` - Mississippi

        * `MO` - Missouri

        * `MT` - Montana

        * `NE` - Nebraska

        * `NV` - Nevada

        * `NH` - New Hampshire

        * `NJ` - New Jersey

        * `NM` - New Mexico

        * `NY` - New York

        * `NC` - North Carolina

        * `ND` - North Dakota

        * `OH` - Ohio

        * `OK` - Oklahoma

        * `OR` - Oregon

        * `PA` - Pennsylvania

        * `RI` - Rhode Island

        * `SC` - South Carolina

        * `SD` - South Dakota

        * `TN` - Tennessee

        * `TX` - Texas

        * `UT` - Utah

        * `VT` - Vermont

        * `VA` - Virginia

        * `WA` - Washington

        * `WV` - West Virginia

        * `WI` - Wisconsin

        * `WY` - Wyoming

        * `DC` - District of Columbia

        * `PR` - Puerto Rico

        * `GU` - Guam

        * `VI` - U.S. Virgin Islands

        * `AS` - American Samoa

        * `MP` - Northern Mariana Islands'
    BuyerDocument:
      type: object
      description: 'Serializer for BuyerDocument — buyer certification and compliance documents.


        Handles CRUD with computed status fields, mirroring OpplyDocumentSerializer.'
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        type:
          allOf:
          - $ref: '#/components/schemas/DocumentType'
          readOnly: true
        type_uuid:
          type: string
          format: uuid
          writeOnly: true
        renewing_uuid:
          type: string
          format: uuid
          writeOnly: true
          nullable: true
        file:
          type: string
          format: uri
          description: The uploaded document file
        name:
          type: string
          description: Display name for the document
          maxLength: 255
        start_date:
          type: string
          format: date
          nullable: true
          description: Start date of document validity
        end_date:
          type: string
          format: date
          nullable: true
          description: End/expiry date of document validity
        countries:
          type: array
          items:
            $ref: '#/components/schemas/Country'
          description: ISO country codes this document applies to. Empty = all countries.
        certificate_number:
          type: string
          description: Permit / exemption / certificate number as printed on the document
          maxLength: 128
        jurisdiction:
          type: string
          description: State/region the document applies in, as printed on the document (e.g. 'Michigan'). For US documents the structured counterpart is us_state_jurisdiction.
          maxLength: 128
        us_state_jurisdiction:
          description: 'US state/territory this document applies in (USPS code, e.g. ''MI''). Structured counterpart of the free-text jurisdiction for US documents.


            * `AL` - Alabama

            * `AK` - Alaska

            * `AZ` - Arizona

            * `AR` - Arkansas

            * `CA` - California

            * `CO` - Colorado

            * `CT` - Connecticut

            * `DE` - Delaware

            * `FL` - Florida

            * `GA` - Georgia

            * `HI` - Hawaii

            * `ID` - Idaho

            * `IL` - Illinois

            * `IN` - Indiana

            * `IA` - Iowa

            * `KS` - Kansas

            * `KY` - Kentucky

            * `LA` - Louisiana

            * `ME` - Maine

            * `MD` - Maryland

            * `MA` - Massachusetts

            * `MI` - Michigan

            * `MN` - Minnesota

            * `MS` - Mississippi

            * `MO` - Missouri

            * `MT` - Montana

            * `NE` - Nebraska

            * `NV` - Nevada

            * `NH` - New Hampshire

            * `NJ` - New Jersey

            * `NM` - New Mexico

            * `NY` - New York

            * `NC` - North Carolina

            * `ND` - North Dakota

            * `OH` - Ohio

            * `OK` - Oklahoma

            * `OR` - Oregon

            * `PA` - Pennsylvania

            * `RI` - Rhode Island

            * `SC` - South Carolina

            * `SD` - South Dakota

            * `TN` - Tennessee

            * `TX` - Texas

            * `UT` - Utah

            * `VT` - Vermont

            * `VA` - Virginia

            * `WA` - Washington

            * `WV` - West Virginia

            * `WI` - Wisconsin

            * `WY` - Wyoming

            * `DC` - District of Columbia

            * `PR` - Puerto Rico

            * `GU` - Guam

            * `VI` - U.S. Virgin Islands

            * `AS` - American Samoa

            * `MP` - Northern Mariana Islands'
          oneOf:
          - $ref: '#/components/schemas/USStateEnum'
          - $ref: '#/components/schemas/BlankEnum'
        issuing_authority:
          type: string
          description: Body that issued the document (e.g. 'Michigan Department of Treasury')
          maxLength: 255
        holder_name:
          type: string
          description: Entity the document is issued to as printed — normally the buyer company
          maxLength: 255
        notes:
          type: string
          nullable: true
          description: Optional notes about this document
          maxLength: 2048
        status:
          allOf:
          - $ref: '#/components/schemas/DocumentLifecycleStatusEnum'
          readOnly: true
        is_archived:
          type: boolean
          description: Return whether the document is archived (expired or renewed).
          readOnly: true
        superseded_by_uuid:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - created
      - file
      - is_archived
      - modified
      - name
      - status
      - superseded_by_uuid
      - type
      - uuid
    DocumentLifecycleStatusEnum:
      enum:
      - valid
      - expired
      - expiring_soon
      - renewed
      type: string
      description: '* `valid` - Valid

        * `expired` - Expired

        * `expiring_soon` - Expiring Soon

        * `renewed` - Renewed'
    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'
    BlankEnum:
      enum:
      - ''
    PatchedBuyerDocument:
      type: object
      description: 'Serializer for BuyerDocument — buyer certification and compliance documents.


        Handles CRUD with computed status fields, mirroring OpplyDocumentSerializer.'
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        type:
          allOf:
          - $ref: '#/components/schemas/DocumentType'
          readOnly: true
        type_uuid:
          type: string
          format: uuid
          writeOnly: true
        renewing_uuid:
          type: string
          format: uuid
          writeOnly: true
          nullable: true
        file:
          type: string
          format: uri
          description: The uploaded document file
        name:
          type: string
          description: Display name for the document
          maxLength: 255
        start_date:
          type: string
          format: date
          nullable: true
          description: Start date of document validity
        end_date:
          type: string
          format: date
          nullable: true
          description: End/expiry date of document validity
        countries:
          type: array
          items:
            $ref: '#/components/schemas/Country'
          description: ISO country codes this document applies to. Empty = all countries.
        certificate_number:
          type: string
          description: Permit / exemption / certificate number as printed on the document
          maxLength: 128
        jurisdiction:
          type: string
          description: State/region the document applies in, as printed on the document (e.g. 'Michigan'). For US documents the structured counterpart is us_state_jurisdiction.
          maxLength: 128
        us_state_jurisdiction:
          description: 'US state/territory this document applies in (USPS code, e.g. ''MI''). Structured counterpart of the free-text jurisdiction for US documents.


            * `AL` - Alabama

            * `AK` - Alaska

            * `AZ` - Arizona

            * `AR` - Arkansas

            * `CA` - California

            * `CO` - Colorado

            * `CT` - Connecticut

            * `DE` - Delaware

            * `FL` - Florida

            * `GA` - Georgia

            * `HI` - Hawaii

            * `ID` - Idaho

            * `IL` - Illinois

            * `IN` - Indiana

            * `IA` - Iowa

            * `KS` - Kansas

            * `KY` - Kentucky

            * `LA` - Louisiana

            * `ME` - Maine

            * `MD` - Maryland

            * `MA` - Massachusetts

            * `MI` - Michigan

            * `MN` - Minnesota

            * `MS` - Mississippi

            * `MO` - Missouri

            * `MT` - Montana

            * `NE` - Nebraska

            * `NV` - Nevada

            * `NH` - New Hampshire

            * `NJ` - New Jersey

            * `NM` - New Mexico

            * `NY` - New York

            * `NC` - North Carolina

            * `ND` - North Dakota

            * `OH` - Ohio

            * `OK` - Oklahoma

            * `OR` - Oregon

            * `PA` - Pennsylvania

            * `RI` - Rhode Island

            * `SC` - South Carolina

            * `SD` - South Dakota

            * `TN` - Tennessee

            * `TX` - Texas

            * `UT` - Utah

            * `VT` - Vermont

            * `VA` - Virginia

            * `WA` - Washington

            * `WV` - West Virginia

            * `WI` - Wisconsin

            *

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