Procurify vendors API

The vendors API from Procurify — 2 operation(s) for vendors.

Operations 5

GET /api/v3/vendors/ Get list of all active vendors #
POST /api/v3/vendors/ Create Vendor #
GET /api/v3/vendors/{id}/ Get Vendor by ID #
PUT /api/v3/vendors/{id}/ Update Vendor #
PATCH /api/v3/vendors/{id}/ Partial Update Vendor #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/procurify-vendors-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

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

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

OpenAPI Specification

procurify-vendors-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Procurify API Documentation account-codes Vendors API
  version: '1.0'
  description: '

    # Disclaimer


    - Procurify’s API is evolving and is subject to change at any time. Additionally, aspects of the API are undocumented, including certain methods, events, and properties. Given that both documented and undocumented aspects of the Procurify API may change at any time, the client relies on the API at their own risk.

    - Client (and/or client’s representative) is responsible for building, testing, and maintaining any API connection between Procurify and any other tool.  Procurify’s responsibility strictly involves providing support on clarifications in regards to the issued API document.

    - Procurify’s API is offered on an “as is” and “as available” basis, without warranties of any kind. By accepting this agreement, you agree that you have read the current API documentation, and accept the API functionality in its current state including current limitations. For questions and clarification around the documentation, please contact support@procurify.com.

    - In accordance with Section 2.(b) of our Subscription Services Agreement, Procurify reserves the right to deny access to our API at any time. If your API requests are too large and time out, contact us immediately to avoid possible suspension of access.

    - You may not attempt to reverse engineer or otherwise derive source code, trade secrets, or know-how in the Procurify API or portion thereof. You may not use the Procurify API to replicate or compete with core products or services offered by Procurify.

    '
servers:
- url: https://{user_domain}.procurify.com
  description: Your Procurify domain
  variables:
    user_domain:
      default: your-domain
      description: Your procurify domain
