Project Schema

This document describes the Project object schema returned by the globalMOO API.

Structure

{
  "id": 456,                                     // Unique identifier
  "createdAt": "2025-01-31T10:00:00.000Z",      // Creation timestamp
  "updatedAt": "2025-01-31T10:00:00.000Z",      // Last update timestamp
  "disabledAt": null,                           // Optional disable timestamp
  "developedAt": "2025-01-31T15:00:00.000Z",    // Timestamp when project was developed
  "name": "Q1 Planning",                         // Project name
  "inputCount": 3,                              // Number of input variables
  "minimums": [0, 0, 0],                        // Minimum values for each input
  "maximums": [1, 1, 1],                        // Maximum values for each input
  "inputTypes": ["float", "float", "float"],    // Type of each input variable
  "categories": [                               // Categories for categorical inputs
    ["red", "green", "blue"],
    [],
    []
  ],
  "inputCases": [                               // Input test cases
    [0.1, 0.2, 0.7],
    [0.3, 0.3, 0.4],
    [0.5, 0.1, 0.4]
  ],
  "caseCount": 3,                               // Number of test cases
  "trials": [                                   // Associated trials
    {
      "id": 789,
      // ... other trial properties
    }
  ]
}

Fields

Field
Type
Description

id

integer

Unique identifier for the project

createdAt

string (ISO 8601)

Timestamp when the project was created

updatedAt

string (ISO 8601)

Timestamp when the project was last updated

disabledAt

string (ISO 8601) or null

Timestamp when the project was disabled, null if active

developedAt

string (ISO 8601) or null

Timestamp when the project was developed, null if not developed

name

string

Name of the project (minimum 4 characters)

inputCount

integer

Number of input variables in the optimization model

minimums

array of numbers

Minimum allowed values for each input variable

maximums

array of numbers

Maximum allowed values for each input variable

inputTypes

array of strings

Type of each input variable (boolean, category, float, integer)

categories

array of arrays

For categorical inputs, the possible values for each input

inputCases

array of arrays

Test cases with specific input values

caseCount

integer

Number of test cases

trials

array of Trial objects

List of trials associated with this project

Input Types

Type
Description

boolean

Boolean input (0 or 1)

category

Categorical input (from a predefined set of options)

float

Floating point number input

integer

Integer number input

SDK Representations

JavaScript SDK

In the JavaScript SDK, the Project object uses snake_case naming for fields, translating from the API's camelCase:

Python SDK

The Python SDK also uses snake_case naming and converts timestamps to datetime objects:

PHP SDK

The PHP SDK maintains camelCase naming to match the API and converts timestamps to DateTimeImmutable objects:

Examples

Simple Project

Project with Categorical Inputs

Last updated