This is Payabli documentation. For a complete page index, fetch https://docs.payabli.com/llms.txt — append .md to any page URL for lightweight markdown. For section-level indexes, query parameters, and other AI-optimized access methods, see https://docs.payabli.com/ai-agents.md

# Enrich vendor

POST https://api-sandbox.payabli.com/api/Vendor/enrich/{entry}
Content-Type: application/json

Triggers AI-powered vendor enrichment for an existing vendor. Runs one or more enrichment stages (invoice scan, web search) based on the `scope` parameter. Can automatically apply extracted payment acceptance info and vendor contact information to the vendor record, or return raw results for manual review. Contact Payabli to enable this feature.

Reference: https://docs.payabli.com/developers/api-reference/vendor/enrich-vendor

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: payabliApi
  version: 1.0.0
paths:
  /Vendor/enrich/{entry}:
    post:
      operationId: enrich-vendor
      summary: Enrich vendor
      description: >-
        Triggers AI-powered vendor enrichment for an existing vendor. Runs one
        or more enrichment stages (invoice scan, web search) based on the
        `scope` parameter. Can automatically apply extracted payment acceptance
        info and vendor contact information to the vendor record, or return raw
        results for manual review. Contact Payabli to enable this feature.
      tags:
        - subpackage_vendor
      parameters:
        - name: entry
          in: path
          description: Entrypoint identifier.
          required: true
          schema:
            type: string
        - name: requestToken
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_vendor:VendorEnrichResponse'
        '400':
          description: Bad request/ invalid data
          content:
            application/json:
              schema:
                description: Any type
        '401':
          description: Unauthorized request.
          content:
            application/json:
              schema:
                description: Any type
        '500':
          description: Internal API Error
          content:
            application/json:
              schema:
                description: Any type
        '503':
          description: Database connection error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_:PayabliApiResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/type_vendor:VendorEnrichRequest'
servers:
  - url: https://api-sandbox.payabli.com/api
  - url: https://api.payabli.com/api
