Skip to content

Augmented Operations Management API (1.0.0)

Overview

This API provides backend services for the Augmented Decision Making application, focusing on the efficient scheduling and assignment of tasks Operations to a given Resources.

The system models the following key entities:

  • Locations: Representing physical areas
  • Resources: Specific assignable assets within a location.
  • Tasks: Represent individual events, jobs. Tasks include detailed time information (planned, expected, actual) and model uncertainty using statistical parameters (sigma, skew factor, distribution mean/earliest/latest). Tasks also support versioning to track updates.
  • Operations: Represent a complete operation, linking an inbound task to an outbound task. Operations contain relevant metadata.
  • Assignments: Link an Operation to a specific Resource for a given time period.
  • Tags: Can be used to restrict possible assignments as well as indicate preferences or penalties.
  • Rules: Can be used to specify preferences or penalties in conjunction with the tagging mechanism.

Core Functionality

The API enables users and automated systems to:

  1. Manage Data: Perform CRUD operations on Locations, Resources, Tasks, Operations, and Assignments.
  2. Track Operations Times: Handle various time representations and update task details, including imposing delays. Task updates create new versions, preserving history.
  3. Assignments: Assign or reassign operation to resources.
  4. Detect Conflicts: Identify situations where an assigned conflicting (overlapping) with another based on their expected time windows.
  5. Resolve Conflicts: Offer mechanisms to resolve individual scheduling conflicts through AI.
  6. Optimize Globally: Offer global optimization of the schedule using various solvers to minimize conflicts and reassignments while optimizing for rules.
  7. AI Assistance: Interact with an AI agent (via the /agent/ endpoint) using natural language to query the schedule, identify conflicts, request moves, or trigger conflict resolution processes. The agent utilizes specialized tools to interact with the system's state.
  8. Real-time Updates: Delivers real-time notifications about changes to Assignments and Operations via WebSockets to subscribed clients.
  9. Virtual State Management: Allows temporary modifications to the schedule (virtual assignments) for "what-if" scenarios or agent-driven planning before potentially persisting changes.
Download OpenAPI description
Languages
Servers
Acceptance Environment
https://api.acc.adm.wearetransformers.nl

User management (authentication, current user details).

Operations

Managing locations and viewing their associated resources.

Operations

Managing resources (CRUD, listing).

Operations

Managing operations. Includes CRUD and listing with time/version filters.

Operations

Updating details (time, uncertainty) of individual tasks within operations.

Operations

Managing the assignment of operations to resources (CRUD, bulk operations, deactivation, listing per operation).

Operations

Resolving specific scheduling conflicts using heuristic search methods (streaming and non-streaming).

Operations

Globally optimizing the schedule using one of the solvers to minimize conflicts and reassignments while optimizing for rules.

Operations

Managing the plannings and organizations you have access to.

Operations

Interacting with the conversational AI assistant for planning and queries.

Operations

Utility endpoints, such as generating schedule visualizations.

Operations

API authentication token management (e.g., obtaining auth tokens).

Our mechanism for indicating constraints, penalties or preferences.

Operations

Can be used together with Tags to specify preferences or penalties.

Operations
Operations
Operations
Operations
Operations
Operations

List planning changesets (timeline)

Request

Returns compact changeset summaries for this planning (timestamp, status, source, and counts). Use the changeset detail endpoint for full per-entity diffs.

Security
tokenAuth
Path
idstring(uuid)required
Query
from_timestampinteger

Only include changesets created at or after this Unix timestamp (seconds UTC)

limitinteger

Maximum number of changesets to return (default 100, max 200)

offsetinteger

Pagination offset

scopestring

Scope of changesets: workspace, mainline, or both

to_timestampinteger

Only include changesets created at or before this Unix timestamp (seconds UTC)

curl -i -X GET \
  'https://api.acc.adm.wearetransformers.nl/v1/plannings/{id}/changesets/?from_timestamp=0&limit=0&offset=0&scope=string&to_timestamp=0' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
planningIdstring(uuid)required
workspaceWorkspaceSummary (object) or nullrequired
One of:
workspace.​idstring(uuid)required
workspace.​namestring or null
workspace.​statusstringrequired
totalintegerrequired
changesetsArray of objects(WorkspaceChangesetSummary)required
changesets[].​idstring(uuid)required
changesets[].​changeIdstring(uuid)required
changesets[].​revertsChangeIdstring or null(uuid)required
changesets[].​statusstringrequired
changesets[].​sourcestringrequired
changesets[].​createdAtstring(date-time)required
changesets[].​undoneAtstring or null(date-time)required
changesets[].​isMainlinebooleanrequired
changesets[].​countsobject(WorkspaceCounts)required
changesets[].​counts.​assignmentsintegerrequired
changesets[].​counts.​operationsintegerrequired
changesets[].​counts.​tasksintegerrequired
changesets[].​counts.​locationsintegerrequired
changesets[].​counts.​resourcesintegerrequired
changesets[].​counts.​rulesintegerrequired
changesets[].​counts.​tagsintegerrequired
Response
application/json
{ "planningId": "e9ff0b8e-cf21-4b25-a8e2-fc8bca9c6425", "workspace": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "status": "string" }, "total": 0, "changesets": [ {} ] }

