Sign S3 Upload

Generate a signature for file uploads

Design files are uploaded directly to storage. This endpoint returns the URL to upload to
(uri) and the form fields the upload must include (form_fields). To upload a file, send a
multipart/form-data POST to uri containing every entry of form_fields, followed by the
file itself in a field named file.

Processing uploaded design files

Design files uploaded with upload_type=pcb are held as pending uploads until you ask
MacroFab to process them:

  1. GET /api/v3/pcb/{pcb_id}/{pcb_version}/ingestion/uploads lists the pending uploads.
  2. POST /api/v3/pcb/{pcb_id}/{pcb_version}/ingestion/workflow with {"files": [...]} starts
    processing the named uploads, and responds with the workflow's id.
  3. GET /api/v3/pcb/{pcb_id}/{pcb_version}/ingestion/workflow/{workflow_id} reports the
    workflow's progress and results.
  4. POST /api/v3/pcb/{pcb_id}/{pcb_version}/ingestion/workflow/{workflow_id}/accept starts
    applying the results to the PCB version. Poll
    GET /api/v3/pcb/{pcb_id}/{pcb_version}/ingestion/workflow/{workflow_id}/import until it is
    complete, then call DELETE on the same URL to finish.

The same steps are available interactively from the PCB's page in the MacroFab platform. To
upload only BOM and placement (XYRS) data, use POST /api/v3/pcb/{pcb_id}/{pcb_version}/import
instead.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Query Params
string
required

The name of the file to be uploaded

string
enum
required

The type of upload:

  • pcb - design files for the PCB version (gerbers, EDA files, archives, and so on)
  • pcb_extra - supplemental files to attach to the PCB version
  • impedance_control_data - impedance control requirements for the PCB version
Allowed:
string
required

The PCB ID

integer
required

The PCB version

Responses

400

A required parameter is missing or invalid

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json