components:
  schemas:
    type_:FileContentFtype:
      type: string
      enum:
        - pdf
        - doc
        - docx
        - jpg
        - jpeg
        - png
        - gif
        - txt
      description: The MIME type of the file (if content is provided)
      title: FileContentFtype
    type_:FileContent:
      type: object
      properties:
        fContent:
          type: string
          description: >-
            Content of file, Base64-encoded. Ignored if furl is specified. Max
            upload size is 30 MB.
        filename:
          type: string
          description: The name of the attached file.
        ftype:
          $ref: '#/components/schemas/type_:FileContentFtype'
          description: The MIME type of the file (if content is provided)
        furl:
          type: string
          description: Optional URL provided to show or download the file remotely
      description: Contains details about a file. Max upload size is 30 MB.
      title: FileContent
    type_vendor:VendorEnrichRequest:
      type: object
      properties:
        vendorId:
          type: integer
          format: int64
          description: >-
            ID of the vendor to enrich. Must be active and belong to the given
            entrypoint.
        scope:
          type: array
          items:
            type: string
          description: >-
            Enrichment stages to run. Valid values are `invoice_scan` and
            `web_search`. Stages run in order: invoice scan first, then web
            search. If the vendor becomes payout-ready after invoice scan, web
            search is skipped.
        applyEnrichmentData:
          type: boolean
          description: >-
            When `true` (the default), extracted data is automatically written
            to the vendor record. Only empty fields are populated, existing
            values are never overwritten. When `false`, the vendor record isn't
            modified. In both cases, `enrichmentData` in the response contains
            the extracted results. Use `false` for UI flows where users review
            and confirm changes before applying them with the update vendor
            endpoint.
        scheduleCallIfNeeded:
          type: boolean
          description: >-
            When `true`, triggers an AI outreach call if enrichment stages
            return insufficient payment acceptance info. This feature is
            currently in development.
        invoiceFile:
          $ref: '#/components/schemas/type_:FileContent'
          description: >-
            PDF invoice file, Base64-encoded. Required when `scope` includes
            `invoice_scan`.
        billId:
          type: integer
          format: int64
          description: Bill ID to associate with this enrichment request.
        fallbackMethod:
          type: string
          description: >-
            Payment method to apply if enrichment can't find payment details.
            Values are `check`, `ach`, or `card`.
      required:
        - vendorId
      description: Request body for the vendor enrichment endpoint.
      title: VendorEnrichRequest
    type_:Responsecode:
      type: integer
      description: >-
        Code for the response. Learn more in [API Response
        Codes](/developers/api-reference/api-responses).
      title: Responsecode
    type_:PageIdentifier:
      type: string
      description: Auxiliary validation used internally by payment pages and components.
      title: PageIdentifier
    type_:RoomIdNotInUse:
      type: integer
      format: int64
      description: Field not in use on this endpoint. It always returns `0`.
      title: RoomIdNotInUse
    type_:IsSuccess:
      type: boolean
      description: >-
        Boolean indicating whether the operation was successful. A `true` value
        indicates success. A `false` value indicates failure.
      title: IsSuccess
    type_:ResponseText:
      type: string
      description: 'Response text for operation: ''Success'' or ''Declined''.'
      title: ResponseText
    type_vendor:VendorEnrichmentInvoiceScan:
      type: object
      properties:
        vendorName:
          type: string
          description: Vendor name extracted from the invoice.
        street:
          type: string
          description: Street address.
        city:
          type: string
          description: City.
        state:
          type: string
          description: State (two-letter abbreviation).
        zipCode:
          type: string
          description: ZIP code.
        country:
          type: string
          description: Country code.
        phone:
          type: string
          description: >-
            Phone number. Format isn't guaranteed and is extracted as-is from
            the invoice.
        email:
          type: string
          description: Email address.
        paymentLink:
          type: string
          description: Payment portal URL, if found on the invoice.
        cardAccepted:
          type: string
          description: >-
            Whether the vendor accepts card payments. Values are `yes`, `no`, or
            `unable to determine`.
        achAccepted:
          type: string
          description: >-
            Whether the vendor accepts ACH payments. Values are `yes`, `no`, or
            `unable to determine`.
        checkAccepted:
          type: string
          description: >-
            Whether the vendor accepts check payments. Values are `yes`, `no`,
            or `unable to determine`.
        invoiceNumber:
          type: string
          description: Invoice number extracted from the document.
        amountDue:
          type: number
          format: double
          description: Invoice amount due in USD.
        dueDate:
          type: string
          description: Payment due date. Format is `YYYY-MM-DD`.
      description: >-
        Vendor contact information and payment acceptance info extracted from an
        invoice.
      title: VendorEnrichmentInvoiceScan
    type_vendor:VendorEnrichmentWebSearch:
      type: object
      properties:
        phone:
          type: string
          description: Phone number found through web search. Format isn't guaranteed.
        phoneType:
          type: string
          description: >-
            Phone classification. Values are `main`, `billing`, or
            `customer_service`.
        email:
          type: string
          description: Email address.
        emailType:
          type: string
          description: >-
            Email classification. Values are `billing`, `general`, or
            `customer_service`.
        street:
          type: string
          description: Street address.
        city:
          type: string
          description: City.
        state:
          type: string
          description: State (two-letter abbreviation).
        zipCode:
          type: string
          description: ZIP code.
        country:
          type: string
          description: Country code.
        addressType:
          type: string
          description: >-
            Address classification. Values are `business`, `headquarters`, or
            `mailing`.
        paymentLink:
          type: string
          description: Payment portal URL.
        paymentLinkType:
          type: string
          description: >-
            Link classification. Values are `payment_portal`, `billing_page`, or
            `general_website`.
        cardAccepted:
          type: string
          description: >-
            Whether the vendor accepts card payments. Values are `yes`, `no`, or
            `unable to determine`.
        achAccepted:
          type: string
          description: >-
            Whether the vendor accepts ACH payments. Values are `yes`, `no`, or
            `unable to determine`.
        checkAccepted:
          type: string
          description: >-
            Whether the vendor accepts check payments. Values are `yes`, `no`,
            or `unable to determine`.
      description: >-
        Vendor contact information and payment acceptance info found through web
        search.
      title: VendorEnrichmentWebSearch
    type_vendor:VendorEnrichmentData:
      type: object
      properties:
        invoiceScan:
          $ref: '#/components/schemas/type_vendor:VendorEnrichmentInvoiceScan'
          description: Results from the invoice scan stage, if it ran.
        webSearch:
          $ref: '#/components/schemas/type_vendor:VendorEnrichmentWebSearch'
          description: Results from the web search stage, if it ran.
      description: Container for enrichment stage results.
      title: VendorEnrichmentData
    type_vendor:VendorEnrichResponseData:
      type: object
      properties:
        enrichmentId:
          type: string
          description: >-
            Unique identifier for this enrichment run. Format:
            `enrich-{vendorId}-{8-char hex}`.
        status:
          type: string
          description: >-
            Final enrichment status. Values are `completed` (vendor is
            payout-ready), `completed_from_network` (vendor was already enriched
            in the Payabli vendor network, no AI processing needed), or
            `insufficient` (all stages ran but the vendor still lacks sufficient
            payment data).
        stagesTriggered:
          type: array
          items:
            type: string
          description: >-
            Stages that ran successfully. A stage is only listed here if it
            returned a successful response. Failed stages are excluded.
        vendorPayoutReady:
          type: boolean
          description: >-
            `true` if the vendor now has sufficient payment data to process a
            payout (ACH, card email, or check remit address).
        enrichmentData:
          $ref: '#/components/schemas/type_vendor:VendorEnrichmentData'
          description: Raw extraction results from the enrichment stages that ran.
      description: Enrichment result details.
      title: VendorEnrichResponseData
    type_vendor:VendorEnrichResponse:
      type: object
      properties:
        responseCode:
          $ref: '#/components/schemas/type_:Responsecode'
        pageIdentifier:
          $ref: '#/components/schemas/type_:PageIdentifier'
        roomId:
          $ref: '#/components/schemas/type_:RoomIdNotInUse'
        isSuccess:
          $ref: '#/components/schemas/type_:IsSuccess'
        responseText:
          $ref: '#/components/schemas/type_:ResponseText'
        responseData:
          $ref: '#/components/schemas/type_vendor:VendorEnrichResponseData'
      required:
        - responseText
      description: Response from the vendor enrichment endpoint.
      title: VendorEnrichResponse
    type_:Responsedata:
      type: object
      additionalProperties:
        description: Any type
      description: The object containing the response data.
      title: Responsedata
    type_:PayabliApiResponse:
      type: object
      properties:
        isSuccess:
          $ref: '#/components/schemas/type_:IsSuccess'
        responseData:
          $ref: '#/components/schemas/type_:Responsedata'
        responseText:
          $ref: '#/components/schemas/type_:ResponseText'
      required:
        - responseText
      title: PayabliApiResponse
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: requestToken

