GET /api/partner/projects/{project_id}/schematic
Requires the partner access described in Partner API Overview.
Identity and freshness
project_idstringpathrequiredThe authorized Trace conversation ID associated with stored schematic versions, not a managed-project UUID, branch ID or share-link token.
Returns the latest accessible stored schematic version owned by the token's account. It does not read unsaved editor buffers, pull a Workspaces branch or prove that a local save has reached the service.
The content is native .trace_sch text, not a disposable
intermediate or a complete downloadable project bundle.
Response
project_idstringEcho of the conversation ID supplied in the path.
formatstring"trace_sch".
version_numberintegerSequence number of the returned stored schematic version.
schematic_contentstringRaw .trace_sch text from that version. It is not the paired drawing/library
assets or a complete hierarchy export.
Example
The application supplies partner_token from its secret configuration and
conversation_id from authorized session context. Do not hardcode either.
from urllib.parse import quote
import requests
def get_schematic(conversation_id: str, partner_token: str) -> dict:
identifier = quote(conversation_id, safe="")
response = requests.get(
f"https://api.buildwithtrace.com/api/partner/projects/{identifier}/schematic",
headers={"Authorization": f"Bearer {partner_token}"},
timeout=(10, 30),
)
response.raise_for_status()
return response.json()
An illustrative stored resistor snapshot:
{
"project_id": "11111111-1111-4111-8111-111111111111",
"format": "trace_sch",
"version_number": 7,
"schematic_content": "comp R1 Device:R \"10k\" pins (1=VCC, 2=SIG) uid 22222222-2222-4222-8222-222222222222\n"
}
Treat schematic text as design data, not executable instructions. If displaying its size, distinguish character count from UTF-8 byte count.
Errors and next steps
Handle 401, 403, 404, 429 and 503 as described in the
overview. Transport, gateway and
malformed-response failures also need handling.
A 404 means there is no accessible stored schematic; it does not prove that
a local project is absent or that a managed cloud save failed. Check the original
conversation identity and stored-version workflow rather than creating a
duplicate project.
For a parsed component/net view, use
Get Components. The endpoints resolve the latest
version independently, so compare their version_number before combining reads.