We are noticing the WSAPI docs have an endpoint called: SchedulableArtifact. It inherits from the Artifact endpoint.
Yet, not all artifacts are part of the SchedulableArtifact endpoint. For example: Task, Test Case - these are not SchedulableArtifact.
Why is that? What does this endpoint mean and why not all artifacts the same?
WSAPI works in an Object Oriented model where objects can inherit from other objects, which then includes their fields. Then the inherited objects can specify additional fields for additional behavior.
As such, the SchedulableArtifact endpoint inheirts from Artifact. Essentially, this means that SchedulableArtifact is an Artifact (and more).
SchedulableArtifact is a specification of artifacts that can be scheduled into timeboxes and have their life cycle revolve around scheduling. Therefore, in the list of fields of this endpoint you shall see fields such as: AcceptedDate, Blocker, FlowState, Release, Iteration etc... - These fields are not on the Artifact object. They are on the SchedulableArtifact.
Not all artifacts in Rally can or need to be scheduled into project-wide timeboxes. For example, Task and TestCase are low-level objects that don't need themselves to be put into the scheduling. They are part of Defects or User Stories which will be scheduled.
Only artifacts that do need to be added the scheduling behavior will inherit from the ScheduableArtifact object. These will include User Story (hierarchicalrequirement endpoint), Defect etc..