5.1. APIs

List of APIs used in this system

POST /arduino/compile

Compile list of Arduino Sketch File

Status Codes
GET /arduino/compile/status

Returns Compilation Status

Status Codes
GET /auth/google-callback

Creates user if OAuth token valid

Status Codes
GET /auth/o/{provider}/
Parameters
  • provider (string) –

Status Codes
Response JSON Object
  • access (string) – (read only)

  • refresh (string) – (read only)

  • user (string) – (read only)

POST /auth/o/{provider}/
Parameters
  • provider (string) –

Request JSON Object
  • access (string) – (read only)

  • refresh (string) – (read only)

  • user (string) – (read only)

Status Codes
Response JSON Object
  • access (string) – (read only)

  • refresh (string) – (read only)

  • user (string) – (read only)

POST /auth/token/login/

Use this endpoint to obtain user authentication token.

Request JSON Object
  • password (string) –

  • username (string) –

Status Codes
Response JSON Object
  • password (string) –

  • username (string) –

POST /auth/token/logout/

Use this endpoint to logout user (remove user authentication token).

Status Codes
GET /auth/users/
Status Codes
Response JSON Object
  • [].email (string) –

  • [].id (integer) – (read only)

  • [].username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (read only)

POST /auth/users/
Request JSON Object
  • email (string) –

  • id (integer) – (read only)

  • password (string) – (required)

  • username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (required)

Status Codes
Response JSON Object
  • email (string) –

  • id (integer) – (read only)

  • password (string) – (required)

  • username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (required)

POST /auth/users/activation/
Request JSON Object
  • token (string) – (required)

  • uid (string) – (required)

Status Codes
Response JSON Object
  • token (string) – (required)

  • uid (string) – (required)

GET /auth/users/me/
Status Codes
Response JSON Object
  • [].email (string) –

  • [].id (integer) – (read only)

  • [].username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (read only)

PUT /auth/users/me/
Request JSON Object
  • email (string) –

  • id (integer) – (read only)

  • username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (read only)

Status Codes
Response JSON Object
  • email (string) –

  • id (integer) – (read only)

  • username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (read only)

PATCH /auth/users/me/
Request JSON Object
  • email (string) –

  • id (integer) – (read only)

  • username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (read only)

Status Codes
Response JSON Object
  • email (string) –

  • id (integer) – (read only)

  • username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (read only)

DELETE /auth/users/me/
Status Codes
POST /auth/users/resend_activation/
Request JSON Object
  • email (string) – (required)

Status Codes
Response JSON Object
  • email (string) – (required)

POST /auth/users/reset_password/
Request JSON Object
  • email (string) – (required)

Status Codes
Response JSON Object
  • email (string) – (required)

POST /auth/users/reset_password_confirm/
Request JSON Object
  • new_password (string) – (required)

  • token (string) – (required)

  • uid (string) – (required)

Status Codes
Response JSON Object
  • new_password (string) – (required)

  • token (string) – (required)

  • uid (string) – (required)

POST /auth/users/reset_username/
Request JSON Object
  • email (string) – (required)

Status Codes
Response JSON Object
  • email (string) – (required)

POST /auth/users/reset_username_confirm/
Request JSON Object
  • new_username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (required)

Status Codes
Response JSON Object
  • new_username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (required)

POST /auth/users/set_password/
Request JSON Object
  • current_password (string) – (required)

  • new_password (string) – (required)

Status Codes
Response JSON Object
  • current_password (string) – (required)

  • new_password (string) – (required)

POST /auth/users/set_username/
Request JSON Object
  • new_username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (required)

Status Codes
Response JSON Object
  • new_username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (required)

GET /auth/users/{id}/
Parameters
  • id (integer) – A unique integer value identifying this user.

Status Codes
Response JSON Object
  • email (string) –

  • id (integer) – (read only)

  • username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (read only)

PUT /auth/users/{id}/
Parameters
  • id (integer) – A unique integer value identifying this user.

Request JSON Object
  • email (string) –

  • id (integer) – (read only)

  • username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (read only)

Status Codes
Response JSON Object
  • email (string) –

  • id (integer) – (read only)

  • username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (read only)

PATCH /auth/users/{id}/
Parameters
  • id (integer) – A unique integer value identifying this user.