Request

Returns one changeset with full per-entity diffs for AuditLog expansion.

Security
tokenAuth
Path
change_idstring(uuid)required
idstring(uuid)required
curl -i -X GET \
  'https://api.acc.adm.wearetransformers.nl/v1/plannings/{id}/changesets/{change_id}/' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
idstring(uuid)required
changeIdstring(uuid)required
revertsChangeIdstring or null(uuid)required
statusstringrequired
sourcestringrequired
createdAtstring(date-time)required
undoneAtstring or null(date-time)required
isMainlinebooleanrequired
countsobject(WorkspaceCounts)required
counts.​assignmentsintegerrequired
counts.​operationsintegerrequired
counts.​tasksintegerrequired
counts.​locationsintegerrequired
counts.​resourcesintegerrequired
counts.​rulesintegerrequired
counts.​tagsintegerrequired
diffsobject(WorkspaceChangesetDiffs)required
diffs.​assignmentsArray of objects(WorkspaceChangesetAssignment)required
diffs.​assignments[].​operationIdstring(uuid)required
diffs.​assignments[].​changeTypestringrequired
diffs.​assignments[].​beforeAssignment (object) or nullrequired
One of:
diffs.​assignments[].​before.​idstring(uuid)
diffs.​assignments[].​before.​operationstring(uuid)required
diffs.​assignments[].​before.​planningstring(uuid)required
diffs.​assignments[].​before.​partsArray of objects(AssignmentPart)required
diffs.​assignments[].​before.​parts[].​idstring(uuid)read-onlyrequired
diffs.​assignments[].​before.​parts[].​startAtstring or null(date-time)
diffs.​assignments[].​before.​parts[].​endAtstring or null(date-time)
diffs.​assignments[].​before.​parts[].​resourcestring or null(uuid)
diffs.​assignments[].​before.​parts[].​isFixedboolean
diffs.​assignments[].​before.​parts[].​metadataMaritimeBerthAssignmentMetadataSchema (object)
One of:

Input schema for maritime berth assignment metadata.

diffs.​assignments[].​before.​assignedAtstring or null(date-time)read-onlyrequired
diffs.​assignments[].​before.​validTostring or null(date-time)read-onlyrequired
diffs.​assignments[].​before.​assignedBystring or nullread-onlyrequired
diffs.​assignments[].​before.​workspacestring or null(uuid)read-onlyrequired
diffs.​assignments[].​before.​tombstonebooleanread-onlyrequired
diffs.​assignments[].​afterAssignment (object) or nullrequired
One of:
diffs.​assignments[].​after.​idstring(uuid)
diffs.​assignments[].​after.​operationstring(uuid)required
diffs.​assignments[].​after.​planningstring(uuid)required
diffs.​assignments[].​after.​partsArray of objects(AssignmentPart)required
diffs.​assignments[].​after.​parts[].​idstring(uuid)read-onlyrequired
diffs.​assignments[].​after.​parts[].​startAtstring or null(date-time)
diffs.​assignments[].​after.​parts[].​endAtstring or null(date-time)
diffs.​assignments[].​after.​parts[].​resourcestring or null(uuid)
diffs.​assignments[].​after.​parts[].​isFixedboolean
diffs.​assignments[].​after.​parts[].​metadataMaritimeBerthAssignmentMetadataSchema (object)
One of:

Input schema for maritime berth assignment metadata.

diffs.​assignments[].​after.​assignedAtstring or null(date-time)read-onlyrequired
diffs.​assignments[].​after.​validTostring or null(date-time)read-onlyrequired
diffs.​assignments[].​after.​assignedBystring or nullread-onlyrequired
diffs.​assignments[].​after.​workspacestring or null(uuid)read-onlyrequired
diffs.​assignments[].​after.​tombstonebooleanread-onlyrequired
diffs.​operationsArray of objects(StateDiffEntry)required
diffs.​operations[].​entityIdstringrequired
diffs.​operations[].​entityTypestringrequired
diffs.​operations[].​labelstringrequired
diffs.​operations[].​stateIdstring(uuid)required
diffs.​operations[].​changeIdstring or null(uuid)
diffs.​operations[].​changeTypestringrequired
diffs.​operations[].​beforeany or nullrequired
One of:
any
diffs.​operations[].​afterany or nullrequired
One of:
any
diffs.​operations[].​changesArray of objects(StateDiffChange)required
diffs.​operations[].​changes[].​fieldstringrequired
diffs.​operations[].​changes[].​beforeany or nullrequired
One of:
any
diffs.​operations[].​changes[].​afterany or nullrequired
One of:
any
diffs.​operations[].​sourceSourceEnum (string) or NullEnum (null)
One of:
  • mainline - mainline
  • workspace - workspace
