GET
/
projects
/
{projectId}
/
systems
import Scorecard from 'scorecard-ai';

const client = new Scorecard({
  bearerToken: process.env['SCORECARD_API_KEY'], // This is the default and can be omitted
});

async function main() {
  // Automatically fetches more pages as needed.
  for await (const system of client.systems.list('314')) {
    console.log(system.id);
  }
}

main();
{
  "data": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "name": "GPT-4 Chatbot",
      "description": "Production chatbot powered by GPT-4",
      "inputSchema": {
        "type": "object",
        "properties": {
          "messages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "role": {
                  "type": "string",
                  "enum": [
                    "system",
                    "user",
                    "assistant"
                  ]
                },
                "content": {
                  "type": "string"
                }
              },
              "required": [
                "role",
                "content"
              ]
            }
          }
        },
        "required": [
          "messages"
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "response": {
            "type": "string"
          }
        },
        "required": [
          "response"
        ]
      },
      "configSchema": {
        "type": "object",
        "properties": {
          "temperature": {
            "type": "number"
          },
          "maxTokens": {
            "type": "integer"
          },
          "model": {
            "type": "string",
            "enum": [
              "gpt-4",
              "gpt-4-turbo"
            ]
          }
        },
        "required": [
          "model"
        ]
      }
    },
    {
      "id": "8fb15f74-2918-4982-a4fc-9c157f77dca7",
      "name": "RAG System",
      "description": "Retrieval-augmented generation system for company knowledge base",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "contextLength": {
            "type": "integer"
          }
        },
        "required": [
          "query"
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "answer": {
            "type": "string"
          },
          "citations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "documentId": {
                  "type": "string"
                },
                "relevanceScore": {
                  "type": "number"
                }
              }
            }
          }
        },
        "required": [
          "answer"
        ]
      },
      "configSchema": {
        "type": "object",
        "properties": {
          "vectorDbEndpoint": {
            "type": "string"
          },
          "embeddingModel": {
            "type": "string"
          },
          "generationModel": {
            "type": "string"
          },
          "retrievalTopK": {
            "type": "integer"
          }
        },
        "required": [
          "vectorDbEndpoint",
          "generationModel"
        ]
      }
    }
  ],
  "nextCursor": "8fb15f74-2918-4982-a4fc-9c157f77dca8",
  "hasMore": true
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

projectId
string
required

The ID of the system's Project.

Example:

"314"

Query Parameters

limit
integer
default:20

Maximum number of items to return (1-100). Use with cursor for pagination through large sets.

Required range: x > 0
Example:

20

cursor
string

Cursor for pagination. Pass the nextCursor from the previous response to get the next page of results.

Example:

"eyJvZmZzZXQiOjAsInBhZ2VJZCI6ImNvZGUifQ"

Response

200
application/json
Successfully retrieved list of systems.
data
object[]
required

A System Under Test (SUT) defines the interface to a component or service you want to evaluate.

It specifies three contracts through schemas:

  • inputSchema: The structure of data the system accepts.
  • outputSchema: The structure of data the system produces.
  • configSchema: The parameters that modify system behavior.

This abstraction lets you evaluate any system as a black box, focusing on its interface rather than implementation details. It's particularly useful for systems with variable outputs or complex internal state.

Systems are templates - to run evaluations, pair them with a SystemConfig that provides specific parameter values.

nextCursor
string | null
required
hasMore
boolean
required
total
integer
Required range: x >= 0