Request JSON Object
  • email (string) –

  • id (integer) – (read only)

  • username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (read only)

Status Codes
Response JSON Object
  • email (string) –

  • id (integer) – (read only)

  • username (string) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (read only)

DELETE /auth/users/{id}/
Parameters
  • id (integer) – A unique integer value identifying this user.

Status Codes
GET /circuits/

Listing Published Circuits

Status Codes
Response JSON Object
  • [].author (integer) –

  • [].base64_image (string) – (read only)

  • [].circuit_id (string) – (read only)

  • [].data_dump (string) – (required)

  • [].description (string) – (required)

  • [].last_updated (string) – (read only)

  • [].publish_request_time (string) – (read only)

  • [].sub_title (string) –

  • [].title (string) – (required)

GET /circuits/{circuit_id}/

Listing Published Circuits

Parameters
  • circuit_id (string) – A UUID string identifying this circuit.

Status Codes
Response JSON Object
  • author (integer) –

  • base64_image (string) – (read only)

  • circuit_id (string) – (read only)

  • data_dump (string) – (required)

  • description (string) – (required)

  • last_updated (string) – (read only)

  • publish_request_time (string) – (read only)

  • sub_title (string) –

  • title (string) – (required)

GET /components/

Listing All Library Details

Query Parameters
  • name__icontains (string) –

  • keyword__icontains (string) –

  • description__icontains (string) –

  • component_library__library_name__icontains (string) –

  • component_library (string) –

  • symbol_prefix (string) –

Status Codes
Response JSON Object
  • [].alternate_component[].dmg (integer) – (required)

  • [].alternate_component[].full_name (string) – (required)

  • [].alternate_component[].id (integer) – (read only)

  • [].alternate_component[].part (string) – (required)

  • [].alternate_component[].svg_path (string) – (required)

  • [].component_library (string) – (required)

  • [].data_link (string) – (required)

  • [].description (string) – (required)

  • [].full_name (string) – (required)

  • [].id (integer) – (read only)

  • [].keyword (string) – (required)

  • [].name (string) – (required)

  • [].svg_path (string) – (required)

  • [].symbol_prefix (string) – (required)

  • [].thumbnail_path (string) – (required)

GET /components/{id}/

Listing All Library Details

Parameters
  • id (integer) – A unique integer value identifying this library component.

Status Codes
Response JSON Object
  • alternate_component[].dmg (integer) – (required)

  • alternate_component[].full_name (string) – (required)

  • alternate_component[].id (integer) – (read only)

  • alternate_component[].part (string) – (required)

  • alternate_component[].svg_path (string) – (required)

  • component_library (string) – (required)

  • data_link (string) – (required)

  • description (string) – (required)

  • full_name (string) – (required)

  • id (integer) – (read only)

  • keyword (string) – (required)

  • name (string) – (required)

  • svg_path (string) – (required)

  • symbol_prefix (string) – (required)

  • thumbnail_path (string) – (required)

GET /libraries/

Listing All Library Details

Query Parameters
  • library_name (string) –

Status Codes
Response JSON Object
  • [].id (integer) – (read only)

  • [].library_name (string) – (required)

  • [].saved_on (string) – (read only)

GET /libraries/{id}/

Listing All Library Details

Parameters
  • id (integer) – A unique integer value identifying this library.

Status Codes
Response JSON Object
  • id (integer) – (read only)

  • library_name (string) – (required)

  • saved_on (string) – (read only)

GET /publish/circuit/

CRUD for viewing unpublished / published circuits ( Permission Groups )

Status Codes
Response JSON Object
  • [].author (integer) –

  • [].base64_image (string) – (read only)

  • [].circuit_id (string) – (read only)

  • [].data_dump (string) – (required)

  • [].description (string) – (required)

  • [].last_updated (string) – (read only)

  • [].publish_request_time (string) – (read only)

  • [].sub_title (string) –

  • [].title (string) – (required)

POST /publish/circuit/

CRUD for viewing unpublished / published circuits ( Permission Groups )