string(SourceEnum)
Enum"mainline""workspace"
diffs.​operations[].​validFromstring or null(date-time)
diffs.​operations[].​validTostring or null(date-time)
diffs.​operations[].​closedByChangeIdstring or null(uuid)
diffs.​operations[].​createdByUser (object) or null
One of:
diffs.​tasksArray of objects(StateDiffEntry)required
diffs.​tasks[].​entityIdstringrequired
diffs.​tasks[].​entityTypestringrequired
diffs.​tasks[].​labelstringrequired
diffs.​tasks[].​stateIdstring(uuid)required
diffs.​tasks[].​changeIdstring or null(uuid)
diffs.​tasks[].​changeTypestringrequired
diffs.​tasks[].​beforeany or nullrequired
One of:
any
diffs.​tasks[].​afterany or nullrequired
One of:
any
diffs.​tasks[].​changesArray of objects(StateDiffChange)required
diffs.​tasks[].​changes[].​fieldstringrequired
diffs.​tasks[].​changes[].​beforeany or nullrequired
One of:
any
diffs.​tasks[].​changes[].​afterany or nullrequired
One of:
any
diffs.​tasks[].​sourceSourceEnum (string) or NullEnum (null)
One of:
  • mainline - mainline
  • workspace - workspace
string(SourceEnum)
Enum"mainline""workspace"
diffs.​tasks[].​validFromstring or null(date-time)
diffs.​tasks[].​validTostring or null(date-time)
diffs.​tasks[].​closedByChangeIdstring or null(uuid)
diffs.​tasks[].​createdByUser (object) or null
One of:
diffs.​locationsArray of objects(StateDiffEntry)required
diffs.​locations[].​entityIdstringrequired
diffs.​locations[].​entityTypestringrequired
diffs.​locations[].​labelstringrequired
diffs.​locations[].​stateIdstring(uuid)required
diffs.​locations[].​changeIdstring or null(uuid)
diffs.​locations[].​changeTypestringrequired
diffs.​locations[].​beforeany or nullrequired
One of:
any
diffs.​locations[].​afterany or nullrequired
One of:
any
diffs.​locations[].​changesArray of objects(StateDiffChange)required
diffs.​locations[].​changes[].​fieldstringrequired
diffs.​locations[].​changes[].​beforeany or nullrequired
One of:
any
diffs.​locations[].​changes[].​afterany or nullrequired
One of:
any
diffs.​locations[].​sourceSourceEnum (string) or NullEnum (null)
One of:
  • mainline - mainline
  • workspace - workspace
string(SourceEnum)
Enum"mainline""workspace"
diffs.​locations[].​validFromstring or null(date-time)
diffs.​locations[].​validTostring or null(date-time)
diffs.​locations[].​closedByChangeIdstring or null(uuid)
diffs.​locations[].​createdByUser (object) or null
One of:
diffs.​resourcesArray of objects(StateDiffEntry)required
diffs.​resources[].​entityIdstringrequired
diffs.​resources[].​entityTypestringrequired
diffs.​resources[].​labelstringrequired
diffs.​resources[].​stateIdstring(uuid)required
diffs.​resources[].​changeIdstring or null(uuid)
diffs.​resources[].​changeTypestringrequired
diffs.​resources[].​beforeany or nullrequired
One of:
any
diffs.​resources[].​afterany or nullrequired
One of:
any
diffs.​resources[].​changesArray of objects(StateDiffChange)required
diffs.​resources[].​changes[].​fieldstringrequired
diffs.​resources[].​changes[].​beforeany or nullrequired
One of:
any
diffs.​resources[].​changes[].​afterany or nullrequired
One of:
any
diffs.​resources[].​sourceSourceEnum (string) or NullEnum (null)
One of:
  • mainline - mainline
  • workspace - workspace