tags:
- name: vendors
paths:
  /api/v3/vendors/:
    get:
      operationId: vendors_list
      description: '**Vendor Type Codes**


        | Vendor Type         | Type      | Description                       |

        |---------------------|-----------|-----------------------------------|

        | OTHER               | 1         | Previously ''OTHER'' vendor (ID=1), used for storing non-vendor

        |                     |           | for storing non-vendor Vendor names in request. |

        | HIDDEN              | 2         | New type of vendors that is reserved for system purposes (eg. Amazon Business). |

        | PREFERRED (default) | 3         | The default vendors from previous list

        |                     |           | where active vendor dropdowns everywhere previously showed.

        |                     |           | Request now ONLY shows these vendors (+OTHER) |

        | REGULAR             | 4         | New type of vendors that are non-preferred,

        |                     |           | for any AP purposes and purchasers to update.

        |                     |           | (DOES NOT show up in Request, but shows up in Procure) |

        | EMPLOYEE            | 5         | New type of vendors that do not show up anywhere except in AP employees list. |

        | CC_PROVIDER         | 6         | Similar type of vendors to AP employees, but for AP credit card providers. |'
      summary: Get list of all active vendors
      parameters:
      - in: query
        name: exclude_other
        schema:
          type: boolean
      - in: query
        name: external_id
        schema:
          type: string
      - in: query
        name: format
        schema:
          type: string
          enum:
          - csv
          - json
      - in: query
        name: name
        schema:
          type: string
      - name: order_by
        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: type
        schema:
          type: integer
          enum:
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
        description: 'Type of the vendor. See above for possible options.


          * `1` - other

          * `2` - amazon punchout

          * `3` - preferred

          * `4` - regular

          * `5` - employee

          * `6` - credit card provider

          * `7` - checkout'
      - in: query
        name: type__in
        schema:
          type: array
          items:
            type: string
            enum:
            - amazon_punchout
            - cc_provider
            - checkout
            - employee
            - other
            - pending
            - preferred
            - regular
        description: '* `other` - other

          * `amazon_punchout` - amazon_punchout

          * `preferred` - preferred

          * `regular` - regular

          * `employee` - employee

          * `cc_provider` - cc_provider

          * `checkout` - checkout

          * `pending` - pending'
        explode: true
        style: form
      - in: path
        name: vendor_group
        schema:
          type: string
          enum:
          - all
          - credit_card_providers
          - default
          - other
          - preferred
          - purchasable
          - requestable
        description: '

          **"all"**: Get list of all vendors.


          **"credit_card_providers"**: Get list of credit card provider vendors. These vendors are displayed in Payee Management for Credit Card Providers.


          **"default"**: Get list of "preferred" and "regular" vendors. These vendors are displayed in Procure (procurement, vendors, etc) and AP i.e., default vendor list. OTHER is discontinued from procure.


          **"other"**: Get list of "other" vendors. Only returns the ''OTHER'' vendor reserved for requesting non-vendor names.


          **"preferred"**: Get list of "preferred" vendors.


          **"purchasable"**: Get list of "purchasable" vendors.


          **"requestable"**: Get list of "requestable" vendors. These vendors are displayed in Request and designated by Purchaser.'
        required: true
      tags:
      - vendors
      security:
      - RemoteAuthentication: []
      - M2MAuthentication: []
      - BasicAuthentication: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedOptimizedVendorList'
            text/csv:
              schema:
                $ref: '#/components/schemas/PaginatedOptimizedVendorList'
          description: ''
    post:
      operationId: vendors_create
      description: 'Create a new vendor


        Due to having multiple vendors with the same name, especially

        common if user keeps deleting vendors with the same name, these

        deleted vendors get thrown into the inactive list.


        **Vendor Types**


        | Vendor Type         | Type      |

        |---------------------|-----------|

        | OTHER               | 1         |

        | HIDDEN              | 2         |

        | PREFERRED (default) | 3         |

        | REGULAR             | 4         |

        | EMPLOYEE            | 5         |

        | CC_PROVIDER         | 6         |'
      summary: Create Vendor
      parameters:
      - in: query
        name: format
        schema:
          type: string
          enum:
          - csv
          - json
      tags:
      - vendors
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OptimizedVendorRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OptimizedVendorRequest'
          ? ''
          : schema:
              $ref: '#/components/schemas/OptimizedVendorRequest'
          application/xml:
            schema:
              $ref: '#/components/schemas/OptimizedVendorRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OptimizedVendorRequest'
        required: true
      security:
      - RemoteAuthentication: []
      - M2MAuthentication: []
      - BasicAuthentication: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorDetailSerializerSingleCreate'
            text/csv:
              schema:
                $ref: '#/components/schemas/VendorDetailSerializerSingleCreate'
          description: ''
  /api/v3/vendors/{id}/:
    get:
      operationId: vendors_retrieve
      description: Get detail of a vendor by id
      summary: Get Vendor by ID
      parameters:
      - in: query
        name: format
        schema:
          type: string
          enum:
          - csv
          - json
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this vendor.
        required: true
      tags:
      - vendors
      security:
      - RemoteAuthentication: []
      - M2MAuthentication: []
      - BasicAuthentication: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorDetailSerializerSingleRetrieve'
            text/csv:
              schema:
                $ref: '#/components/schemas/VendorDetailSerializerSingleRetrieve'
          description: ''
    put:
      operationId: vendors_update
      summary: Update Vendor
      parameters:
      - in: query
        name: format
        schema:
          type: string
          enum:
          - csv
          - json
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this vendor.
        required: true
      tags:
      - vendors
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OptimizedVendorRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OptimizedVendorRequest'
          ? ''
          : schema:
              $ref: '#/components/schemas/OptimizedVendorRequest'
          application/xml:
            schema:
              $ref: '#/components/schemas/OptimizedVendorRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OptimizedVendorRequest'
        required: true
      security:
      - RemoteAuthentication: []
      - M2MAuthentication: []
      - BasicAuthentication: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorSerializerSingle'
            text/csv:
              schema:
                $ref: '#/components/schemas/VendorSerializerSingle'
          description: ''
    patch:
      operationId: vendors_partial_update
      summary: Partial Update Vendor
      parameters:
      - in: query
        name: format
        schema:
          type: string
          enum:
          - csv
          - json
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this vendor.
        required: true
      tags:
      - vendors
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOptimizedVendorRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedOptimizedVendorRequest'
          ? ''
          : schema:
              $ref: '#/components/schemas/PatchedOptimizedVendorRequest'
          application/xml:
            schema:
              $ref: '#/components/schemas/PatchedOptimizedVendorRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedOptimizedVendorRequest'
      security:
      - RemoteAuthentication: []
      - M2MAuthentication: []
      - BasicAuthentication: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OptimizedVendorSerializerSingle'
            text/csv:
              schema:
                $ref: '#/components/schemas/OptimizedVendorSerializerSingle'
          description: ''