Request JSON Object
  • author (integer) –

  • base64_image (string) – (read only)

  • circuit_id (string) – (read only)

  • data_dump (string) – (required)

  • description (string) – (required)

  • last_updated (string) – (read only)

  • publish_request_time (string) – (read only)

  • sub_title (string) –

  • title (string) – (required)

Status Codes
Response JSON Object
  • author (integer) –

  • base64_image (string) – (read only)

  • circuit_id (string) – (read only)

  • data_dump (string) – (required)

  • description (string) – (required)

  • last_updated (string) – (read only)

  • publish_request_time (string) – (read only)

  • sub_title (string) –

  • title (string) – (required)

GET /publish/circuit/{circuit_id}/

CRUD for viewing unpublished / published circuits ( Permission Groups )

Parameters
  • circuit_id (string) – A UUID string identifying this circuit.

Status Codes
Response JSON Object
  • author (integer) –

  • base64_image (string) – (read only)

  • circuit_id (string) – (read only)

  • data_dump (string) – (required)

  • description (string) – (required)

  • last_updated (string) – (read only)

  • publish_request_time (string) – (read only)

  • sub_title (string) –

  • title (string) – (required)

PUT /publish/circuit/{circuit_id}/

CRUD for viewing unpublished / published circuits ( Permission Groups )

Parameters
  • circuit_id (string) – A UUID string identifying this circuit.

Request JSON Object
  • author (integer) –

  • base64_image (string) – (read only)

  • circuit_id (string) – (read only)

  • data_dump (string) – (required)

  • description (string) – (required)

  • last_updated (string) – (read only)

  • publish_request_time (string) – (read only)

  • sub_title (string) –

  • title (string) – (required)

Status Codes
Response JSON Object
  • author (integer) –

  • base64_image (string) – (read only)

  • circuit_id (string) – (read only)

  • data_dump (string) – (required)

  • description (string) – (required)

  • last_updated (string) – (read only)

  • publish_request_time (string) – (read only)

  • sub_title (string) –

  • title (string) – (required)

PATCH /publish/circuit/{circuit_id}/

CRUD for viewing unpublished / published circuits ( Permission Groups )

Parameters
  • circuit_id (string) – A UUID string identifying this circuit.

Request JSON Object
  • author (integer) –

  • base64_image (string) – (read only)

  • circuit_id (string) – (read only)

  • data_dump (string) – (required)

  • description (string) – (required)

  • last_updated (string) – (read only)

  • publish_request_time (string) – (read only)

  • sub_title (string) –

  • title (string) – (required)

Status Codes
Response JSON Object
  • author (integer) –

  • base64_image (string) – (read only)

  • circuit_id (string) – (read only)

  • data_dump (string) – (required)

  • description (string) – (required)

  • last_updated (string) – (read only)

  • publish_request_time (string) – (read only)

  • sub_title (string) –

  • title (string) – (required)

DELETE /publish/circuit/{circuit_id}/

CRUD for viewing unpublished / published circuits ( Permission Groups )

Parameters
  • circuit_id (string) – A UUID string identifying this circuit.

Status Codes
GET /publish/publishing/

Publishing CRUD Operations

Status Codes
Response JSON Object
  • [].circuit.author (integer) –

  • [].circuit.base64_image (string) – (read only)

  • [].circuit.circuit_id (string) – (read only)

  • [].circuit.data_dump (string) – (required)

  • [].circuit.description (string) – (required)

  • [].circuit.last_updated (string) – (read only)

  • [].circuit.publish_request_time (string) – (read only)

  • [].circuit.sub_title (string) –

  • [].circuit.title (string) – (required)

  • [].published (boolean) –

  • [].reviewed_by (string) –

  • [].tags[].description (string) – (required)

  • [].tags[].id (integer) – (read only)

  • [].tags[].tag (string) – (required)

POST /publish/publishing/

Publishing CRUD Operations

Request JSON Object
  • circuit.author (integer) –

  • circuit.base64_image (string) – (read only)

  • circuit.circuit_id (string) – (read only)

  • circuit.data_dump (string) – (required)

  • circuit.description (string) – (required)

  • circuit.last_updated (string) – (read only)

  • circuit.publish_request_time (string) – (read only)

  • circuit.sub_title (string) –

  • circuit.title (string) – (required)

  • published (boolean) –

  • reviewed_by (string) –

  • tags[].description (string) – (required)

  • tags[].id (integer) – (read only)

  • tags[].tag (string) – (required)

