tessl.io Tiles API

Tile catalog, versions, and metadata.

Operations 18

GET /v1/tiles
POST /v1/tiles Publish a tile version
POST /v1/tiles/match
GET /v1/tiles/{workspaceName}/{tileName}
PATCH /v1/tiles/{workspaceName}/{tileName}
DELETE /v1/tiles/{workspaceName}/{tileName}
GET /v1/tiles/{workspaceName}/{tileName}/stats
GET /v1/tiles/{workspaceName}/{tileName}/versions
GET /v1/tiles/{workspaceName}/{tileName}/versions/{version}
PATCH /v1/tiles/{workspaceName}/{tileName}/versions/{version}
DELETE /v1/tiles/{workspaceName}/{tileName}/versions/{version}
GET /v1/tiles/{workspaceName}/{tileName}/versions/{version}/files
GET /v1/tiles/{workspaceName}/{tileName}/versions/{version}/files/{filePath}
GET /v1/tiles/{workspaceName}/{tileName}/versions/{version}/eval-suite
GET /v1/tiles/{workspaceName}/{tileName}/versions/{version}/skill-reviews
GET /v1/tiles/{workspaceName}/{tileName}/versions/{version}/skill-security-reviews
POST /experimental/workspaces/{workspaceId}/tile-rollout
GET /experimental/skills/tile-skills

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tesslio-tiles-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tesslio-tiles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Tessl Admin Keys Tiles API
  version: 1.0.0
  description: Admin-scoped API keys for support tooling.
servers:
- url: https://api.tessl.io
tags:
- name: Tiles
  description: Tile catalog, versions, and metadata.
