Reference / Partner API

Get Schematic

Read the latest stored schematic version for an authorized conversation through the Partner API.

GET /api/partner/projects/{project_id}/schematic

Requires the partner access described in Partner API Overview.

Identity and freshness

project_idstringpathrequired

The 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_idstring

Echo of the conversation ID supplied in the path.

formatstring

"trace_sch".

version_numberinteger

Sequence number of the returned stored schematic version.

schematic_contentstring

Raw .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.