Status Codes
Response JSON Object
  • circuit.author (integer) –

  • circuit.base64_image (string) – (read only)

  • circuit.circuit_id (string) – (read only)

  • circuit.data_dump (string) – (required)

  • circuit.description (string) – (required)

  • circuit.last_updated (string) – (read only)

  • circuit.publish_request_time (string) – (read only)

  • circuit.sub_title (string) –

  • circuit.title (string) – (required)

  • published (boolean) –

  • reviewed_by (string) –

  • tags[].description (string) – (required)

  • tags[].id (integer) – (read only)

  • tags[].tag (string) – (required)

GET /publish/publishing/{id}/

Publishing CRUD Operations

Parameters
  • id (integer) – A unique integer value identifying this publish.

Status Codes
Response JSON Object
  • circuit.author (integer) –

  • circuit.base64_image (string) – (read only)

  • circuit.circuit_id (string) – (read only)

  • circuit.data_dump (string) – (required)

  • circuit.description (string) – (required)

  • circuit.last_updated (string) – (read only)

  • circuit.publish_request_time (string) – (read only)

  • circuit.sub_title (string) –

  • circuit.title (string) – (required)

  • published (boolean) –

  • reviewed_by (string) –

  • tags[].description (string) – (required)

  • tags[].id (integer) – (read only)

  • tags[].tag (string) – (required)

PUT /publish/publishing/{id}/

Publishing CRUD Operations

Parameters
  • id (integer) – A unique integer value identifying this publish.

Request JSON Object
  • circuit.author (integer) –

  • circuit.base64_image (string) – (read only)

  • circuit.circuit_id (string) – (read only)

  • circuit.data_dump (string) – (required)

  • circuit.description (string) – (required)

  • circuit.last_updated (string) – (read only)

  • circuit.publish_request_time (string) – (read only)

  • circuit.sub_title (string) –

  • circuit.title (string) – (required)

  • published (boolean) –

  • reviewed_by (string) –

  • tags[].description (string) – (required)

  • tags[].id (integer) – (read only)

  • tags[].tag (string) – (required)

Status Codes
Response JSON Object
  • circuit.author (integer) –

  • circuit.base64_image (string) – (read only)

  • circuit.circuit_id (string) – (read only)

  • circuit.data_dump (string) – (required)

  • circuit.description (string) – (required)

  • circuit.last_updated (string) – (read only)

  • circuit.publish_request_time (string) – (read only)

  • circuit.sub_title (string) –

  • circuit.title (string) – (required)

  • published (boolean) –

  • reviewed_by (string) –

  • tags[].description (string) – (required)

  • tags[].id (integer) – (read only)

  • tags[].tag (string) – (required)

PATCH /publish/publishing/{id}/

Publishing CRUD Operations

Parameters
  • id (integer) – A unique integer value identifying this publish.

Request JSON Object
  • circuit.author (integer) –

  • circuit.base64_image (string) – (read only)

  • circuit.circuit_id (string) – (read only)

  • circuit.data_dump (string) – (required)

  • circuit.description (string) – (required)

  • circuit.last_updated (string) – (read only)

  • circuit.publish_request_time (string) – (read only)

  • circuit.sub_title (string) –

  • circuit.title (string) – (required)

  • published (boolean) –

  • reviewed_by (string) –

  • tags[].description (string) – (required)

  • tags[].id (integer) – (read only)

  • tags[].tag (string) – (required)

Status Codes
Response JSON Object
  • circuit.author (integer) –

  • circuit.base64_image (string) – (read only)

  • circuit.circuit_id (string) – (read only)

  • circuit.data_dump (string) – (required)

  • circuit.description (string) – (required)

  • circuit.last_updated (string) – (read only)

  • circuit.publish_request_time (string) – (read only)

  • circuit.sub_title (string) –

  • circuit.title (string) – (required)

  • published (boolean) –

  • reviewed_by (string) –

  • tags[].description (string) – (required)

  • tags[].id (integer) – (read only)

  • tags[].tag (string) – (required)

DELETE /publish/publishing/{id}/

Publishing CRUD Operations

