tessl.io Policy API
The Policy API from tessl.io — 3 operation(s) for policy.
The Policy API from tessl.io — 3 operation(s) for policy.
openapi: 3.1.1
info:
title: Tessl Admin Keys Policy API
version: 1.0.0
description: Admin-scoped API keys for support tooling.
servers:
- url: https://api.tessl.io
tags:
- name: Policy
paths:
/v1/policy/evaluate:
post:
summary: Evaluate generic policy action decisions for a batch of requests
tags:
- Policy
description: Returns generic policy decisions and follow-up requests for registered policy actions.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- requests
properties:
clientVersion:
type: string
context:
type: object
properties:
isCi:
type: boolean
runId:
type: string
project:
type: object
properties:
id:
type: string
workspaceSlug:
anyOf:
- maxLength: 200
type: string
- type: 'null'
acceptedWarnings:
type: boolean
requests:
maxItems: 200
type: array
items:
type: object
required:
- id
- action
- source
properties:
id:
type: string
action:
type: string
source: {}
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
required:
- links
- data
properties:
links:
type: object
required:
- self
properties:
self:
format: uri
type: string
data:
type: object
required:
- id
- type
- attributes
properties:
id:
type: string
type:
type: string
enum:
- policy-evaluation
attributes:
type: object
required:
- policyVersion
- orgId
- evaluationId
- decisions
- additionalRequests
properties:
policyVersion:
type: string
orgId:
anyOf:
- type: string
- type: 'null'
evaluationId:
type: string
decisions:
type: array
items:
anyOf:
- type: object
required:
- id
- action
- decision
- reasons
- requiresInteractiveConfirmation
properties:
id:
type: string
action:
type: string
enum:
- install
decision:
anyOf:
- type: string
enum:
- allow
- type: string
enum:
- warn
- type: string
enum:
- block
reasons:
type: array
items:
anyOf:
- type: object
required:
- kind
- ruleId
- severity
- code
- message
- details
properties:
kind:
type: string
enum:
- security-finding
ruleId:
type: string
severity:
anyOf:
- type: string
enum:
- info
- type: string
enum:
- warn
- type: string
enum:
- error
code:
type: string
message:
type: string
details:
type: object
required:
- securityLevel
- securityStatus
- findings
- registryUrl
properties:
securityLevel:
anyOf:
- enum:
- LOW
- MEDIUM
- HIGH
- CRITICAL
type: string
- type: 'null'
securityStatus:
anyOf:
- type: string
enum:
- completed
- type: string
enum:
- failed
- type: string
enum:
- pending
- type: 'null'
findings:
type: array
items:
type: object
required:
- severity
- code
- title
- reasoning
- issueDescription
properties:
severity:
enum:
- LOW
- MEDIUM
- HIGH
- CRITICAL
type: string
code:
type: string
title:
type: string
reasoning:
type: string
issueDescription:
anyOf:
- type: string
- type: 'null'
registryUrl:
anyOf:
- type: string
- type: 'null'
- type: object
required:
- kind
- ruleId
- severity
- code
- message
- details
properties:
kind:
type: string
enum:
- source-restricted
ruleId:
type: string
severity:
type: string
enum:
- error
code:
type: string
message:
type: string
details:
type: object
properties:
registryScope:
anyOf:
- type: string
enum:
- all
- type: string
enum:
- tessl-and-org
- type: string
enum:
- org-only
deniedSourceKind:
anyOf:
- type: string
enum:
- registry
- type: string
enum:
- git
gitSource:
type: object
required:
- host
- path
properties:
host:
type: string
path:
type: array
items:
type: string
- type: object
required:
- kind
- ruleId
- severity
- code
- message
- details
properties:
kind:
type: string
enum:
- workspace-access
ruleId:
type: string
severity:
type: string
enum:
- error
code:
type: string
message:
type: string
details:
type: object
properties: {}
- type: object
required:
- kind
- ruleId
- severity
- code
- message
- details
properties:
kind:
type: string
enum:
- managed-project-unresolved
ruleId:
type: string
severity:
type: string
enum:
- error
code:
type: string
message:
type: string
details:
type: object
properties: {}
- type: object
required:
- kind
- ruleId
- severity
- code
- message
- details
properties:
kind:
type: string
enum:
- managed-project-required
ruleId:
type: string
severity:
anyOf:
- type: string
enum:
- info
- type: string
enum:
- error
code:
type: string
message:
type: string
details:
type: object
required:
- managedWorkspace
- policyName
- dependencyName
- requiredVersion
properties:
managedWorkspace:
type: string
policyName:
type: string
dependencyName:
type: string
requiredVersion:
type: string
- type: object
required:
- kind
- ruleId
- severity
- code
- message
- details
properties:
kind:
type: string
enum:
- release-age
ruleId:
type: string
severity:
type: string
enum:
- error
code:
type: string
message:
type: string
details:
type: object
required:
- requestedVersion
- requestedReleaseAgeInDays
- minimumAgeInDays
- fallbackVersion
- fallbackPublishedAt
properties:
requestedVersion:
type: string
requestedReleaseAgeInDays:
minimum: 0
type: integer
minimumAgeInDays:
minimum: 0
type: integer
fallbackVersion:
anyOf:
- type: string
- type: 'null'
fallbackPublishedAt:
anyOf:
- type: string
- type: 'null'
fallbackSecurityReasons:
type: array
items:
type: object
required:
- kind
- ruleId
- severity
- code
- message
- details
properties:
kind:
type: string
enum:
- security-finding
ruleId:
type: string
severity:
anyOf:
- type: string
enum:
- info
- type: string
enum:
- warn
- type: string
enum:
- error
code:
type: string
message:
type: string
details:
type: object
required:
- securityLevel
- securityStatus
- findings
- registryUrl
properties:
securityLevel:
anyOf:
- enum:
- LOW
- MEDIUM
- HIGH
- CRITICAL
type: string
- type: 'null'
securityStatus:
anyOf:
- type: string
enum:
- completed
- type: string
enum:
- failed
- type: string
enum:
- pending
- type: 'null'
findings:
type: array
items:
type: object
required:
- severity
- code
- title
- reasoning
- issueDescription
properties:
severity:
enum:
- LOW
- MEDIUM
- HIGH
- CRITICAL
type: string
code:
type: string
title:
type: string
reasoning:
type: string
issueDescription:
anyOf:
- type: string
- type: 'null'
registryUrl:
anyOf:
- type: string
- type: 'null'
resolvedSource:
anyOf:
- type: object
required:
- id
- source
- tile
properties:
id:
type: string
source:
type: string
enum:
- registry
tile:
type: object
required:
- workspaceName
- tileName
properties:
workspaceName:
type: string
tileName:
type: string
version:
type: string
- type: object
required:
- id
- source
- url
properties:
id:
type: string
source:
type: string
enum:
- git
url:
type: string
branch:
type: string
subpath:
type: string
- type: object
required:
- id
- source
- path
properties:
id:
type: string
source:
type: string
enum:
- file
path:
type: string
fallbackSource:
anyOf:
- type: object
required:
- id
- source
- tile
properties:
id:
type: string
source:
type: string
enum:
- registry
tile:
type: object
required:
- workspaceName
- tileName
properties:
workspaceName:
type: string
tileName:
type: string
version:
type: string
- type: object
required:
- id
- source
- url
properties:
id:
type: string
source:
type: string
enum:
- git
url:
type: string
branch:
type: string
subpath:
type: string
- type: object
# --- truncated at 32 KB (137 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tesslio/refs/heads/main/openapi/tesslio-policy-api-openapi.yml