```

## SDK Code Examples

```typescript InvoiceScanReviewMode
import { PayabliClient } from "@payabli/sdk-node";

async function main() {
    const client = new PayabliClient({
        apiKey: "YOUR_API_KEY_HERE",
    });
    await client.vendor.enrichVendor("8cfec329267", {
        vendorId: 3890,
        scope: [
            "invoice_scan",
        ],
        applyEnrichmentData: false,
        invoiceFile: {
            fContent: "<base64-encoded-pdf>",
            filename: "invoice-2026-001.pdf",
            ftype: "pdf",
        },
        fallbackMethod: "check",
    });
}
main();

```

```python InvoiceScanReviewMode
from payabli import payabli, FileContent

client = payabli(
    api_key="YOUR_API_KEY_HERE",
)

client.vendor.enrich_vendor(
    entry="8cfec329267",
    vendor_id=3890,
    scope=[
        "invoice_scan"
    ],
    apply_enrichment_data=False,
    invoice_file=FileContent(
        f_content="<base64-encoded-pdf>",
        filename="invoice-2026-001.pdf",
        ftype="pdf",
    ),
    fallback_method="check",
)

```

```csharp InvoiceScanReviewMode
using PayabliPayabliApi;
using System.Threading.Tasks;
using System.Collections.Generic;

namespace Usage;

public class Example
{
    public async Task Do() {
        var client = new PayabliPayabliApiClient(
            apiKey: "YOUR_API_KEY_HERE"
        );

        await client.Vendor.EnrichVendorAsync(
            "8cfec329267",
            new VendorEnrichRequest {
                VendorId = 3890L,
                Scope = new List<string>(){
                    "invoice_scan",
                }
                ,
                ApplyEnrichmentData = false,
                InvoiceFile = new FileContent {
                    FContent = "<base64-encoded-pdf>",
                    Filename = "invoice-2026-001.pdf",
                    Ftype = FileContentFtype.Pdf
                },
                FallbackMethod = "check"
            }
        );
    }

}

