Fairmarkit Supplier API

The Supplier API from Fairmarkit — 6 operation(s) for supplier.

OpenAPI Specification

fairmarkit-supplier-api-openapi.yml Raw ↑
openapi: 3.1.1
info:
  title: BUYER PUBLIC Business Units Supplier API
  version: '3'
  description: The Fairmarkit Buyer API is a RESTful API that uses HTTP requests to allow you to access and use your Fairmarkit data. It has predictable resource-oriented URLs that use standard HTTP response codes, authentication, and verbs. See the Fairmarkit API developer portal for more information.
  termsOfService: https://www.fairmarkit.com/terms-of-service
  contact:
    name: Fairmarkit Support
    url: https://fmkt.zendesk.com/hc/en-us
    email: support@fairmarkit.com
servers:
- url: https://staging.fairmarkit.com/
tags:
- name: Supplier
paths:
  /services/self-service/api/v3/supplier/{uuid}/:
    delete:
      tags:
      - Supplier
      summary: Delete Supplier
      operationId: soft_delete_services_self_service_api_v3_supplier__uuid___delete
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Deletes an existing supplier.
    put:
      tags:
      - Supplier
      summary: Update Supplier
      operationId: update_services_self_service_api_v3_supplier__uuid___put
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Supplier'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/SupplierRetrieve'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Updates an existing supplier.
    get:
      tags:
      - Supplier
      summary: Get Supplier Details
      operationId: retrieve_services_self_service_api_v3_supplier__uuid___get
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/SupplierRetrieve'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Returns details for a specific supplier.
  /services/self-service/api/v3/supplier/{uuid}/deactivate/:
    post:
      tags:
      - Supplier
      summary: Deactivate Supplier
      operationId: SupplierApi_de_activate_services_self_service_api_v3_supplier__uuid__deactivate__post
      parameters:
      - required: true
        schema:
          type: string
          format: uuid
          title: Uuid
        name: uuid
        in: path
      - required: false
        schema:
          type: string
          title: X-Fm-Api-Key
        name: X-FM-API-KEY
        in: header
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Deactivates an existing supplier.
  /services/self-service/api/v3/supplier/:
    get:
      tags:
      - Supplier
      summary: List Suppliers
      operationId: list_services_self_service_api_v3_supplier__get
      parameters:
      - required: false
        schema:
          title: Limit
          maximum: 250
          minimum: 1
          type: integer
          default: 20
          description: Maximum number of records to return. Defaults to 20.
        name: limit
        in: query
        description: Maximum number of records to return. Defaults to 20.
      - required: false
        schema:
          title: Offset
          minimum: 0
          type: integer
          default: 0
          description: Zero-based offset of the first record to return. Defaults to 0.
        name: offset
        in: query
        description: Zero-based offset of the first record to return. Defaults to 0.
      - required: false
        schema:
          title: Erp System Uuid
          type: string
          format: uuid
          description: Filter suppliers by ERP system UUID.
        name: erp_system_uuid
        in: query
        description: Filter suppliers by ERP system UUID.
      - required: false
        schema:
          title: External Supplier Id
          type: string
          description: Filter suppliers by external supplier ID.
        name: external_supplier_id
        in: query
        description: Filter suppliers by external supplier ID.
      - required: false
        schema:
          type: boolean
          title: Is Active
          description: Filter by active status.
        name: is_active
        in: query
        description: Filter by active status.
      - description: Start of the created-at time range. Use ISO 8601 format.
        required: false
        schema:
          type: string
          format: date-time
          title: Updated At Min
          description: Start of the created-at time range. Use ISO 8601 format.
        name: created_at_min
        in: query
      - description: End of the created-at time range. Use ISO 8601 format.
        required: false
        schema:
          type: string
          format: date-time
          title: Updated At Max
          description: End of the created-at time range. Use ISO 8601 format.
        name: created_at_max
        in: query
      - description: Start of the updated-at time range. Use ISO 8601 format.
        required: false
        schema:
          type: string
          format: date-time
          title: Updated At Min
          description: Start of the updated-at time range. Use ISO 8601 format.
        name: updated_at_min
        in: query
      - description: End of the updated-at time range. Use ISO 8601 format.
        required: false
        schema:
          type: string
          format: date-time
          title: Updated At Max
          description: End of the updated-at time range. Use ISO 8601 format.
        name: updated_at_max
        in: query
      - required: false
        schema:
          type: string
          title: Title
        name: title
        in: query
      - required: false
        schema:
          type: string
          title: Email
        name: email
        in: query
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ListRetrieve_SupplierRetrieve_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Returns a list of suppliers.
    post:
      tags:
      - Supplier
      summary: Create Supplier
      operationId: create_services_self_service_api_v3_supplier__post
      parameters:
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Supplier'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/SupplierRetrieve'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Creates a new supplier.
  /services/self-service/api/v3/supplier/{uuid}/business-classifications/:
    post:
      tags:
      - Supplier
      summary: Update Business Classifications
      operationId: update_services_self_service_api_v3_supplier__uuid__business_classifications__post
      parameters:
      - required: true
        schema:
          title: Uuid
          type: string
          format: uuid
        name: uuid
        in: path
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      requestBody:
        content:
          application/json:
            schema:
              title: business classifications
              maxItems: 26
              minItems: 0
              type: array
              items:
                $ref: '#/components/schemas/SupplierBusinessClassification'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/SupplierRetrieve'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Updates business classifications for a supplier.
  /services/self-service/api/v3/supplier/{uuid}/activate/:
    post:
      tags:
      - Supplier
      summary: Activate Supplier
      operationId: SupplierApi_re_activate_services_self_service_api_v3_supplier__uuid__activate__post
      parameters:
      - required: true
        schema:
          type: string
          format: uuid
          title: Uuid
        name: uuid
        in: path
      - required: false
        schema:
          type: string
          title: X-Fm-Api-Key
        name: X-FM-API-KEY
        in: header
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Activates an existing supplier.
  /services/self-service/api/v3/supplier/bulk-create/:
    post:
      tags:
      - Supplier
      summary: Bulk Create Suppliers
      operationId: bulk_create_services_self_service_api_v3_supplier_bulk_create__post
      parameters:
      - required: false
        schema:
          title: X-Fm-Api-Key
          type: string
        name: X-FM-API-KEY
        in: header
        description: Fairmarkit API Key
      requestBody:
        content:
          application/json:
            schema:
              title: Suppliers
              maxItems: 100
              minItems: 1
              type: array
              items:
                $ref: '#/components/schemas/Supplier'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json; charset=utf-8:
              schema:
                title: Response Bulk Create Services Self Service Api V3 Supplier Bulk Create Post
                type: array
                items:
                  $ref: '#/components/schemas/SupplierRetrieve'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Bulk creates new suppliers.
