{"openapi":"3.1.0","info":{"title":"Sinter API","version":"0.1.0"},"paths":{"/v1/me":{"get":{"tags":["customer"],"summary":"Me","operationId":"me_v1_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/keys":{"get":{"tags":["customer"],"summary":"List Keys","operationId":"list_keys_v1_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["customer"],"summary":"Create Key","operationId":"create_key_v1_keys_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/NewKey"},{"type":"null"}],"title":"Body"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/portal":{"post":{"tags":["customer"],"summary":"Billing Portal","operationId":"billing_portal_v1_billing_portal_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/keys/{key_id}":{"delete":{"tags":["customer"],"summary":"Revoke Key","operationId":"revoke_key_v1_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/device/start":{"post":{"tags":["customer"],"summary":"Device Start","operationId":"device_start_v1_device_start_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DeviceStart"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/device/token":{"post":{"tags":["customer"],"summary":"Device Token","operationId":"device_token_v1_device_token_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceToken"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/device/{user_code}":{"get":{"tags":["customer"],"summary":"Device Lookup","operationId":"device_lookup_v1_device__user_code__get","parameters":[{"name":"user_code","in":"path","required":true,"schema":{"type":"string","title":"User Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/device/{user_code}/approve":{"post":{"tags":["customer"],"summary":"Device Approve","operationId":"device_approve_v1_device__user_code__approve_post","parameters":[{"name":"user_code","in":"path","required":true,"schema":{"type":"string","title":"User Code"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DeviceApproval"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/device/{user_code}/deny":{"post":{"tags":["customer"],"summary":"Device Deny","operationId":"device_deny_v1_device__user_code__deny_post","parameters":[{"name":"user_code","in":"path","required":true,"schema":{"type":"string","title":"User Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/materials":{"get":{"tags":["customer"],"summary":"Materials","operationId":"materials_v1_materials_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/quotes":{"get":{"tags":["customer"],"summary":"List Quotes","operationId":"list_quotes_v1_quotes_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":64},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["customer"],"summary":"Create Quote","operationId":"create_quote_v1_quotes_post","parameters":[{"name":"idempotency-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_quote_v1_quotes_post"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/quotes/{quote_id}":{"get":{"tags":["customer"],"summary":"Get Quote","operationId":"get_quote_v1_quotes__quote_id__get","parameters":[{"name":"quote_id","in":"path","required":true,"schema":{"type":"string","title":"Quote Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/quotes/{quote_id}/claim":{"post":{"tags":["customer"],"summary":"Claim Quote","operationId":"claim_quote_v1_quotes__quote_id__claim_post","parameters":[{"name":"quote_id","in":"path","required":true,"schema":{"type":"string","title":"Quote Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Claim"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/quotes/{quote_id}/requote":{"post":{"tags":["customer"],"summary":"Requote","operationId":"requote_v1_quotes__quote_id__requote_post","parameters":[{"name":"quote_id","in":"path","required":true,"schema":{"type":"string","title":"Quote Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/fabricator__customer_api__Requote"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/quotes/{quote_id}/request":{"post":{"tags":["customer"],"summary":"Send Request","operationId":"send_request_v1_quotes__quote_id__request_post","parameters":[{"name":"quote_id","in":"path","required":true,"schema":{"type":"string","title":"Quote Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/quotes/{quote_id}/cancel":{"post":{"tags":["customer"],"summary":"Cancel Quote","operationId":"cancel_quote_v1_quotes__quote_id__cancel_post","parameters":[{"name":"quote_id","in":"path","required":true,"schema":{"type":"string","title":"Quote Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/quotes/{quote_id}/delivery":{"post":{"tags":["customer"],"summary":"Quote Delivery","operationId":"quote_delivery_v1_quotes__quote_id__delivery_post","parameters":[{"name":"quote_id","in":"path","required":true,"schema":{"type":"string","title":"Quote Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/quotes/{quote_id}/accept":{"post":{"tags":["customer"],"summary":"Accept Quote","operationId":"accept_quote_v1_quotes__quote_id__accept_post","parameters":[{"name":"quote_id","in":"path","required":true,"schema":{"type":"string","title":"Quote Id"}},{"name":"idempotency-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Accept"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/orders":{"get":{"tags":["customer"],"summary":"List Orders","operationId":"list_orders_v1_orders_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":64},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/orders/{order_id}":{"get":{"tags":["customer"],"summary":"Get Order","operationId":"get_order_v1_orders__order_id__get","parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/orders/{order_id}/cancel":{"post":{"tags":["customer"],"summary":"Cancel Order","operationId":"cancel_order_v1_orders__order_id__cancel_post","parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/oauth/requests/{handle}":{"get":{"tags":["customer"],"summary":"Consent Lookup","operationId":"consent_lookup_v1_oauth_requests__handle__get","parameters":[{"name":"handle","in":"path","required":true,"schema":{"type":"string","title":"Handle"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/oauth/requests/{handle}/approve":{"post":{"tags":["customer"],"summary":"Consent Approve","operationId":"consent_approve_v1_oauth_requests__handle__approve_post","parameters":[{"name":"handle","in":"path","required":true,"schema":{"type":"string","title":"Handle"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Decision"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/oauth/requests/{handle}/deny":{"post":{"tags":["customer"],"summary":"Consent Deny","operationId":"consent_deny_v1_oauth_requests__handle__deny_post","parameters":[{"name":"handle","in":"path","required":true,"schema":{"type":"string","title":"Handle"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/oauth/grants":{"get":{"tags":["customer"],"summary":"Grants","operationId":"grants_v1_oauth_grants_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/oauth/grants/{grant_id}":{"delete":{"tags":["customer"],"summary":"Revoke Grant","operationId":"revoke_grant_v1_oauth_grants__grant_id__delete","parameters":[{"name":"grant_id","in":"path","required":true,"schema":{"type":"string","title":"Grant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Accept":{"properties":{"speed":{"type":"string","enum":["asap","week"],"title":"Speed","default":"week"},"delivery":{"anyOf":[{"$ref":"#/components/schemas/DeliveryRequest"},{"type":"null"}]}},"type":"object","title":"Accept"},"Body_create_quote_v1_quotes_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"material":{"type":"string","enum":["PLA+","PLA-CF","PETG","PETG-CF","ASA","ASA-CF","PC","PC-CF","TPU","TPU-CF","Nylon","Nylon-CF","PPA-CF","PPS-CF","Custom"],"title":"Material","default":"PLA+"},"material_note":{"anyOf":[{"type":"string","maxLength":320},{"type":"null"}],"title":"Material Note"},"quantity":{"type":"integer","maximum":100,"minimum":1,"title":"Quantity","default":1},"units":{"type":"string","enum":["mm","cm","in"],"title":"Units","default":"mm"},"color":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Color"},"color_note":{"anyOf":[{"type":"string","maxLength":320},{"type":"null"}],"title":"Color Note"}},"type":"object","required":["file"],"title":"Body_create_quote_v1_quotes_post"},"Claim":{"properties":{"token":{"type":"string","maxLength":200,"minLength":1,"title":"Token"}},"type":"object","required":["token"],"title":"Claim"},"Decision":{"properties":{"scopes":{"anyOf":[{"items":{"type":"string","enum":["quotes","orders","purchase"]},"type":"array","minItems":1},{"type":"null"}],"title":"Scopes"}},"type":"object","title":"Decision"},"DeliveryRequest":{"properties":{"name":{"type":"string","maxLength":80,"minLength":1,"title":"Name"},"phone":{"type":"string","maxLength":30,"minLength":7,"title":"Phone"},"street":{"type":"string","maxLength":120,"minLength":1,"title":"Street"},"unit":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}],"title":"Unit"},"city":{"type":"string","maxLength":80,"minLength":1,"title":"City"},"state":{"type":"string","pattern":"^[A-Za-z]{2}$","title":"State"},"zip":{"type":"string","pattern":"^\\d{5}(-\\d{4})?$","title":"Zip"},"country":{"type":"string","const":"US","title":"Country","default":"US"},"notes":{"anyOf":[{"type":"string","maxLength":280},{"type":"null"}],"title":"Notes"},"accept_carrier":{"type":"boolean","title":"Accept Carrier","default":false}},"type":"object","required":["name","phone","street","city","state","zip"],"title":"DeliveryRequest"},"DeviceApproval":{"properties":{"scopes":{"anyOf":[{"items":{"type":"string","enum":["quotes","orders","purchase"]},"type":"array","minItems":1},{"type":"null"}],"title":"Scopes"}},"type":"object","title":"DeviceApproval"},"DeviceStart":{"properties":{"name":{"type":"string","maxLength":80,"title":"Name","default":"Agent"},"scopes":{"items":{"type":"string","enum":["quotes","orders","purchase"]},"type":"array","minItems":1,"title":"Scopes"}},"type":"object","title":"DeviceStart"},"DeviceToken":{"properties":{"device_code":{"type":"string","maxLength":200,"title":"Device Code"}},"type":"object","required":["device_code"],"title":"DeviceToken"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"NewKey":{"properties":{"name":{"type":"string","maxLength":80,"title":"Name","default":"API key"},"scopes":{"items":{"type":"string","enum":["quotes","orders","purchase"]},"type":"array","minItems":1,"title":"Scopes"}},"type":"object","title":"NewKey"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"fabricator__customer_api__Requote":{"properties":{"material":{"anyOf":[{"type":"string","enum":["PLA+","PLA-CF","PETG","PETG-CF","ASA","ASA-CF","PC","PC-CF","TPU","TPU-CF","Nylon","Nylon-CF","PPA-CF","PPS-CF","Custom"]},{"type":"null"}],"title":"Material"},"material_note":{"anyOf":[{"type":"string","maxLength":320},{"type":"null"}],"title":"Material Note"},"quantity":{"anyOf":[{"type":"integer","maximum":100,"minimum":1},{"type":"null"}],"title":"Quantity"},"units":{"anyOf":[{"type":"string","enum":["mm","cm","in"]},{"type":"null"}],"title":"Units"},"color":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Color"},"color_note":{"anyOf":[{"type":"string","maxLength":320},{"type":"null"}],"title":"Color Note"},"print_settings":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"number"},{"type":"integer"},{"type":"boolean"},{"type":"string"},{"items":{"type":"number"},"type":"array","maxItems":3,"minItems":3}]},"type":"object","maxProperties":20},{"type":"null"}],"title":"Print Settings"}},"type":"object","title":"Requote"}}},"servers":[{"url":"https://sinter.systems"}]}