paths:
  /v1/tiles:
    get:
      tags:
      - Tiles
      description: Lists tiles in the catalog. Supports search, filtering by workspace/registry/featured, and ranked sorting.
      parameters:
      - schema:
          default: -updatedAt
          anyOf:
          - type: array
            items:
              anyOf:
              - type: string
                enum:
                - updatedAt
              - type: string
                enum:
                - -updatedAt
              - type: string
                enum:
                - similarity
              - type: string
                enum:
                - -similarity
              - type: string
                enum:
                - id
              - type: string
                enum:
                - -id
              - type: string
                enum:
                - relevance
              - type: string
                enum:
                - -relevance
              - type: string
                enum:
                - evalImprovementMultiplier
              - type: string
                enum:
                - -evalImprovementMultiplier
          - anyOf:
            - type: string
              enum:
              - updatedAt
            - type: string
              enum:
              - -updatedAt
            - type: string
              enum:
              - similarity
            - type: string
              enum:
              - -similarity
            - type: string
              enum:
              - id
            - type: string
              enum:
              - -id
            - type: string
              enum:
              - relevance
            - type: string
              enum:
              - -relevance
            - type: string
              enum:
              - evalImprovementMultiplier
            - type: string
              enum:
              - -evalImprovementMultiplier
        in: query
        name: sort
        required: false
      - schema:
          minimum: 1
          maximum: 20
          default: 20
          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
      - schema:
          type: string
        in: query
        name: filter[fullName]
        required: false
      - schema:
          type: string
        in: query
        name: filter[fullName][eq]
        required: false
      - schema:
          type: string
        in: query
        name: filter[fullName][ne]
        required: false
      - schema:
          type: string
        in: query
        name: filter[fullName][gt]
        required: false
      - schema:
          type: string
        in: query
        name: filter[fullName][gte]
        required: false
      - schema:
          type: string
        in: query
        name: filter[fullName][lt]
        required: false
      - schema:
          type: string
        in: query
        name: filter[fullName][lte]
        required: false
      - schema:
          type: string
        in: query
        name: filter[fullName][like]
        required: false
      - schema:
          type: string
        in: query
        name: filter[describes]
        required: false
      - schema:
          type: string
        in: query
        name: filter[describes][eq]
        required: false
      - schema:
          type: string
        in: query
        name: filter[describes][ne]
        required: false
      - schema:
          type: string
        in: query
        name: filter[describes][gt]
        required: false
      - schema:
          type: string
        in: query
        name: filter[describes][gte]
        required: false
      - schema:
          type: string
        in: query
        name: filter[describes][lt]
        required: false
      - schema:
          type: string
        in: query
        name: filter[describes][lte]
        required: false
      - schema:
          type: string
        in: query
        name: filter[describes][like]
        required: false
      - schema:
          type: string
        in: query
        name: filter[search]
        required: false
      - schema:
          type: string
        in: query
        name: filter[search][eq]
        required: false
      - schema:
          type: string
        in: query
        name: filter[search][ne]
        required: false
      - schema:
          type: string
        in: query
        name: filter[search][gt]
        required: false
      - schema:
          type: string
        in: query
        name: filter[search][gte]
        required: false
      - schema:
          type: string
        in: query
        name: filter[search][lt]
        required: false
      - schema:
          type: string
        in: query
        name: filter[search][lte]
        required: false
      - schema:
          type: string
        in: query
        name: filter[search][like]
        required: false
      - schema:
          type: boolean
        in: query
        name: filter[archived]
        required: false
      - schema:
          type: boolean
        in: query
        name: filter[archived][eq]
        required: false
      - schema:
          type: boolean
        in: query
        name: filter[archived][ne]
        required: false
      - schema:
          format: uuid
          type: string
        in: query
        name: filter[workspaceId]
        required: false
      - schema:
          format: uuid
          type: string
        in: query
        name: filter[workspaceId][eq]
        required: false
      - schema:
          format: uuid
          type: string
        in: query
        name: filter[workspaceId][ne]
        required: false
      - schema:
          format: uuid
          type: string
        in: query
        name: filter[workspaceId][gt]
        required: false
      - schema:
          format: uuid
          type: string
        in: query
        name: filter[workspaceId][gte]
        required: false
      - schema:
          format: uuid
          type: string
        in: query
        name: filter[workspaceId][lt]
        required: false
      - schema:
          format: uuid
          type: string
        in: query
        name: filter[workspaceId][lte]
        required: false
      - schema:
          format: uuid
          type: string
        in: query
        name: filter[workspaceId][like]
        required: false
      - schema:
          pattern: ^[a-z]+$
          type: string
        in: query
        name: filter[packageRegistry]
        required: false
      - schema:
          pattern: ^[a-z]+$
          type: string
        in: query
        name: filter[packageRegistry][eq]
        required: false
      - schema:
          pattern: ^[a-z]+$
          type: string
        in: query
        name: filter[packageRegistry][ne]
        required: false
      - schema:
          pattern: ^[a-z]+$
          type: string
        in: query
        name: filter[packageRegistry][gt]
        required: false
      - schema:
          pattern: ^[a-z]+$
          type: string
        in: query
        name: filter[packageRegistry][gte]
        required: false
      - schema:
          pattern: ^[a-z]+$
          type: string
        in: query
        name: filter[packageRegistry][lt]
        required: false
      - schema:
          pattern: ^[a-z]+$
          type: string
        in: query
        name: filter[packageRegistry][lte]
        required: false
      - schema:
          pattern: ^[a-z]+$
          type: string
        in: query
        name: filter[packageRegistry][like]
        required: false
      - schema:
          type: boolean
        in: query
        name: filter[featured]
        required: false
      - schema:
          type: boolean
        in: query
        name: filter[featured][eq]
        required: false
      - schema:
          type: boolean
        in: query
        name: filter[featured][ne]
        required: false
      - schema:
          type: boolean
        in: query
        name: filter[hasSkills]
        required: false
      - schema:
          type: boolean
        in: query
        name: filter[hasSkills][eq]
        required: false
      - schema:
          type: boolean
        in: query
        name: filter[hasSkills][ne]
        required: false
      - schema:
          type: boolean
        in: query
        name: filter[hasSteering]
        required: false
      - schema:
          type: boolean
        in: query
        name: filter[hasSteering][eq]
        required: false
      - schema:
          type: boolean
        in: query
        name: filter[hasSteering][ne]
        required: false
      - schema:
          type: boolean
        in: query
        name: filter[hasDocs]
        required: false
      - schema:
          type: boolean
        in: query
        name: filter[hasDocs][eq]
        required: false
      - schema:
          type: boolean
        in: query
        name: filter[hasDocs][ne]
        required: false
      - schema:
          anyOf:
          - type: string
            enum:
            - versions
          - type: array
            items:
              type: string
              enum:
              - versions
        in: query
        name: include
        required: false
      - schema:
          type: boolean
        in: query
        name: includeModerationFailed
        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
                      - relationships
                      - meta
                      properties:
                        id:
                          format: uuid
                          type: string
                        type:
                          type: string
                          enum:
                          - tile
                        attributes:
                          type: object
                          required:
                          - name
                          - describes
                          - featured
                          - isPrivate
                          - fullName
                          - createdAt
                          - updatedAt
                          properties:
                            name:
                              type: string
                            describes:
                              anyOf:
                              - type: string
                              - type: 'null'
                            featured:
                              type: boolean
                            isPrivate:
                              type: boolean
                            fullName:
                              type: string
                            createdAt:
                              format: date-time
                              type: string
                            updatedAt:
                              format: date-time
                              type: string
                            similarity:
                              anyOf:
                              - type: number
                              - type: 'null'
                            relevance:
                              anyOf:
                              - type: number
                              - type: 'null'
                            evalImprovementMultiplier:
                              anyOf:
                              - type: number
                              - type: 'null'
                            versions:
                              type: array
                              items:
                                type: object
                                required:
                                - describes
                                - version
                                - summary
                                - major
                                - minor
                                - patch
                                - archived
                                - createdAt
                                - tesslVerified
                                - docs
                                - hasDocs
                                - hasSteering
                                - hasSkills
                                - evalScore
                                - evalBaselineScore
                                - evalImprovement
                                - evalImprovementMultiplier
                                - moderationStatus
                                - moderationError
                                properties:
                                  describes:
                                    anyOf:
                                    - type: string
                                    - type: 'null'
                                  version:
                                    format: date-time
                                    type: string
                                  summary:
                                    type: string
                                  major:
                                    type: number
                                  minor:
                                    type: number
                                  patch:
                                    type: number
                                  archived:
                                    type: boolean
                                  createdAt:
                                    type: string
                                  tesslVerified:
                                    type: boolean
                                  docs:
                                    anyOf:
                                    - type: string
                                    - type: 'null'
                                  hasDocs:
                                    type: boolean
                                  hasSteering:
                                    type: boolean
                                  hasSkills:
                                    type: boolean
                                  evalScore:
                                    anyOf:
                                    - type: integer
                                    - type: 'null'
                                  evalBaselineScore:
                                    anyOf:
                                    - type: integer
                                    - type: 'null'
                                  evalImprovement:
                                    anyOf:
                                    - type: integer
                                    - type: 'null'
                                  evalImprovementMultiplier:
                                    anyOf:
                                    - type: number
                                    - type: 'null'
                                  moderationStatus:
                                    description: Aggregate outcome of the moderation pipeline. `pass` means moderation passed; `skipped` means moderation did not run; `pending` means moderation is in progress; `fail` means moderation rejected the version; `error` means moderation could not complete.
                                    anyOf:
                                    - type: string
                                      enum:
                                      - pending
                                    - type: string
                                      enum:
                                      - pass
                                    - type: string
                                      enum:
                                      - fail
                                    - type: string
                                      enum:
                                      - error
                                    - type: string
                                      enum:
                                      - skipped
                                  moderationError:
                                    anyOf:
                                    - description: Reason for non-visible moderation state. Populated for `fail` and `error`. Null for `pass`, `skipped`, and `pending`.
                                      type: string
                                    - type: 'null'
                                  moderationPassed:
                                    deprecated: true
                                    type: boolean
                                  scores:
                                    type: object
                                    required:
                                    - version
                                    - aggregate
                                    - quality
                                    - impact
                                    - security
                                    - evalAvg
                                    - evalBaseline
                                    - evalImprovement
                                    - evalImprovementMultiplier
                                    - evalCount
                                    - validationErrors
                                    - lastScoredAt
                                    properties:
                                      version:
                                        type: string
                                      aggregate:
                                        anyOf:
                                        - type: number
                                        - type: 'null'
                                      quality:
                                        anyOf:
                                        - type: number
                                        - type: 'null'
                                      impact:
                                        anyOf:
                                        - type: number
                                        - type: 'null'
                                      security:
                                        anyOf:
                                        - anyOf:
                                          - type: string
                                            enum:
                                            - LOW
                                          - type: string
                                            enum:
                                            - MEDIUM
                                          - type: string
                                            enum:
                                            - HIGH
                                          - type: string
                                            enum:
                                            - CRITICAL
                                        - type: 'null'
                                      evalAvg:
                                        anyOf:
                                        - type: number
                                        - type: 'null'
                                      evalBaseline:
                                        anyOf:
                                        - type: number
                                        - type: 'null'
                                      evalImprovement:
                                        anyOf:
                                        - type: number
                                        - type: 'null'
                                      evalImprovementMultiplier:
                                        anyOf:
                                        - type: number
                                        - type: 'null'
                                      evalCount:
                                        anyOf:
                                        - type: integer
                                        - type: 'null'
                                      validationErrors:
                                        type: array
                                        items:
                                          type: string
                                      lastScoredAt:
                                        anyOf:
                                        - format: date-time
                                          type: string
                                        - type: 'null'
                        relationships:
                          type: object
                          required:
                          - workspace
                          properties:
                            workspace:
                              type: object
                              required:
                              - data
                              - links
                              properties:
                                data:
                                  type: object
                                  required:
                                  - id
                                  - type
                                  properties:
                                    id:
                                      format: uuid
                                      type: string
                                    type:
                                      type: string
                                      enum:
                                      - workspace
                                links:
                                  type: object
                                  required:
                                  - self
                                  properties:
                                    self:
                                      format: uri
                                      type: string
                        meta:
                          type: object
                          required:
                          - allowedActions
                          properties:
                            allowedActions:
                              type: array
                              items:
                                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
    post:
      summary: Publish a tile version
      tags:
      - Tiles
      description: Publishes a new tile version to the registry. If the tile does not yet exist, it will be created automatically. The request body should be a gzipped tar archive (tar.gz) containing the tile manifest (tile.json) and tile contents, e.g. markdown documentation files, eval scenarios, etc. The tile name and version are extracted from the manifest file.
      parameters:
      - schema:
          type: string
          enum:
          - application/x-tar
        in: header
        name: content-type
        required: true
      - schema:
          type: string
        in: header
        name: github-oidc-token
        required: false
      responses:
        '201':
          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:
                        - tile
                      attributes:
                        type: object
                        required:
                        - featured
                        - isPrivate
                        - workspaceId
                        - name
                        - version
                        - fullName
                        - describes
                        - createdAt
                        - updatedAt
                        properties:
                          featured:
                            type: boolean
                          isPrivate:
                            type: boolean
                          workspaceId:
                            format: uuid
                            type: string
                          name:
                            minLength: 1
                            maxLength: 90
                            type: string
                          version:
                            type: string
                          fullName:
                            type: string
                          describes:
                            anyOf:
                            - type: string
                            - type: 'null'
                          createdAt:
                            format: date-time
                            type: string
                          updatedAt:
                            format: date-time
                            type: string
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                description: Bad Request
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Bad Request
                      status:
                        type: number
                        enum:
                        - 400
                      message:
                        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
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                description: Conflict
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - title
                    - status
                    - message
                    properties:
                      title:
                        type: string
                        enum:
                        - Conflict
                      status:
                        type: number
                        enum:
                        - 409
                      message:
                        type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
         

# --- truncated at 32 KB (190 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tesslio/refs/heads/main/openapi/tesslio-tiles-api-openapi.yml