Versions
Version history and comparison
2 endpoints
List version history
List all published versions of a definition.
Parameters
typerequiredstringpathDefinition type
agentcommandworkflowpipelinenamerequiredstringpathDefinition name (lowercase alphanumeric with hyphens)
limitintegerqueryMaximum number of versions to return.
Default:50offsetintegerqueryPagination offset.
Default:0Responses
200List of versions
404Resource not found
Response fields
dataobjectGET
/api/v1/definitions/{type}/{name}/versionscurl -X GET "https://api.uluops.ai/api/v1/definitions/agent/my-project/versions"Response
{
"data": {
"versions": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"version": "...",
"hash": "...",
"promptHash": "...",
"changeSummary": "...",
"changeType": "major",
"createdAt": "2026-01-15T10:30:00Z",
"createdBy": "..."
}
],
"total": 0,
"limit": 0,
"offset": 0
}
}Compare versions
Compare two versions of a definition.
Parameters
typerequiredstringpathDefinition type
agentcommandworkflowpipelinenamerequiredstringpathDefinition name (lowercase alphanumeric with hyphens)
fromrequiredstringquerySource version for comparison
torequiredstringqueryTarget version for comparison
formatstringqueryDiff output format
sectionsfieldsunifiedsectionsfullbooleanqueryInclude unchanged sections/fields in output
Default:falseResponses
200Version comparison
400Invalid request parameters
402Subscription required for content-exposing diff modes (`full=true`,
`format=fields`, or `format=unified`). Switch to the default
`format=sections, full=false` for free-tier access.
404Resource not found
Response fields
fromVersionstringtoVersionstringfromHashstringtoHashstringhasChangesbooleanfromPromptHashstringnullableSHA-256 hash of the rendered prompt at fromVersion. Null if untranslated.
toPromptHashstringnullableSHA-256 hash of the rendered prompt at toVersion. Null if untranslated.
hasPromptChangesbooleanTrue when fromPromptHash and toPromptHash differ. Use to detect behavioral prompt changes independently of structural YAML diffs.
fromLineCountintegertoLineCountintegersectionsAddedstring[]sectionsRemovedstring[]sectionsModifiedstring[]sectionsUnchangedstring[]GET
/api/v1/definitions/{type}/{name}/diffcurl -X GET "https://api.uluops.ai/api/v1/definitions/agent/my-project/diff?from=1.0.0&to=1.0.0"Response
{
"fromVersion": "...",
"toVersion": "...",
"fromHash": "...",
"toHash": "...",
"hasChanges": true,
"fromPromptHash": "...",
"toPromptHash": "...",
"hasPromptChanges": true,
"fromLineCount": 0,
"toLineCount": 0,
"sectionsAdded": [],
"sectionsRemoved": [],
"sectionsModified": [],
"sectionsUnchanged": []
}