Skip to main content

rules

Creates, updates, deletes, gets or lists a rules resource.

Overview

Namerules
TypeResource
Idvercel.ai_gateway.rules

Fields

The following fields are returned by SELECT queries:

Public response shape for AI Gateway routing rules. Used so OpenAPI generation can avoid ElectroDB's recursive EntityItem types.

NameDatatypeDescription
owner_idstring (wire: ownerId)
rule_idstring (wire: ruleId)
actionobject
created_atnumber (wire: createdAt)
created_bystring (wire: createdBy)
deletedboolean (false, true)
descriptionstring
enabledboolean (false, true)
matchobject
typestring (deny, rewrite)
updated_atnumber (wire: updatedAt)
updated_bystring (wire: updatedBy)

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
listselectinclude_disabled, team_id, slugList the authenticated team's routing rules
createinsertteam_id, slugCreate a routing rule
updateupdateteam_id, slugUpdate a routing rule (enabled, action, or description)
deletedeleterule_idteam_id, slugDelete a routing rule (soft delete)

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
rule_idstring (wire: ruleId)
include_disabledstring (wire: includeDisabled)
slugstringThe Team slug to perform the request on behalf of.
team_idstringThe Team identifier to perform the request on behalf of. (wire: teamId)

SELECT examples

List the authenticated team's routing rules

SELECT
owner_id,
rule_id,
action,
created_at,
created_by,
deleted,
description,
enabled,
match,
type,
updated_at,
updated_by
FROM vercel.ai_gateway.rules
WHERE include_disabled = '{{ include_disabled }}'
AND team_id = '{{ team_id }}'
AND slug = '{{ slug }}'
;

INSERT examples

Create a routing rule

INSERT INTO vercel.ai_gateway.rules (
team_id,
slug
)
SELECT
'{{ team_id }}',
'{{ slug }}'
RETURNING
owner_id,
rule_id,
action,
created_at,
created_by,
deleted,
description,
enabled,
match,
type,
updated_at,
updated_by
;

UPDATE examples

Update a routing rule (enabled, action, or description)

UPDATE vercel.ai_gateway.rules
SET
-- No updatable properties
WHERE
team_id = '{{ team_id}}'
AND slug = '{{ slug}}'
RETURNING
owner_id,
rule_id,
action,
created_at,
created_by,
deleted,
description,
enabled,
match,
type,
updated_at,
updated_by;

DELETE examples

Delete a routing rule (soft delete)

DELETE FROM vercel.ai_gateway.rules
WHERE rule_id = '{{ rule_id }}' --required
AND team_id = '{{ team_id }}'
AND slug = '{{ slug }}'
;