tessl.io Context API

The Context API from tessl.io — 3 operation(s) for context.

OpenAPI Specification

tesslio-context-api-openapi.yml Raw ↑
openapi: 3.1.1
info:
  title: Tessl Admin Keys Context API
  version: 1.0.0
  description: Admin-scoped API keys for support tooling.
servers:
- url: https://api.tessl.io
tags:
- name: Context
paths:
  /experimental/context/lineages/resolve:
    get:
      tags:
      - Context
      description: 'Resolves a context lineage by coordinates: a source (provider + owner/repo for SCM, or tessl-registry without owner/repo) plus exactly one of slug or occurrence path. `kind` applies only to slug resolution (slug is unique per source and kind); it is ignored for path resolution, since an occurrence path already identifies exactly one lineage regardless of kind. Invalid combinations are rejected with 400.'
      parameters:
      - schema:
          type: string
        in: query
        name: provider
        required: true
      - schema:
          type: string
        in: query
        name: owner
        required: false
      - schema:
          type: string
        in: query
        name: repo
        required: false
      - schema:
          type: string
        in: query
        name: slug
        required: false
      - schema:
          type: string
        in: query
        name: path
        required: false
      - schema:
          default: skill
          anyOf:
          - type: string
            enum:
            - skill
          - type: string
            enum:
            - plugin
        in: query
        name: kind
        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:
                        - context-lineage
                      attributes:
                        type: object
                        required:
                        - kind
                        - slug
                        - name
                        - visibility
                        - coordinates
                        - head
                        - canonical
                        - liveness
                        - createdAt
                        - updatedAt
                        properties:
                          kind:
                            type: string
                          slug:
                            type: string
                          name:
                            anyOf:
                            - type: string
                            - type: 'null'
                          visibility:
                            anyOf:
                            - type: string
                              enum:
                              - public
                            - type: string
                              enum:
                              - private
                          coordinates:
                            type: object
                            required:
                            - provider
                            - sourceUrl
                            - owner
                            - repo
                            - registry
                            - path
                            - ref
                            - occurrenceType
                            properties:
                              provider:
                                type: string
                              sourceUrl:
                                format: uri
                                type: string
                              owner:
                                anyOf:
                                - type: string
                                - type: 'null'
                              repo:
                                anyOf:
                                - type: string
                                - type: 'null'
                              registry:
                                anyOf:
                                - type: object
                                  required:
                                  - workspaceName
                                  - tileName
                                  properties:
                                    workspaceName:
                                      type: string
                                    tileName:
                                      type: string
                                - type: 'null'
                              path:
                                type: string
                              ref:
                                type: string
                              occurrenceType:
                                type: string
                          head:
                            anyOf:
                            - type: object
                              required:
                              - versionId
                              - fingerprintAlgo
                              - fingerprint
                              - bodyFingerprint
                              - name
                              - description
                              properties:
                                versionId:
                                  format: uuid
                                  type: string
                                fingerprintAlgo:
                                  type: string
                                fingerprint:
                                  type: string
                                bodyFingerprint:
                                  anyOf:
                                  - type: string
                                  - type: 'null'
                                name:
                                  anyOf:
                                  - type: string
                                  - type: 'null'
                                description:
                                  anyOf:
                                  - type: string
                                  - type: 'null'
                            - type: 'null'
                          canonical:
                            anyOf:
                            - type: object
                              required:
                              - lineageId
                              - electedAt
                              - electionReason
                              properties:
                                lineageId:
                                  format: uuid
                                  type: string
                                electedAt:
                                  format: date-time
                                  type: string
                                electionReason:
                                  type: string
                            - type: 'null'
                          liveness:
                            type: object
                            required:
                            - liveOccurrenceCount
                            - firstSeenAt
                            - lastSeenAt
                            - gone
                            properties:
                              liveOccurrenceCount:
                                type: integer
                              firstSeenAt:
                                anyOf:
                                - format: date-time
                                  type: string
                                - type: 'null'
                              lastSeenAt:
                                anyOf:
                                - format: date-time
                                  type: string
                                - type: 'null'
                              gone:
                                type: boolean
                          createdAt:
                            format: date-time
                            type: string
                          updatedAt:
                            format: date-time
                            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
  /experimental/context/lineages:
    get:
      tags:
      - Context
      description: Lists a source's live, visible context lineages of a kind, one row per lineage.
      parameters:
      - schema:
          type: string
        in: query
        name: filter[provider]
        required: true
      - schema:
          type: string
        in: query
        name: filter[owner]
        required: false
      - schema:
          type: string
        in: query
        name: filter[repo]
        required: false
      - schema:
          default: skill
          anyOf:
          - type: string
            enum:
            - skill
          - type: string
            enum:
            - plugin
        in: query
        name: filter[kind]
        required: false
      - schema:
          default: slug
          anyOf:
          - type: array
            items:
              anyOf:
              - type: string
                enum:
                - slug
              - type: string
                enum:
                - -slug
              - type: string
                enum:
                - updatedAt
              - type: string
                enum:
                - -updatedAt
              - type: string
                enum:
                - id
              - type: string
                enum:
                - -id
          - anyOf:
            - type: string
              enum:
              - slug
            - type: string
              enum:
              - -slug
            - type: string
              enum:
              - updatedAt
            - type: string
              enum:
              - -updatedAt
            - type: string
              enum:
              - id
            - type: string
              enum:
              - -id
        in: query
        name: sort
        required: false
      - schema:
          minimum: 1
          maximum: 100
          default: 100
          type: number
        in: query
        name: page[size]
        required: false
      - schema:
          type: string
        in: query
        name: page[after]
        required: false
      - schema:
          type: string
        in: query
        name: page[before]
        required: false
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                - links
                - meta
                - data
                properties:
                  links:
                    type: object
                    required:
                    - self
                    - next
                    - prev
                    properties:
                      self:
                        format: uri
                        type: string
                      next:
                        anyOf:
                        - format: uri
                          type: string
                        - type: 'null'
                      prev:
                        anyOf:
                        - format: uri
                          type: string
                        - type: 'null'
                  meta:
                    type: object
                    required:
                    - count
                    properties:
                      count:
                        type: number
                  data:
                    type: array
                    items:
                      type: object
                      required:
                      - id
                      - type
                      - attributes
                      properties:
                        id:
                          format: uuid
                          type: string
                        type:
                          type: string
                          enum:
                          - context-lineage
                        attributes:
                          type: object
                          required:
                          - kind
                          - slug
                          - name
                          - visibility
                          - coordinates
                          - head
                          - canonical
                          - liveness
                          - createdAt
                          - updatedAt
                          properties:
                            kind:
                              type: string
                            slug:
                              type: string
                            name:
                              anyOf:
                              - type: string
                              - type: 'null'
                            visibility:
                              anyOf:
                              - type: string
                                enum:
                                - public
                              - type: string
                                enum:
                                - private
                            coordinates:
                              type: object
                              required:
                              - provider
                              - sourceUrl
                              - owner
                              - repo
                              - registry
                              - path
                              - ref
                              - occurrenceType
                              properties:
                                provider:
                                  type: string
                                sourceUrl:
                                  format: uri
                                  type: string
                                owner:
                                  anyOf:
                                  - type: string
                                  - type: 'null'
                                repo:
                                  anyOf:
                                  - type: string
                                  - type: 'null'
                                registry:
                                  anyOf:
                                  - type: object
                                    required:
                                    - workspaceName
                                    - tileName
                                    properties:
                                      workspaceName:
                                        type: string
                                      tileName:
                                        type: string
                                  - type: 'null'
                                path:
                                  type: string
                                ref:
                                  type: string
                                occurrenceType:
                                  type: string
                            head:
                              anyOf:
                              - type: object
                                required:
                                - versionId
                                - fingerprintAlgo
                                - fingerprint
                                - bodyFingerprint
                                - name
                                - description
                                properties:
                                  versionId:
                                    format: uuid
                                    type: string
                                  fingerprintAlgo:
                                    type: string
                                  fingerprint:
                                    type: string
                                  bodyFingerprint:
                                    anyOf:
                                    - type: string
                                    - type: 'null'
                                  name:
                                    anyOf:
                                    - type: string
                                    - type: 'null'
                                  description:
                                    anyOf:
                                    - type: string
                                    - type: 'null'
                              - type: 'null'
                            canonical:
                              anyOf:
                              - type: object
                                required:
                                - lineageId
                                - electedAt
                                - electionReason
                                properties:
                                  lineageId:
                                    format: uuid
                                    type: string
                                  electedAt:
                                    format: date-time
                                    type: string
                                  electionReason:
                                    type: string
                              - type: 'null'
                            liveness:
                              type: object
                              required:
                              - liveOccurrenceCount
                              - firstSeenAt
                              - lastSeenAt
                              - gone
                              properties:
                                liveOccurrenceCount:
                                  type: integer
                                firstSeenAt:
                                  anyOf:
                                  - format: date-time
                                    type: string
                                  - type: 'null'
                                lastSeenAt:
                                  anyOf:
                                  - format: date-time
                                    type: string
                                  - type: 'null'
                                gone:
                                  type: boolean
                            createdAt:
                              format: date-time
                              type: string
                            updatedAt:
                              format: date-time
                              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
  /experimental/context/lineages/{lineageId}:
    get:
      tags:
      - Context
      description: Fetches a context lineage by id.
      parameters:
      - schema:
          format: uuid
          type: string
        in: path
        name: lineageId
        required: true
      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:
                        - context-lineage
                      attributes:
                        type: object
                        required:
                        - kind
                        - slug
                        - name
                        - visibility
                        - coordinates
                        - head
                        - canonical
                        - liveness
                        - createdAt
                        - updatedAt
                        properties:
                          kind:
                            type: string
                          slug:
                            type: string
                          name:
                            anyOf:
                            - type: string
                            - type: 'null'
                          visibility:
                            anyOf:
                            - type: string
                              enum:
                              - public
                            - type: string
                              enum:
                              - private
                          coordinates:
                            type: object
                            required:
                            - provider
                            - sourceUrl
                            - owner
                            - repo
                            - registry
                            - path
                            - ref
                            - occurrenceType
                            properties:
                              provider:
                                type: string
                              sourceUrl:
                                format: uri
                                type: string
                              owner:
                                anyOf:
                                - type: string
                                - type: 'null'
                              repo:
                                anyOf:
                                - type: string
                                - type: 'null'
                              registry:
                                anyOf:
                                - type: object
                                  required:
                                  - workspaceName
                                  - tileName
                                  properties:
                                    workspaceName:
                                      type: string
                                    tileName:
                                      type: string
                                - type: 'null'
                              path:
                                type: string
                              ref:
                                type: string
                              occurrenceType:
                                type: string
                          head:
                            anyOf:
                            - type: object
                              required:
                              - versionId
                              - fingerprintAlgo
                              - fingerprint
                              - bodyFingerprint
                              - name
                              - description
                              properties:
                                versionId:
                                  format: uuid
                                  type: string
                                fingerprintAlgo:
                                  type: string
                                fingerprint:
                                  type: string
                                bodyFingerprint:
                                  anyOf:
                                  - type: string
                                  - type: 'null'
                                name:
                                  anyOf:
                                  - type: string
                                  - type: 'null'
                                description:
                                  anyOf:
                                  - type: string
                                  - type: 'null'
                            - type: 'null'
                          canonical:
                            anyOf:
                            - type: object
                              required:
                              - lineageId
                              - electedAt
                              - electionReason
                              properties:
                                lineageId:
                                  format: uuid
                                  type: string
                                electedAt:
                                  format: date-time
                                  type: string
                                electionReason:
                                  type: string
                            - type: 'null'
                          liveness:
                            type: object
                            required:
                            - liveOccurrenceCount
                            - firstSeenAt
                            - lastSeenAt
                            - gone
                            properties:
                              liveOccurrenceCount:
                                type: integer
                              firstSeenAt:
                                anyOf:
                                - format: date-time
                                  type: string
                                - type: 'null'
                              lastSeenAt:
                                anyOf:
                                - format: date-time
                                  type: string
                                - type: 'null'
                              gone:
                                type: boolean
                          createdAt:
                            format: date-time
                            type: string
                          updatedAt:
                            format: date-time
                            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