tessl.io PublishPolicy API

The PublishPolicy API from tessl.io — 1 operation(s) for publishpolicy.

OpenAPI Specification

tesslio-publishpolicy-api-openapi.yml Raw ↑
openapi: 3.1.1
info:
  title: Tessl Admin Keys PublishPolicy API
  version: 1.0.0
  description: Admin-scoped API keys for support tooling.
servers:
- url: https://api.tessl.io
tags:
- name: PublishPolicy
paths:
  /experimental/orgs/{orgId}/publish-policy:
    get:
      tags:
      - PublishPolicy
      description: Returns the publish policy for the organization, falling back to the default policy when no row exists. A persisted policy that no longer matches the current schema surfaces as a 500 rather than silently downgrading to the default.
      parameters:
      - schema:
          format: uuid
          type: string
        in: path
        name: orgId
        required: true
      - schema:
          type: string
        example: Bearer <token>
        in: header
        name: Authorization
        required: false
      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:
                        format: uuid
                        type: string
                      type:
                        type: string
                        enum:
                        - publish-policy
                      attributes:
                        type: object
                        required:
                        - policyDoc
                        - isDefault
                        - updatedAt
                        properties:
                          policyDoc:
                            additionalProperties: false
                            type: object
                            required:
                            - version
                            - rules
                            properties:
                              version:
                                type: number
                                enum:
                                - 1
                              rules:
                                additionalProperties: false
                                type: object
                                required:
                                - securityThreshold
                                properties:
                                  securityThreshold:
                                    additionalProperties: false
                                    type: object
                                    required:
                                    - minSeverityToBlock
                                    properties:
                                      minSeverityToBlock:
                                        anyOf:
                                        - anyOf:
                                          - type: string
                                            enum:
                                            - MEDIUM
                                          - type: string
                                            enum:
                                            - HIGH
                                          - type: string
                                            enum:
                                            - CRITICAL
                                        - type: 'null'
                          isDefault:
                            type: boolean
                          updatedAt:
                            anyOf:
                            - format: date-time
                              type: string
                            - type: 'null'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                description: Unauthorized
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Unauthorized
                      status:
                        type: number
                        enum:
                        - 401
                      message:
                        type: string
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                description: Forbidden
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Forbidden
                      status:
                        type: number
                        enum:
                        - 403
                      message:
                        type: string
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                description: Not Found
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Not Found
                      status:
                        type: number
                        enum:
                        - 404
                      message:
                        type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                description: Internal Server Error
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Internal Server Error
                      status:
                        type: number
                        enum:
                        - 500
                      message:
                        type: string
    put:
      tags:
      - PublishPolicy
      description: Upserts the publish policy for the organization.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              additionalProperties: false
              type: object
              required:
              - policyDoc
              properties:
                policyDoc:
                  additionalProperties: false
                  type: object
                  required:
                  - version
                  - rules
                  properties:
                    version:
                      type: number
                      enum:
                      - 1
                    rules:
                      additionalProperties: false
                      type: object
                      required:
                      - securityThreshold
                      properties:
                        securityThreshold:
                          additionalProperties: false
                          type: object
                          required:
                          - minSeverityToBlock
                          properties:
                            minSeverityToBlock:
                              anyOf:
                              - anyOf:
                                - type: string
                                  enum:
                                  - MEDIUM
                                - type: string
                                  enum:
                                  - HIGH
                                - type: string
                                  enum:
                                  - CRITICAL
                              - type: 'null'
      parameters:
      - schema:
          format: uuid
          type: string
        in: path
        name: orgId
        required: true
      - schema:
          type: string
        example: Bearer <token>
        in: header
        name: Authorization
        required: false
      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:
                        format: uuid
                        type: string
                      type:
                        type: string
                        enum:
                        - publish-policy
                      attributes:
                        type: object
                        required:
                        - policyDoc
                        - isDefault
                        - updatedAt
                        properties:
                          policyDoc:
                            additionalProperties: false
                            type: object
                            required:
                            - version
                            - rules
                            properties:
                              version:
                                type: number
                                enum:
                                - 1
                              rules:
                                additionalProperties: false
                                type: object
                                required:
                                - securityThreshold
                                properties:
                                  securityThreshold:
                                    additionalProperties: false
                                    type: object
                                    required:
                                    - minSeverityToBlock
                                    properties:
                                      minSeverityToBlock:
                                        anyOf:
                                        - anyOf:
                                          - type: string
                                            enum:
                                            - MEDIUM
                                          - type: string
                                            enum:
                                            - HIGH
                                          - type: string
                                            enum:
                                            - CRITICAL
                                        - type: 'null'
                          isDefault:
                            type: boolean
                          updatedAt:
                            format: date-time
                            type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                description: Unauthorized
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Unauthorized
                      status:
                        type: number
                        enum:
                        - 401
                      message:
                        type: string
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                description: Forbidden
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Forbidden
                      status:
                        type: number
                        enum:
                        - 403
                      message:
                        type: string
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                description: Not Found
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Not Found
                      status:
                        type: number
                        enum:
                        - 404
                      message:
                        type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                description: Internal Server Error
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Internal Server Error
                      status:
                        type: number
                        enum:
                        - 500
                      message:
                        type: string
    delete:
      tags:
      - PublishPolicy
      description: Deletes the publish policy for the organization, reverting to the default policy. Idempotent.
      parameters:
      - schema:
          format: uuid
          type: string
        in: path
        name: orgId
        required: true
      - schema:
          type: string
        example: Bearer <token>
        in: header
        name: Authorization
        required: false
      responses:
        '204':
          description: Default Response
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                description: Unauthorized
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Unauthorized
                      status:
                        type: number
                        enum:
                        - 401
                      message:
                        type: string
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                description: Forbidden
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Forbidden
                      status:
                        type: number
                        enum:
                        - 403
                      message:
                        type: string
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                description: Not Found
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Not Found
                      status:
                        type: number
                        enum:
                        - 404
                      message:
                        type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                description: Internal Server Error
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Internal Server Error
                      status:
                        type: number
                        enum:
                        - 500
                      message:
                        type: string