components:
  schemas:
    ShippingTermRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 100
        description:
          type:
          - string
          - 'null'
        active:
          type: boolean
      required:
      - name
    ShippingMethodRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 100
        description:
          type:
          - string
          - 'null'
        active:
          type: boolean
      required:
      - name
    PaymentTermRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 100
        description:
          type:
          - string
          - 'null'
        active:
          type: boolean
      required:
      - name
    ShippingTerm:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 100
        description:
          type:
          - string
          - 'null'
        active:
          type: boolean
      required:
      - name
    CreditCardAssignee:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        firstName:
          type: string
          maxLength: 100
        lastName:
          type: string
          maxLength: 100
        email:
          type: string
          format: email
          maxLength: 254
        profile_image:
          type:
          - string
          - 'null'
      required:
      - email
    Vendor:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          description: Name of the vendor
          maxLength: 150
        active:
          type: boolean
        addressLineOne:
          type:
          - string
          - 'null'
          title: Address line 1
          description: First line of address
          maxLength: 300
        addressLineTwo:
          type:
          - string
          - 'null'
          title: Address line 2
          description: Second line of address
          maxLength: 300
        postalCode:
          type:
          - string
          - 'null'
          title: Postal Code
          description: Postal or Zip code of the vendor
          maxLength: 20
        city:
          type:
          - string
          - 'null'
          description: City of the vendor
          maxLength: 50
        state_province:
          type:
          - string
          - 'null'
          title: State/Province
          description: State or Province of the vendor
          maxLength: 40
        country:
          type:
          - string
          - 'null'
          description: Country of the vendor
          maxLength: 80
        phoneOne:
          type:
          - string
          - 'null'
          description: Primary phone no. of the vendor
          maxLength: 20
        phoneTwo:
          type:
          - string
          - 'null'
          description: Secondary phone no. of the vendor
          maxLength: 20
        fax:
          type:
          - string
          - 'null'
          description: Fax no. of the vendor
          maxLength: 20
        email:
          type: array
          items:
            type: string
            format: email
        comments:
          type:
          - string
          - 'null'
          description: Notes about the vendor
        contact:
          type:
          - string
          - 'null'
          description: Contact person of the vendor
          maxLength: 50
        url:
          type:
          - string
          - 'null'
          description: Website of the vendor
          maxLength: 200
        external_id:
          type:
          - string
          - 'null'
          description: External id of the vendor
          maxLength: 100
        dateModified:
          type: string
          format: date-time
          readOnly: true
        currency:
          type:
          - integer
          - 'null'
        payment_term_ref:
          type:
          - integer
          - 'null'
        shipping_term_ref:
          type:
          - integer
          - 'null'
        payment_method_ref:
          type:
          - integer
          - 'null'
        shipping_method_ref:
          type:
          - integer
          - 'null'
        payment_methods:
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethodRead'
          readOnly: true
        tax:
          type:
          - integer
          - 'null'
        type:
          $ref: '#/components/schemas/VendorTypeEnum'
        default_payment_method:
          type:
          - integer
          - 'null'
        creditcards:
          type: array
          items:
            $ref: '#/components/schemas/CreditCard'
          readOnly: true
        is_1099_eligible:
          type:
          - boolean
          - 'null'
          title: 1099 Eligible?
        overall_score:
          type:
          - number
          - 'null'
          format: double
          readOnly: true
        is_auto_email_po_enabled:
          type: boolean
        po_pdf_labels:
          type: string
          description: Placeholder for a KVStore value
          maxLength: 200
        email_configurations:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/EmailConfiguration'
      required:
      - name
      - type
    VendorSerializerSingle:
      type: object
      properties:
        metadata:
          type: object
          additionalProperties: {}
          default: {}
        data:
          $ref: '#/components/schemas/Vendor'
      required:
      - data
    PaymentMethodRead:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        type:
          allOf:
          - $ref: '#/components/schemas/PaymentMethodTypeEnum'
          title: Payment Method
          minimum: 0
          maximum: 4294967295
        data: {}
        currency:
          $ref: '#/components/schemas/Currency'
        payment_rail:
          type: string
          readOnly: true
        bank_account_country_code:
          type:
          - string
          - 'null'
          readOnly: true
      required:
      - currency
      - data
    PaymentMethod:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 100
        description:
          type:
          - string
          - 'null'
        active:
          type: boolean
      required:
      - name
    CreditCard:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        uuid:
          type: string
          format: uuid
        is_active:
          type: boolean
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
        name:
          type: string
          maxLength: 255
        number:
          type: string
          pattern: ^[0-9]{4}$
          maxLength: 19
        balance:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: -2147483648
        gl_code:
          type: string
          maxLength: 100
        type:
          allOf:
          - $ref: '#/components/schemas/CreditCardTypeEnum'
          minimum: -2147483648
          maximum: 2147483647
        category:
          minimum: -2147483648
          maximum: 2147483647
          oneOf:
          - $ref: '#/components/schemas/CategoryEnum'
          - $ref: '#/components/schemas/NullEnum'
          type:
          - integer
          - 'null'
        external_id:
          type: string
          description: External id of the Credit Card
          maxLength: 100
        status:
          description: 'The status of the Credit Card


            * `pending` - Pending

            * `active` - Active

            * `inactive` - Inactive

            * `canceled` - Canceled

            * `lost` - Lost

            * `stolen` - Stolen'
          oneOf:
          - $ref: '#/components/schemas/CreditCardStatusEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
          type:
          - integer
          - 'null'
        require_activation:
          type: boolean
          title: Require new activation?
          description: Does this card require new activation?
        last_changed_by:
          type:
          - integer
          - 'null'
          title: Last changed by user
        vendor:
          type: integer
        payment_method:
          type:
          - integer
          - 'null'
        currency:
          type: integer
        currency_name:
          type: string
          readOnly: true
        creator:
          type:
          - integer
          - 'null'
          title: Card Issuer
        assignees:
          type: array
          items:
            $ref: '#/components/schemas/CreditCardAssignee'
      required:
      - assignees
      - currency
      - uuid
      - vendor
    PaginatedOptimizedVendorList:
      type: object
      properties:
        metadata:
          type: object
          properties:
            pagination:
              type: object
              properties:
                count:
                  type: integer
                  example: 10
                next:
                  type:
                  - string
                  - 'null'
                  format: uri
                  example: null
                previous:
                  type:
                  - string
                  - 'null'
                  format: uri
                  example: null
                page_size:
                  type: integer
                  example: 10
                num_pages:
                  type: integer
                  example: 1
                current_page:
                  type: integer
                  example: 1
          example:
            pagination:
              count: 10
              next: null
              previous: null
              page_size: 10
              num_pages: 1
              current_page: 1
        data:
          type: array
          items:
            $ref: '#/components/schemas/OptimizedVendor'
    BlankEnum:
      enum:
      - ''
    VendorPerformance:
      type: object
      properties:
        overall_score:
          type: number
          format: float
          readOnly: true
        average_delivery_time:
          type:
          - string
          - 'null'
          format: decimal
          pattern: ^-?\d{0,3}(?:\.\d{0,3})?$
          readOnly: true
        breakdown:
          allOf:
          - $ref: '#/components/schemas/VendorBreakdownDocs'
          readOnly: true
    PaymentTerm:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 100
        description:
          type:
          - string
          - 'null'
        active:
          type: boolean
      required:
      - name
    CategoryEnum:
      enum:
      - 0
      - 1
      type: integer
      description: '* `0` - Physical

        * `1` - Virtual'
    Currency:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 10
        description:
          type: string
          maxLength: 100
        rate:
          type: string
          format: decimal
          pattern: ^-?\d{0,9}(?:\.\d{0,6})?$
        base:
          type: boolean
        active:
          type: boolean
      required:
      - name
      - rate
    NestedVendorRequest:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        requester:
          type: string
          readOnly: true
        submitted_date:
          type: string
          format: date-time
        next_approver:
          type: string
          readOnly: true
        permissions:
          type: object
          additionalProperties: {}
          readOnly: true
      required:
      - submitted_date
    PaymentMethodTypeEnum:
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      type: integer
      description: '* `0` - OTHER

        * `1` - CHECK

        * `2` - ACH

        * `3` - EFT

        * `4` - WIRE

        * `5` - PROCURIFY_CHECK

        * `6` - PROCURIFY_ACH

        * `7` - PROCURIFY_WIRE

        * `8` - AIRWALLEX'
    VendorDetailSerializerSingleRetrieve:
      type: object
      properties:
        metadata:
          type: object
          additionalProperties: {}
          default: {}
        data:
          $ref: '#/components/schemas/VendorDetail'
      required:
      - data
    NullEnum:
      enum:
      - null
    PatchedOptimizedVendorRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          description: Name of the vendor
          maxLength: 150
        active:
          type: boolean
        addressLineOne:
          type:
          - string
          - 'null'
          title: Address line 1
          description: First line of address
          maxLength: 300
        addressLineTwo:
          type:
          - string
          - 'null'
          title: Address line 2
          description: Second line of address
          maxLength: 300
        postalCode:
          type:
          - string
          - 'null'
          title: Postal Code
          description: Postal or Zip code of the vendor
          maxLength: 20
        city:
          type:
          - string
          - 'null'
          description: City of the vendor
          maxLength: 50
        state_province:
          type:
          - string
          - 'null'
          title: State/Province
          description: State or Province of the vendor
          maxLength: 40
        country:
          type:
          - string
          - 'null'
          description: Country of the vendor
          maxLength: 80
        phoneOne:
          type:
          - string
          - 'null'
          description: Primary phone no. of the vendor
          maxLength: 20
        phoneTwo:
          type:
          - string
          - 'null'
          description: Secondary phone no. of the vendor
          maxLength: 20
        fax:
          type:
          - string
          - 'null'
          description: Fax no. of the vendor
          maxLength: 20
        email:
          type: array
          items:
            type: string
            format: email
            minLength: 1
        comments:
          type:
          - string
          - 'null'
          description: Notes about the vendor
        contact:
          type:
          - string
          - 'null'
          description: Contact person of the vendor
          maxLength: 50
        url:
          type:
          - string
          - 'null'
          description: Website of the vendor
          maxLength: 200
        external_id:
          type:
          - string
          - 'null'
          description: External id of the vendor
          maxLength: 100
        currency:
          type:
          - integer
          - 'null'
        payment_term_ref:
          allOf:
          - $ref: '#/components/schemas/PaymentTermRequest'
          type:
          - object
          - 'null'
        shipping_term_ref:
          allOf:
          - $ref: '#/components/schemas/ShippingTermRequest'
          type:
          - object
          - 'null'
        payment_method_ref:
          allOf:
          - $ref: '#/components/schemas/PaymentMethodRequest'
          type:
          - object
          - 'null'
        shipping_method_ref:
          allOf:
          - $ref: '#/components/schemas/ShippingMethodRequest'
          type:
          - object
          - 'null'
        tax:
          type:
          - integer
          - 'null'
        type:
          $ref: '#/components/schemas/VendorTypeEnum'
        default_payment_method:
          type:
          - integer
          - 'null'
        is_1099_eligible:
          type:
          - boolean
          - 'null'
          title: 1099 Eligible?
        overall_score:
          type:
          - string
          - 'null'
          format: decimal
          pattern: ^-?\d{0,2}(?:\.\d{0,3})?$
        is_auto_email_po_enabled:
          type: boolean
        po_pdf_labels:
          type: string
          description: Placeholder for a KVStore value
          maxLength: 200
        email_configurations:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/EmailConfigurationRequest'
    OptimizedVendorRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          description: Name of the vendor
          maxLength: 150
        active:
          type: boolean
        addressLineOne:
          type:
          - string
          - 'null'
          title: Address line 1
          description: First line of address
          maxLength: 300
        addressLineTwo:
          type:
          - string
          - 'null'
          title: Address line 2
          description: Second line of address
          maxLength: 300
        postalCode:
          type:
          - string
          - 'null'
          title: Postal Code
          description: Postal or Zip code of the vendor
          maxLength: 20
        city:
          type:
          - string
          - 'null'
          description: City of the vendor
          maxLength: 50
        state_province:
          type:
          - string
          - 'null'
          title: State/Province
          description: State or Province of the vendor
          maxLength: 40
        country:
          type:
          - string
          - 'null'
          description: Country of the vendor
          maxLength: 80
        phoneOne:
          type:
          - string
          - 'null'
          description: Primary phone no. of the vendor
          maxLength: 20
        phoneTwo:
          type:
          - string
          - 'null'
          description: Secondary phone no. of the vendor
          maxLength: 20
        fax:
          type:
          - string
          - 'null'
          description: Fax no. of the vendor
          maxLength: 20
        email:
          type: array
          items:
            type: string
            format: email
            minLength: 1
        comments:
          type:
          - string
          - 'null'
          description: Notes about the vendor
        contact:
          type:
          - string
          - 'null'
          description: Contact person of the vendor
          maxLength: 50
        url:
          type:
          - string
          - 'null'
          description: Website of the vendor
          maxLength: 200
        external_id:
          type:
          - string
          - 'null'
          description: External id of the vendor
          maxLength: 100
        currency:
          type:
          - integer
          - 'null'
        payment_term_ref:
          allOf:
      

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