Reference
Teamcenter fault and error code reference
Every code below was seen in practice on a live Teamcenter, with the diagnosis
that turned out to be correct. Teamcenter returns HTTP 200 even on faults;
detect them by .QName matching /Exception/, and always also read
ServiceData.partialErrors.
SOA request and routing
| Code | Message pattern | What it actually means | Fix |
|---|---|---|---|
214022 |
"JSON parsing" / invalid syntax | The operation is live and reachable; your struct is missing members | Send every member the XSD marks required. NULLTAG ({"uid":"AAAAAAAAAAAAAA","type":"unknownType"}) every inapplicable ModelObject. Never omit the key, never send null |
214085 |
service not registered | You are calling the wrong service entirely | Keep hunting for the real owner. Do NOT read this as "the feature is not activated on this server" |
214086 |
wrong route / invalid syntax | Bad service, version or domain combination | Look the operation up in the index. Do NOT read this as "this server is version-pruned" |
214200 |
Unable to create Business Object | Usually paired with 38041; see below |
Session/account, not type |
230305 |
'The preference "SiteTimeZone" is required to be set for the Schedule Manager application' | Arrives inside ServiceData.partialErrors on a hollow 200 from createSchedule |
Admin sets SiteTimeZone at SITE scope; users must re-log in for the tcserver to pick it up |
Data model and properties
| Code | Message pattern | Meaning | Fix |
|---|---|---|---|
38015 |
"Unable to find a property with name <Type>CreI/<prop>" |
The property is not on that create-input descriptor | It often lives on the item rather than the revision. att0Uom is on Att0AttributeDef, not Att0AttributeDefRevision |
9037 |
dataset type error | That named-reference type is broken on this BMIDE | Use another. JPEG is broken on at least one site; Image works |
89020 |
relation rejected | The containment you want is a BOM structure operation, not a GRM relation | Wbs0Root to Wbs0Element needs the BOM/BVR add-children path, not Wbs0ApplRelatedStruct |
| (no code) | "Allocate relation is not supported between these two objects" | The GRM table genuinely does not declare that pair, or you reversed primary and secondary | Check direction first; direction is strictly enforced |
Project, program and security
| Code | Message pattern | Meaning | Fix |
|---|---|---|---|
38041 |
"An invalid object instance tag is being used in conjunction with property current_project" |
The session has no valid current_project bound. An account defect, NOT a type or permission problem |
getTCSessionInfo: project and workContext will be AAAAAAAAAAAAAA. The account needs project membership, or the session needs setUserSessionState |
101019 |
'The object of type "Item" can only be created in context of Program' | Site policy requires a program context | Same fix as 38041 |
101020 |
"The current Project/Program is not set for the user session" | Same root cause | Same fix |
A related, non-coded symptom: an object's contents comes back empty over SOA
while the rich client shows it populated. On a project with
use_program_security = True, a service account that can read the project but is
not a member sees nothing. Membership is a security change, not an API problem.
Delete
| Code | Message pattern | Meaning | Fix |
|---|---|---|---|
515110 |
"The instance is referenced." | The object is the SECONDARY side of a relation; the ImanRelation row still exists |
Just retry deleteObjects on the leftovers. Each pass frees more as other endpoints cascade. A real cleanup went 41 to 11 to 5 to 0 in three passes |
51007 |
delete refused | The object is inside a structure | Remove the occurrence first (AWC right-click Remove, or removeObject), then delete the freed item |
Login and session
| Symptom | Meaning | Action |
|---|---|---|
Bootstrap GET / issues no XSRF-TOKEN cookie |
Wrong host/port, or not the web tier | Fix the URL. host is the origin only, never include /tc |
InternalServerException code 1003 "Failed to get a server assignment" |
The instance's server-manager pool is unavailable | Retry with backoff a few times, then report as an instance-side infrastructure gap and stop |
InternalServerException code 1001 "None of the Server Managers are on-line" |
Same | Same |
| First call takes 15 to 25 seconds | Cold tcserver assignment | Normal. Use a 45 second timeout |
Success that is not success
Three ways a Teamcenter call returns 200 and does nothing:
- The operation is deprecated. It still accepts well-formed requests and
returns an empty result forever.
Cad-2007-01-StructureManagement/createBOMWindows(dead since TC 12.2) andBom-2008-06-StructureManagement/addOrUpdateChildrenToParentLine(dead as of TC 2506) are the two that have cost real time here. Checkpython scripts/soa_lookup.py <op>. - A magic field value is wrong.
createDatasetsreturns success with no dataset whenevertoolUsedis anything but"". - The reason is in
ServiceData.partialErrorsand the client never read it. See230305above.
A fourth, adjacent case: an undocumented AW-internal REST write can report
success and not be visible to a read. saveClassificationObjects2 writes are
invisible to findClassificationInfo3 because the read is backed by a search index
that only smlutility -create_indexing_views refreshes.
Two retracted conclusions, kept as warnings
Both were drawn from fault codes and both were wrong:
214085onRequirementsmanagement/createOrUpdatewas read as "the RM service is not activated, escalate to an admin." It meant the AWC never uses that operation. The real one isCore-2016-09-DataManagement/createAttachAndSubmitObjects.- Repeated
214086s were read as "this server only exposes the 2006-03 SOA generation." False. The live UI usesCore-2016-09,Core-2015-10,Internal-AWS2-2024-12,Internal-ActiveWorkspaceBom-2025-06and more.
A fault code is a hint about where to look next. It is never proof a capability is impossible.
Generated from references/fault-codes.md in the tc-automation-skills library, which is the canonical copy and also serves as the agent skill set for Teamcenter work.