components:
  schemas:
    SupplierErpSystem:
      properties:
        external_vendor_id:
          type: string
          title: External Vendor Id
        erp_system_uuid:
          type: string
          format: uuid
          title: Erp System Uuid
        is_active:
          type: boolean
          title: Is Active
          default: true
      type: object
      required:
      - external_vendor_id
      - erp_system_uuid
      title: SupplierErpSystem
    HTTPValidationError:
      title: HTTPValidationError
      type: object
      description: Validation error response.
      properties:
        detail:
          title: Detail
          type: array
          description: Details about a specific error to display in error response.
          items:
            $ref: '#/components/schemas/ValidationError'
    ValidationError:
      title: ValidationError
      required:
      - loc
      - msg
      - type
      type: object
      description: Details for a validation error.
      properties:
        loc:
          title: Location
          type: array
          description: Error location
          items:
            anyOf:
            - type: string
            - type: integer
        msg:
          title: Message
          type: string
          description: Human readable explanation of the error.
        type:
          title: Error Type
          type: string
          description: Computer-readable identifier of the error type.
    SupplierBusinessClassification:
      title: SupplierBusinessClassification
      enum:
      - 8a
      - alaskan
      - bcorp
      - cab
      - dbe
      - dobe
      - edwosb
      - fairtrade
      - fsc
      - generic
      - gsa
      - hbcu
      - international_soc_automation
      - iso_9001
      - lbe
      - lgbt
      - minority_business_enterprise
      - msc
      - sdb
      - sdvbe
      - sdvet
      - small_business_certification
      - small_business_enterprise
      - veteran_business_enterprise
      - woman_owned_business_enterprise
      - wosb
      type: string
      description: Supported supplier business classifications.
    SupplierRetrieve:
      title: SupplierRetrieve
      required:
      - uuid
      - external_id
      - title
      - first_name
      - last_name
      - email
      - phone_number
      - address1
      - address2
      - country
      - city
      - state
      - zip
      - origin
      - erp_systems
      - is_active
      - meta_tags
      type: object
      description: Data returned for a specific supplier.
      properties:
        uuid:
          title: Uuid
          type: string
          description: Supplier ID (Fairmarkit)
        external_id:
          title: External Id
          type: string
          description: External Supplier reference ID. It can be used to track Suppliers across systems.
        title:
          title: Title
          type: string
          description: Supplier company name.
        first_name:
          title: First Name
          type: string
          description: Supplier contact's first name.
        last_name:
          title: Last Name
          type: string
          description: Supplier contact's last name.
        email:
          title: Email
          type: string
          description: Supplier contact's email address.
        phone_number:
          title: Phone Number
          type: string
          description: Supplier's phone number.
        address1:
          title: Address1
          type: string
          description: Supplier's first address line.
        address2:
          title: Address2
          type: string
          description: Supplier's second address line.
        country:
          title: Country
          anyOf:
          - $ref: '#/components/schemas/Country'
          - $ref: '#/components/schemas/EmptyString'
        city:
          title: City
          type: string
          description: Supplier's city.
        state:
          title: State
          type: string
          description: Supplier's state.
        zip:
          title: Zip
          type: string
          description: Supplier's zip code
        origin:
          $ref: '#/components/schemas/VendorOrigin'
        is_active:
          type: boolean
          title: Is Active
          description: Active/Inactive status of the Supplier.
        external_data:
          title: External Data
          type: object
          description: Additional open field to store internal information.
        meta_tags:
          title: Meta Tags
          description: Meta tags to store additional information. Send a list of meta tags, and they will be processed. To remove all meta tags, send an empty list.
          type: array
          items:
            $ref: '#/components/schemas/schemas__base__meta_tag__MetaTagRetrieve'
        erp_systems:
          title: Erp Systems
          description: Store supplier integration information.
          type: array
          items:
            $ref: '#/components/schemas/SupplierErpSystemRetrieve'
        business_classification:
          items:
            type: string
          type: array
          title: Business Classification
          default: []
        created_at:
          type: string
          format: date-time
          title: Created At
          description: Date and time when the Supplier was created.
        updated_at:
          type: string
          format: date-time
          title: Updated At
          description: Date and time when the Supplier was last updated.
    Country:
      title: Country
      enum:
      - AF
      - AX
      - AL
      - DZ
      - AS
      - AD
      - AO
      - AI
      - AQ
      - AG
      - AR
      - AM
      - AW
      - AU
      - AT
      - AZ
      - BH
      - BS
      - BD
      - BB
      - BY
      - BE
      - BZ
      - BJ
      - BM
      - BT
      - BO
      - BQ
      - BA
      - BW
      - BV
      - BR
      - IO
      - BN
      - BG
      - BF
      - BI
      - KH
      - CM
      - CA
      - CV
      - 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
      - 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
      - KP
      - KR
      - KW
      - KG
      - LA
      - LV
      - LB
      - LS
      - LR
      - LY
      - LI
      - LT
      - LU
      - MO
      - MK
      - 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
      - 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
      - SS
      - ES
      - LK
      - SD
      - SR
      - SJ
      - SZ
      - SE
      - CH
      - SY
      - TW
      - TJ
      - TZ
      - TH
      - TL
      - TG
      - TK
      - TO
      - TT
      - TN
      - TR
      - TM
      - TC
      - TV
      - UG
      - UA
      - AE
      - GB
      - US
      - UM
      - UY
      - UZ
      - VU
      - VE
      - VN
      - VG
      - VI
      - WF
      - EH
      - YE
      - ZM
      - ZW
      type: string
      description: Supported country codes.
    EmptyString:
      title: EmptyString
      enum:
      - ''
      type: string
      description: Marker used to represent an empty string.
    ListRetrieve_SupplierRetrieve_:
      title: ListRetrieve[SupplierRetrieve]
      required:
      - count
      - results
      description: Paginated list response for suppliers.
      type: object
      properties:
        count:
          title: Count
          type: integer
          description: A count of the number of records in the full results set.
        next:
          title: Next
          type: string
          description: A URL to fetch the next page of results, if more results exist in the set.
        previous:
          title: Previous
          type: string
          description: A URL to fetch the previous page of results, if previous results exist in the set.
        results:
          title: Results
          type: array
          description: A list representing one page of the result set.
          items:
            $ref: '#/components/schemas/SupplierRetrieve'
    SupplierErpSystemRetrieve:
      title: SupplierErpSystemRetrieve
      required:
      - external_supplier_id
      - erp_system_uuid
      - is_active
      type: object
      properties:
        external_supplier_id:
          title: External Supplier Id
          type: string
          description: External Supplier reference ID in the system.
        erp_system_uuid:
          title: Erp System Uuid
          type: string
          format: uuid
          description: ERP system ID (External to Fairmarkit).
        is_active:
          title: External Supplier ID Active Flag
          type: boolean
          description: Active/Inactive status of the External Supplier reference ID.
    VendorOrigin:
      title: VendorOrigin
      enum:
      - internal
      - external
      - public
      type: string
      description: Supplier record origin values.
    Supplier:
      title: Supplier
      required:
      - title
      - email
      type: object
      description: Data about a specific supplier.
      properties:
        title:
          title: Title
          type: string
          description: Supplier company name.
        email:
          title: Email
          type: string
          description: Supplier contact's email address.
        external_id:
          title: External Id
          description: External Supplier reference ID. It can be used to track Suppliers across systems.
          type: string
        country:
          title: Country
          anyOf:
          - $ref: '#/components/schemas/Country'
          - $ref: '#/components/schemas/EmptyString'
        city:
          title: City
          type: string
          description: Supplier's city.
        zip:
          title: Zip
          type: string
          description: Supplier's zip code.
        phone_number:
          title: Phone Number
          type: string
          description: Supplier's phone number.
        first_name:
          title: First Name
          type: string
          description: Supplier contact's first name.
        last_name:
          title: Last Name
          type: string
          description: Supplier contact's last name.
        address1:
          title: Address1
          type: string
          description: Supplier's first address line.
        address2:
          title: Address2
          type: string
          description: Supplier's second address line.
        state:
          title: State
          type: string
          description: Supplier's state.
        origin:
          allOf:
          - $ref: '#/components/schemas/VendorOrigin'
          default: external
        external_data:
          title: External Data
          type: object
          description: Additional open field to store internal information.
        meta_tags:
          title: Meta Tags
          type: array
          description: Meta tags to store additional information. Send a list of meta tags, and they will be processed. To remove all meta tags, send an empty list.
          items:
            $ref: '#/components/schemas/schemas__base__meta_tag__MetaTagRetrieve'
        erp_systems:
          title: Erp Systems
          type: array
          items:
            $ref: '#/components/schemas/SupplierErpSystem'
          default: []
        created_at:
          type: string
          format: date-time
          title: Created At
          description: Date and time when the Supplier was created.
        updated_at:
          type: string
          format: date-time
          title: Updated At
          description: Date and time when the Supplier was last updated.
    schemas__base__meta_tag__MetaTagRetrieve:
      properties:
        key:
          type: string
          title: Key
        value:
          items:
            type: string
          type: array
          title: Value
      type: object
      required:
      - key
      - value
      title: MetaTagRetrieve