string(SourceEnum)
Enum"mainline""workspace"
diffs.​resources[].​validFromstring or null(date-time)
diffs.​resources[].​validTostring or null(date-time)
diffs.​resources[].​closedByChangeIdstring or null(uuid)
diffs.​resources[].​createdByUser (object) or null
One of:
diffs.​rulesArray of objects(StateDiffEntry)required
diffs.​rules[].​entityIdstringrequired
diffs.​rules[].​entityTypestringrequired
diffs.​rules[].​labelstringrequired
diffs.​rules[].​stateIdstring(uuid)required
diffs.​rules[].​changeIdstring or null(uuid)
diffs.​rules[].​changeTypestringrequired
diffs.​rules[].​beforeany or nullrequired
One of:
any
diffs.​rules[].​afterany or nullrequired
One of:
any
diffs.​rules[].​changesArray of objects(StateDiffChange)required
diffs.​rules[].​changes[].​fieldstringrequired
diffs.​rules[].​changes[].​beforeany or nullrequired
One of:
any
diffs.​rules[].​changes[].​afterany or nullrequired
One of:
any
diffs.​rules[].​sourceSourceEnum (string) or NullEnum (null)
One of:
  • mainline - mainline
  • workspace - workspace
string(SourceEnum)
Enum"mainline""workspace"
diffs.​rules[].​validFromstring or null(date-time)
diffs.​rules[].​validTostring or null(date-time)
diffs.​rules[].​closedByChangeIdstring or null(uuid)
diffs.​rules[].​createdByUser (object) or null
One of:
diffs.​tagsArray of objects(StateDiffEntry)required
diffs.​tags[].​entityIdstringrequired
diffs.​tags[].​entityTypestringrequired
diffs.​tags[].​labelstringrequired
diffs.​tags[].​stateIdstring(uuid)required
diffs.​tags[].​changeIdstring or null(uuid)
diffs.​tags[].​changeTypestringrequired
diffs.​tags[].​beforeany or nullrequired
One of:
any
diffs.​tags[].​afterany or nullrequired
One of:
any
diffs.​tags[].​changesArray of objects(StateDiffChange)required
diffs.​tags[].​changes[].​fieldstringrequired
diffs.​tags[].​changes[].​beforeany or nullrequired
One of:
any
diffs.​tags[].​changes[].​afterany or nullrequired
One of:
any
diffs.​tags[].​sourceSourceEnum (string) or NullEnum (null)
One of:
  • mainline - mainline
  • workspace - workspace
string(SourceEnum)
Enum"mainline""workspace"
diffs.​tags[].​validFromstring or null(date-time)
diffs.​tags[].​validTostring or null(date-time)
diffs.​tags[].​closedByChangeIdstring or null(uuid)
diffs.​tags[].​createdByUser (object) or null
One of:
Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "changeId": "a117c1ac-cc98-4e3a-bcad-8e2be82a199b", "revertsChangeId": "9c8770c8-8175-4d93-977b-b528338ceca8", "status": "string", "source": "string", "createdAt": "2019-08-24T14:15:22Z", "undoneAt": "2019-08-24T14:15:22Z", "isMainline": true, "counts": { "assignments": 0, "operations": 0, "tasks": 0, "locations": 0, "resources": 0, "rules": 0, "tags": 0 }, "diffs": { "assignments": [], "operations": [], "tasks": [], "locations": [], "resources": [], "rules": [], "tags": [] } }

Request

Get metrics for the planning at a specific point in time. Use change_id to get metrics at a specific changeset (historical state). Use mainline=true to explicitly get mainline metrics (ignores workspace header). Omit both for current metrics (workspace if header provided, mainline otherwise).

Security
tokenAuth
Path
idstring(uuid)required
Query
change_idstring

Changeset UUID to get metrics at that point in time (omit for current state)

end_timestampintegerrequired

End of time window (Unix timestamp)

mainlineboolean

If true, return mainline metrics (ignores workspace header)

start_timestampintegerrequired

Start of time window (Unix timestamp)

curl -i -X GET \
  'https://api.acc.adm.wearetransformers.nl/v1/plannings/{id}/metrics/?change_id=string&end_timestamp=0&mainline=true&start_timestamp=0' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Planning metrics

Bodyapplication/json
metricsobject(PlanningMetricsData)required

Metrics computed from a planning snapshot.

metrics.​conflictCountintegerrequired

Number of resource conflicts

metrics.​overlapMinutesintegerrequired

Total overlap time in minutes

metrics.​assignmentCountintegerrequired

Number of assignments

metrics.​operationCountintegerrequired

Number of operations

metrics.​resourceCountintegerrequired

Number of resources

changeIdstring or null

Changeset UUID if metrics were retrieved at a specific changeset

asOfstring or null(date-time)

Timestamp when the changeset was created (ISO format)

Response
application/json
{ "metrics": { "conflictCount": 0, "overlapMinutes": 0, "assignmentCount": 0, "operationCount": 0, "resourceCount": 0 }, "changeId": "string", "asOf": "2019-08-24T14:15:22Z" }
Operations