Vic.ai Vendor Tags API
Vendor tags are used to categorize vendors using tags.
Vendor tags are used to categorize vendors using tags.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/vicai-vendor-tags-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
version: v10.40.4
contact: {}
title: Vic.ai Accounts Vendor Tags API
description: "## Introduction\n\nThe Vic.ai API provides a seamless connection between your Enterprise Resource\nPlanning (ERP) system and the Vic.ai product suite.\n\nThe API is designed to offer three main areas of functionality:\n\n- **Syncing master data:** This refers to the data in your ERP that Vic.ai\n interacts with. You are required to supply and update this data in Vic.ai, and\n you also have the option to verify the copy of the masterdata in Vic.ai.\n\n- **Syncing training data:** We need historical data to train your AI model. To\n that end, the API provides endpoints to sync historical invoices into Vic.ai\n and to confirm their presence.\n\n- **Subscribing to and receiving webhooks:** Webhooks enable users or automated\n tasks to interact with your ERP through various actions in the Vic.ai product\n suite, such as posting an invoice, payment or purchase order or requesting\n synchronization. You will receive a notification via a webhook when these\n actions occur.\n\n\nFor US-based integrations, please use the following base API URL:\n\n```\nhttps://api.us.vic.ai\n```\n\nFor integrations based in Norway, use the following base API URL:\n\n```\nhttps://api.no.vic.ai\n```\n\nAll paths mentioned in this documentation should use one of these URLs as the\nbase.\n\nExample:\n\n```bash\ncurl https://api.us.vic.ai/v0/healthCheck \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## Getting Started\n\nTo begin interacting with the Vic.ai API, you will need the following\ncredentials:\n\n* A Vic.ai client ID\n* A Vic.ai client secret.\n\nThese can be provided to you securely by a Vic.ai representative\n[upon request](https://www.vic.ai/book-a-demo).\n\n**Please note:** These credentials are essentially the keys to your ERP\nintegration. If they fall into the wrong hands, unauthorized parties could\nimpersonate you, gain access to sensitive data, and potentially perform\nmalicious actions. Therefore, it's crucial to keep these credentials safe at all\ntimes to protect your application's integrity and your clients' data.\n\n### Limitations\n\nThe Vic.ai API has the following limitations:\n\n**Rate Limiting:** The API is rate-limited to 500 requests per 10-second time\nframe. If you exceed this limit, you will receive a `429 Too Many Requests`\nresponse. The limit is per Oauth client ID. If you continue to receive `429`s,\nplease contact support with a request id from the response headers.\n"
servers:
- url: https://api.no.stage.vic.ai
description: staging server, NO
- url: https://api.us.vic.ai
description: production server, US
- url: https://api.no.vic.ai
description: production server, NO
security:
- BearerAuth: []
tags:
- name: Vendor Tags
description: 'Vendor tags are used to categorize vendors using tags.
'
paths:
/v0/vendors/{vendor_id}/tags/{tag_id}:
delete:
description: 'Use this endpoint to delete a vendor tag association by specifying both the vendor ID and tag ID.
Use `/v0/vendorTags/{id}` when you want to use the vendor tag''s ID instead of the vendor ID and tag ID.
'
summary: Delete a vendor tag by vendor ID and tag ID
operationId: deleteTagFromVendor
tags:
- Vendor Tags
parameters:
- $ref: '#/components/parameters/VendorId'
- $ref: '#/components/parameters/TagId'
- $ref: '#/components/parameters/UseSystemDefaultExternal'
responses:
'204':
$ref: '#/components/responses/VendorTagDeletedResponse'
'403':
$ref: '#/components/responses/ForbiddenResponse'
'404':
$ref: '#/components/responses/ResourceNotFoundResponse'
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
4XX:
$ref: '#/components/responses/ErrorResponse'
/v0/vendorTags:
get:
description: 'Get a list of vendor tags.
'
summary: Get a list of vendor tags
operationId: listVendorTags
tags:
- Vendor Tags
parameters:
- $ref: '#/components/parameters/PagingLimit'
- $ref: '#/components/parameters/PagingCursor'
- name: vendorId
in: query
description: Filter the results to a single vendor's tag associations.
required: false
schema:
type: string
responses:
'200':
$ref: '#/components/responses/VendorTagListResponse'
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
4XX:
$ref: '#/components/responses/ErrorResponse'
post:
description: 'Create a new vendor tag. A vendor is not allowed to have the same tag
attached multiple times.
'
summary: Create a new vendor tag
operationId: createVendorTag
tags:
- Vendor Tags
requestBody:
$ref: '#/components/requestBodies/CreateVendorTagRequest'
responses:
'201':
$ref: '#/components/responses/VendorTagResponse'
'403':
$ref: '#/components/responses/ForbiddenResponse'
'422':
$ref: '#/components/responses/UnprocessableEntityResponse'
/v0/vendorTags/{id}:
delete:
description: 'Delete a vendor tag association using the vendor tag''s ID.
Use `/v0/vendors/{vendor_id}/tags/{tag_id}` when you want to use the vendor ID and tag ID as opposed to the vendor tag''s ID.
'
summary: Delete a vendor tag
operationId: deleteVendorTag
tags:
- Vendor Tags
parameters:
- $ref: '#/components/parameters/VendorTagId'
responses:
'204':
$ref: '#/components/responses/VendorTagDeletedResponse'
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
4XX:
$ref: '#/components/responses/ErrorResponse'
components:
parameters:
TagId:
name: tag_id
in: path
required: true
description: The id of the tag
schema:
type: string
format: uuid
VendorId:
name: vendor_id
in: path
required: true
description: The id of the vendor
schema:
type: string
VendorTagId:
name: id
in: path
required: true
description: The id of the vendor tag
schema:
type: string
PagingCursor:
name: cursor
in: query
description: Which item to start from. See [Pagination](#section/Pagination) for more information.
required: false
schema:
type: string
UseSystemDefaultExternal:
name: useSystem
in: query
description: 'Which system to use for id or updatedAt filters.
'
required: false
schema:
type: string
enum:
- INTERNAL
- EXTERNAL
- internal
- external
default: EXTERNAL
PagingLimit:
name: limit
in: query
description: How many items to return at one time (max 100) (default 100)
required: false
schema:
type: integer
minimum: 1
maximum: 100
responses:
ForbiddenResponse:
description: The request was forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
VendorTagResponse:
description: A single vendor tag.
content:
application/json:
schema:
$ref: '#/components/schemas/VendorTag'
VendorTagDeletedResponse:
description: Vendor tag was successfully deleted.
VendorTagListResponse:
description: A list of vendor tags.
headers:
x-next:
$ref: '#/components/headers/NextPageToken'
content:
application/json:
schema:
$ref: '#/components/schemas/VendorTags'
UnprocessableEntityResponse:
description: Errors with the input are present.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
ResourceNotFoundResponse:
description: Resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
ErrorResponse:
description: An unexpected error has occurred. Check the body for more details.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
TooManyRequestsResponse:
description: HTTP call rate limit exceeded.
headers:
Retry-After:
description: Number of seconds to wait before retrying the request. Waiting this long guarantees the rate-limit window has reset.
schema:
type: integer
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
VendorTag:
type: object
required:
- vendorId
- tagId
properties:
id:
type: string
vendorId:
type: string
tagId:
type: string
Error:
description: 'generic error message in JSON format. Note the ''code'' field should
match the HTTP status code of the wrapping HTTP request.
'
type: object
required:
- code
- message
properties:
code:
type: integer
minimum: 100
maximum: 599
message:
$ref: '#/components/schemas/ErrorString'
VendorTags:
type: array
items:
$ref: '#/components/schemas/VendorTag'
CreateVendorTag:
type: object
required:
- vendorId
- tagId
properties:
vendorId:
type: string
tagId:
type: string
ErrorString:
type: string
maxLength: 255
requestBodies:
CreateVendorTagRequest:
description: Create a vendor tag.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVendorTag'
headers:
NextPageToken:
description: A link to the next page of responses
schema:
type: string
securitySchemes:
BearerAuth:
type: http
scheme: bearer
x-tagGroups:
- name: Integration
tags:
- Authentication
- Pagination
- Webhooks
- Webhook Subscriptions
- Webhook Events
- Synchronizing
- Status
- name: Master Data
tags:
- Accounts
- Dimensions
- Vendors
- Vendor Groups
- Vendor Tags
- Tags
- Tax Codes
- VAT Codes
- Payment Terms
- name: Organization & Access
tags:
- Partners
- Organizations
- Companies
- Users
- name: Invoices & Bills
tags:
- Invoices
- Bills
- Attachments
- Invoice Approval Flows
- Invoice Posting Guide
- Training Invoices
- name: Purchase Orders
tags:
- Purchase Orders
- Purchase Order Line Items
- Purchase Order Matching Guide
- name: Payments
tags:
- Payment Batches
- Payment Confirmations
- Credit Confirmations
- name: Reporting
tags:
- CSV Reports
- name: Reference
tags:
- Changelog