tessl.io Policy API

The Policy API from tessl.io — 3 operation(s) for policy.

OpenAPI Specification

tesslio-policy-api-openapi.yml Raw ↑
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