Parameters
  • id (integer) – A unique integer value identifying this publish.

Status Codes
POST /save

API to save the state of project to db which can be loaded or shared later

Status Codes
Response JSON Object
  • base64_image (string) – (read only)

  • create_time (string) – (read only)

  • data_dump (string) – (required)

  • description (string) –

  • name (string) –

  • owner (integer) –

  • save_id (string) –

  • save_time (string) – (read only)

  • shared (boolean) –

GET /save/list

Returns Saved data for given username, Only user who saved the state can access it THIS WILL ESCAPE DOUBLE QUOTES

Status Codes
Response JSON Object
  • base64_image (string) – (read only)

  • create_time (string) – (read only)

  • data_dump (string) – (required)

  • description (string) –

  • name (string) –

  • owner (integer) –

  • save_id (string) –

  • save_time (string) – (read only)

  • shared (boolean) –

GET /save/{save_id}

Returns Saved data for given save id , Only user who saved the state can access / update it THIS WILL ESCAPE DOUBLE QUOTES

Parameters
  • save_id (string) –

Status Codes
Response JSON Object
  • base64_image (string) – (read only)

  • create_time (string) – (read only)

  • data_dump (string) – (required)

  • description (string) –

  • name (string) –

  • owner (integer) –

  • save_id (string) –

  • save_time (string) – (read only)

  • shared (boolean) –

POST /save/{save_id}

Returns Saved data for given save id , Only user who saved the state can access / update it THIS WILL ESCAPE DOUBLE QUOTES

Parameters
  • save_id (string) –

Status Codes
Response JSON Object
  • base64_image (string) – (read only)

  • create_time (string) – (read only)

  • data_dump (string) – (required)

  • description (string) –

  • name (string) –

  • owner (integer) –

  • save_id (string) –

  • save_time (string) – (read only)

  • shared (boolean) –

POST /save/{save_id}/sharing/{sharing}

Enables sharing for the given saved state

Parameters
  • save_id (string) –

  • sharing (string) –

Status Codes
Response JSON Object
  • base64_image (string) – (read only)

  • create_time (string) – (read only)

  • data_dump (string) – (required)

  • description (string) –

  • name (string) –

  • owner (integer) –

  • save_id (string) –

  • save_time (string) – (read only)

  • shared (boolean) –

GET /simulation/status/{task_id}

Returns Simulation results for ‘task_id’ provided after uploading the netlist /api/task/<uuid>

Parameters
  • task_id (string) –

Status Codes
POST /simulation/upload

API for NetlistUpload

Requires a multipart/form-data POST Request with netlist file in the ‘file’ parameter

Status Codes
GET /tags/

CRUD for Tags

Status Codes
Response JSON Object
  • [].description (string) – (required)

  • [].id (integer) – (read only)

  • [].tag (string) – (required)

POST /tags/

CRUD for Tags

Request JSON Object
  • description (string) – (required)

  • id (integer) – (read only)

  • tag (string) – (required)

Status Codes
Response JSON Object
  • description (string) – (required)

  • id (integer) – (read only)

  • tag (string) – (required)

GET /tags/{id}/

CRUD for Tags

Parameters
  • id (integer) – A unique integer value identifying this circuit tag.

Status Codes
Response JSON Object
  • description (string) – (required)

  • id (integer) – (read only)

  • tag (string) – (required)

PUT /tags/{id}/

CRUD for Tags

Parameters
  • id (integer) – A unique integer value identifying this circuit tag.

Request JSON Object
  • description (string) – (required)

  • id (integer) – (read only)

  • tag (string) – (required)

Status Codes
Response JSON Object
  • description (string) – (required)

  • id (integer) – (read only)

  • tag (string) – (required)

PATCH /tags/{id}/

CRUD for Tags

Parameters
  • id (integer) – A unique integer value identifying this circuit tag.

Request JSON Object
  • description (string) – (required)

  • id (integer) – (read only)

  • tag (string) – (required)

Status Codes
Response JSON Object
  • description (string) – (required)

  • id (integer) – (read only)

  • tag (string) – (required)

DELETE /tags/{id}/

CRUD for Tags

Parameters
  • id (integer) – A unique integer value identifying this circuit tag.

Status Codes