```

```go InvoiceScanReviewMode
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api-sandbox.payabli.com/api/Vendor/enrich/8cfec329267"

	payload := strings.NewReader("{\n  \"vendorId\": 3890,\n  \"scope\": [\n    \"invoice_scan\"\n  ],\n  \"applyEnrichmentData\": false,\n  \"invoiceFile\": {\n    \"fContent\": \"<base64-encoded-pdf>\",\n    \"filename\": \"invoice-2026-001.pdf\",\n    \"ftype\": \"pdf\"\n  },\n  \"fallbackMethod\": \"check\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("requestToken", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby InvoiceScanReviewMode
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.payabli.com/api/Vendor/enrich/8cfec329267")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["requestToken"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"vendorId\": 3890,\n  \"scope\": [\n    \"invoice_scan\"\n  ],\n  \"applyEnrichmentData\": false,\n  \"invoiceFile\": {\n    \"fContent\": \"<base64-encoded-pdf>\",\n    \"filename\": \"invoice-2026-001.pdf\",\n    \"ftype\": \"pdf\"\n  },\n  \"fallbackMethod\": \"check\"\n}"

response = http.request(request)
puts response.read_body
```

```java InvoiceScanReviewMode
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api-sandbox.payabli.com/api/Vendor/enrich/8cfec329267")
  .header("requestToken", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"vendorId\": 3890,\n  \"scope\": [\n    \"invoice_scan\"\n  ],\n  \"applyEnrichmentData\": false,\n  \"invoiceFile\": {\n    \"fContent\": \"<base64-encoded-pdf>\",\n    \"filename\": \"invoice-2026-001.pdf\",\n    \"ftype\": \"pdf\"\n  },\n  \"fallbackMethod\": \"check\"\n}")
  .asString();
```

```php InvoiceScanReviewMode
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api-sandbox.payabli.com/api/Vendor/enrich/8cfec329267', [
  'body' => '{
  "vendorId": 3890,
  "scope": [
    "invoice_scan"
  ],
  "applyEnrichmentData": false,
  "invoiceFile": {
    "fContent": "<base64-encoded-pdf>",
    "filename": "invoice-2026-001.pdf",
    "ftype": "pdf"
  },
  "fallbackMethod": "check"
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'requestToken' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```swift InvoiceScanReviewMode
import Foundation

let headers = [
  "requestToken": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "vendorId": 3890,
  "scope": ["invoice_scan"],
  "applyEnrichmentData": false,
  "invoiceFile": [
    "fContent": "<base64-encoded-pdf>",
    "filename": "invoice-2026-001.pdf",
    "ftype": "pdf"
  ],
  "fallbackMethod": "check"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Vendor/enrich/8cfec329267")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

```typescript WebSearchReviewMode
import { PayabliClient } from "@payabli/sdk-node";

async function main() {
    const client = new PayabliClient({
        apiKey: "YOUR_API_KEY_HERE",
    });
    await client.vendor.enrichVendor("8cfec329267", {
        vendorId: 3891,
        scope: [
            "web_search",
        ],
        applyEnrichmentData: false,
        fallbackMethod: "check",
    });
}
main();

```

```python WebSearchReviewMode
from payabli import payabli

client = payabli(
    api_key="YOUR_API_KEY_HERE",
)

client.vendor.enrich_vendor(
    entry="8cfec329267",
    vendor_id=3891,
    scope=[
        "web_search"
    ],
    apply_enrichment_data=False,
    fallback_method="check",
)

```

```csharp WebSearchReviewMode
using PayabliPayabliApi;
using System.Threading.Tasks;
using System.Collections.Generic;

namespace Usage;

public class Example
{
    public async Task Do() {
        var client = new PayabliPayabliApiClient(
            apiKey: "YOUR_API_KEY_HERE"
        );

        await client.Vendor.EnrichVendorAsync(
            "8cfec329267",
            new VendorEnrichRequest {
                VendorId = 3891L,
                Scope = new List<string>(){
                    "web_search",
                }
                ,
                ApplyEnrichmentData = false,
                FallbackMethod = "check"
            }
        );
    }

}

```

```go WebSearchReviewMode
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api-sandbox.payabli.com/api/Vendor/enrich/8cfec329267"

	payload := strings.NewReader("{\n  \"vendorId\": 3891,\n  \"scope\": [\n    \"web_search\"\n  ],\n  \"applyEnrichmentData\": false,\n  \"fallbackMethod\": \"check\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("requestToken", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby WebSearchReviewMode
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.payabli.com/api/Vendor/enrich/8cfec329267")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["requestToken"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"vendorId\": 3891,\n  \"scope\": [\n    \"web_search\"\n  ],\n  \"applyEnrichmentData\": false,\n  \"fallbackMethod\": \"check\"\n}"

response = http.request(request)
puts response.read_body
```

```java WebSearchReviewMode
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api-sandbox.payabli.com/api/Vendor/enrich/8cfec329267")
  .header("requestToken", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"vendorId\": 3891,\n  \"scope\": [\n    \"web_search\"\n  ],\n  \"applyEnrichmentData\": false,\n  \"fallbackMethod\": \"check\"\n}")
  .asString();
```

```php WebSearchReviewMode
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api-sandbox.payabli.com/api/Vendor/enrich/8cfec329267', [
  'body' => '{
  "vendorId": 3891,
  "scope": [
    "web_search"
  ],
  "applyEnrichmentData": false,
  "fallbackMethod": "check"
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'requestToken' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```swift WebSearchReviewMode
import Foundation

let headers = [
  "requestToken": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "vendorId": 3891,
  "scope": ["web_search"],
  "applyEnrichmentData": false,
  "fallbackMethod": "check"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Vendor/enrich/8cfec329267")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

```typescript WebSearchAutoApply
import { PayabliClient } from "@payabli/sdk-node";

async function main() {
    const client = new PayabliClient({
        apiKey: "YOUR_API_KEY_HERE",
    });
    await client.vendor.enrichVendor("8cfec329267", {
        vendorId: 3891,
        scope: [
            "web_search",
        ],
        applyEnrichmentData: true,
        fallbackMethod: "check",
    });
}
main();

```

```python WebSearchAutoApply
from payabli import payabli

client = payabli(
    api_key="YOUR_API_KEY_HERE",
)

client.vendor.enrich_vendor(
    entry="8cfec329267",
    vendor_id=3891,
    scope=[
        "web_search"
    ],
    apply_enrichment_data=True,
    fallback_method="check",
)

```

```csharp WebSearchAutoApply
using PayabliPayabliApi;
using System.Threading.Tasks;
using System.Collections.Generic;

namespace Usage;

public class Example
{
    public async Task Do() {
        var client = new PayabliPayabliApiClient(
            apiKey: "YOUR_API_KEY_HERE"
        );

        await client.Vendor.EnrichVendorAsync(
            "8cfec329267",
            new VendorEnrichRequest {
                VendorId = 3891L,
                Scope = new List<string>(){
                    "web_search",
                }
                ,
                ApplyEnrichmentData = true,
                FallbackMethod = "check"
            }
        );
    }

}

```

```go WebSearchAutoApply
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api-sandbox.payabli.com/api/Vendor/enrich/8cfec329267"

	payload := strings.NewReader("{\n  \"vendorId\": 3891,\n  \"scope\": [\n    \"web_search\"\n  ],\n  \"applyEnrichmentData\": true,\n  \"fallbackMethod\": \"check\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("requestToken", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby WebSearchAutoApply
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.payabli.com/api/Vendor/enrich/8cfec329267")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["requestToken"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"vendorId\": 3891,\n  \"scope\": [\n    \"web_search\"\n  ],\n  \"applyEnrichmentData\": true,\n  \"fallbackMethod\": \"check\"\n}"

response = http.request(request)
puts response.read_body
```

```java WebSearchAutoApply
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api-sandbox.payabli.com/api/Vendor/enrich/8cfec329267")
  .header("requestToken", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"vendorId\": 3891,\n  \"scope\": [\n    \"web_search\"\n  ],\n  \"applyEnrichmentData\": true,\n  \"fallbackMethod\": \"check\"\n}")
  .asString();
```

```php WebSearchAutoApply
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api-sandbox.payabli.com/api/Vendor/enrich/8cfec329267', [
  'body' => '{
  "vendorId": 3891,
  "scope": [
    "web_search"
  ],
  "applyEnrichmentData": true,
  "fallbackMethod": "check"
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'requestToken' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```swift WebSearchAutoApply
import Foundation

let headers = [
  "requestToken": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "vendorId": 3891,
  "scope": ["web_search"],
  "applyEnrichmentData": true,
  "fallbackMethod": "check"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Vendor/enrich/8cfec329267")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```