{"openapi":"3.1.0","info":{"title":"Partly Integrations Server","description":"Partly's platform for integrating with our services","version":"1.0.0"},"paths":{"/api/2026-01/businesses.list":{"description":"Lists the sub-businesses of the organization that the integration belongs to.","post":{"operationId":"businesses.list","tags":["Businesses"],"description":"Lists the sub-businesses of the organization that the integration belongs to.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessesListRequestV1"}}},"required":true},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessesListResponseV1"}}}},"default":{"description":"Error cases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessesListErrorV1"}}}}},"parameters":[{"name":"authorization","in":"header","required":true,"schema":{"$ref":"#/components/schemas/std.string.String"},"description":"The API key provisioned as part of the installation process"},{"name":"partly-integration-id","in":"header","required":true,"schema":{"$ref":"#/components/schemas/uuid.Uuid"},"description":"The ID of the integration"}]}},"/api/2026-01/integrations.insert":{"description":"Completes the integration installation and API key generation for a given install. The request must provide the client secret, client ID and the access code generated during the OAuth authorization process","post":{"operationId":"integrations.insert","tags":["Integrations"],"description":"Completes the integration installation and API key generation for a given install. The request must provide the client secret, client ID and the access code generated during the OAuth authorization process","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationsInstallRequestV1"}}},"required":true},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationsInstallResponseV1"}}}},"default":{"description":"Error cases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationsInstallErrorV1"}}}}}}},"/api/2026-01/repairer.jobs.baskets.latest.get":{"description":"Fetches the latest basket for a given repair job.","post":{"operationId":"repairer.jobs.baskets.latest.get","tags":["Jobs"],"description":"Fetches the latest basket for a given repair job.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BasketsLatestGetRequestV1"}}},"required":true},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BasketsLatestGetResponseV1"}}}},"default":{"description":"Error cases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BasketsLatestGetErrorV1"}}}}},"parameters":[{"name":"authorization","in":"header","required":true,"schema":{"$ref":"#/components/schemas/std.string.String"},"description":"The API key provisioned as part of the installation process"},{"name":"partly-integration-id","in":"header","required":true,"schema":{"$ref":"#/components/schemas/uuid.Uuid"},"description":"The ID of the integration"}]}},"/api/2026-01/repairer.jobs.get":{"description":"Fetches a repair job by ID, external ID, or siteID and job number","post":{"operationId":"repairer.jobs.get","tags":["Jobs"],"description":"Fetches a repair job by ID, external ID, or siteID and job number","requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"Identity<JobIdentityV1>","required":["identity"],"properties":{"identity":{"$ref":"#/components/schemas/JobIdentityV1"}}}}},"required":true},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobV1"}}}},"default":{"description":"Error cases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsGetErrorV1"}}}}},"parameters":[{"name":"authorization","in":"header","required":true,"schema":{"$ref":"#/components/schemas/std.string.String"},"description":"The API key provisioned as part of the installation process"},{"name":"partly-integration-id","in":"header","required":true,"schema":{"$ref":"#/components/schemas/uuid.Uuid"},"description":"The ID of the integration"}]}},"/api/2026-01/repairer.jobs.insert":{"description":"Inserts a new repair job or updates an existing repair job.","post":{"operationId":"repairer.jobs.insert","tags":["Jobs"],"description":"Inserts a new repair job or updates an existing repair job.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsInsertRequestV1"}}},"required":true},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobV1"}}}},"default":{"description":"Error cases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsInsertErrorV1"}}}}},"parameters":[{"name":"authorization","in":"header","required":true,"schema":{"$ref":"#/components/schemas/std.string.String"},"description":"The API key provisioned as part of the installation process"},{"name":"partly-integration-id","in":"header","required":true,"schema":{"$ref":"#/components/schemas/uuid.Uuid"},"description":"The ID of the integration"}]}},"/api/2026-01/repairer.jobs.parts.insert":{"description":"Inserts parts for a repair job.","post":{"operationId":"repairer.jobs.parts.insert","tags":["Jobs"],"description":"Inserts parts for a repair job.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsPartsInsertRequestV1"}}},"required":true},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsPartsListResponseV1"}}}},"default":{"description":"Error cases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsPartsInsertErrorV1"}}}}},"parameters":[{"name":"authorization","in":"header","required":true,"schema":{"$ref":"#/components/schemas/std.string.String"},"description":"The API key provisioned as part of the installation process"},{"name":"partly-integration-id","in":"header","required":true,"schema":{"$ref":"#/components/schemas/uuid.Uuid"},"description":"The ID of the integration"}]}},"/api/2026-01/repairer.jobs.parts.list":{"description":"Lists all parts for a repair job.","post":{"operationId":"repairer.jobs.parts.list","tags":["Jobs"],"description":"Lists all parts for a repair job.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsPartsListRequestV1"}}},"required":true},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsPartsListResponseV1"}}}},"default":{"description":"Error cases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsPartsListErrorV1"}}}}},"parameters":[{"name":"authorization","in":"header","required":true,"schema":{"$ref":"#/components/schemas/std.string.String"},"description":"The API key provisioned as part of the installation process"},{"name":"partly-integration-id","in":"header","required":true,"schema":{"$ref":"#/components/schemas/uuid.Uuid"},"description":"The ID of the integration"}]}},"/api/2026-01/repairer.procurements.get":{"description":"Fetch a procurement for a repairer by ID","post":{"operationId":"repairer.procurements.get","tags":["Procurements"],"description":"Fetch a procurement for a repairer by ID","requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"Identity<procurements.v1.repairer.Identity>","required":["identity"],"properties":{"identity":{"$ref":"#/components/schemas/procurements.v1.repairer.Identity"}}}}},"required":true},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/procurements.v1.buyer.Procurement"}}}},"default":{"description":"Error cases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/procurements.v1.ProcurementGetError"}}}}},"parameters":[{"name":"authorization","in":"header","required":true,"schema":{"$ref":"#/components/schemas/std.string.String"},"description":"The API key provisioned as part of the installation process"},{"name":"partly-integration-id","in":"header","required":true,"schema":{"$ref":"#/components/schemas/uuid.Uuid"},"description":"The ID of the integration"}]}},"/api/2026-01/repairer.procurements.list":{"description":"List procurements for a repairer","post":{"operationId":"repairer.procurements.list","tags":["Procurements"],"description":"List procurements for a repairer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/procurements.v1.repairer.ProcurementsListRequest"}}},"required":true},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/procurements.v1.buyer.ProcurementsListResponse"}}}},"default":{"description":"Error cases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/procurements.v1.ProcurementGetError"}}}}},"parameters":[{"name":"authorization","in":"header","required":true,"schema":{"$ref":"#/components/schemas/std.string.String"},"description":"The API key provisioned as part of the installation process"},{"name":"partly-integration-id","in":"header","required":true,"schema":{"$ref":"#/components/schemas/uuid.Uuid"},"description":"The ID of the integration"}]}},"/api/2026-01/repairer.work-providers.list":{"description":"Fetches the list of work providers for a repairer.","post":{"operationId":"repairer.work-providers.list","tags":["Work Providers"],"description":"Fetches the list of work providers for a repairer.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkProvidersListRequestV1"}}},"required":true},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkProvidersListResponseV1"}}}},"default":{"description":"Error cases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkProvidersListErrorV1"}}}}},"parameters":[{"name":"authorization","in":"header","required":true,"schema":{"$ref":"#/components/schemas/std.string.String"},"description":"The API key provisioned as part of the installation process"},{"name":"partly-integration-id","in":"header","required":true,"schema":{"$ref":"#/components/schemas/uuid.Uuid"},"description":"The ID of the integration"}]}},"/api/2026-01/supplier.procurements.confirm":{"description":"Transition a procurement to order confirmed","post":{"operationId":"supplier.procurements.confirm","tags":["Procurements"],"description":"Transition a procurement to order confirmed","requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"Identity<procurements.v1.supplier.Identity>","required":["identity"],"properties":{"identity":{"$ref":"#/components/schemas/procurements.v1.supplier.Identity"}}}}},"required":true},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/procurements.v1.supplier.Procurement"}}}},"default":{"description":"Error cases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/procurements.v1.ProcurementConfirmError"}}}}},"parameters":[{"name":"authorization","in":"header","required":true,"schema":{"$ref":"#/components/schemas/std.string.String"},"description":"The API key provisioned as part of the installation process"},{"name":"partly-integration-id","in":"header","required":true,"schema":{"$ref":"#/components/schemas/uuid.Uuid"},"description":"The ID of the integration"}]}},"/api/2026-01/supplier.procurements.get":{"description":"Fetch a procurement for a supplier by ID","post":{"operationId":"supplier.procurements.get","tags":["Procurements"],"description":"Fetch a procurement for a supplier by ID","requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"Identity<procurements.v1.supplier.Identity>","required":["identity"],"properties":{"identity":{"$ref":"#/components/schemas/procurements.v1.supplier.Identity"}}}}},"required":true},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/procurements.v1.supplier.Procurement"}}}},"default":{"description":"Error cases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/procurements.v1.ProcurementGetError"}}}}},"parameters":[{"name":"authorization","in":"header","required":true,"schema":{"$ref":"#/components/schemas/std.string.String"},"description":"The API key provisioned as part of the installation process"},{"name":"partly-integration-id","in":"header","required":true,"schema":{"$ref":"#/components/schemas/uuid.Uuid"},"description":"The ID of the integration"}]}},"/api/2026-01/tier1.prepare":{"description":"Queue up a given vehicle VIN for future use in other Partly services.","post":{"operationId":"tier1.prepare","tags":["Tier 1"],"description":"Queue up a given vehicle VIN for future use in other Partly services.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tier1PrepareRequestV1"}}},"required":true},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tier1PrepareResponseV1"}}}},"default":{"description":"Error cases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tier1PrepareErrorV1"}}}}},"parameters":[{"name":"authorization","in":"header","required":true,"schema":{"$ref":"#/components/schemas/std.string.String"},"description":"The API key provisioned as part of the installation process"},{"name":"partly-integration-id","in":"header","required":true,"schema":{"$ref":"#/components/schemas/uuid.Uuid"},"description":"The ID of the integration"}]}},"/api/2026-01/uploads.prepare":{"description":"Generate a pre-signed URL for uploading a file.","post":{"operationId":"uploads.prepare","tags":["Uploads"],"description":"Generate a pre-signed URL for uploading a file.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadsPrepareRequestV1"}}},"required":true},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadsPrepareResponseV1"}}}},"default":{"description":"Error cases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadsPrepareErrorV1"}}}}},"parameters":[{"name":"authorization","in":"header","required":true,"schema":{"$ref":"#/components/schemas/std.string.String"},"description":"The API key provisioned as part of the installation process"},{"name":"partly-integration-id","in":"header","required":true,"schema":{"$ref":"#/components/schemas/uuid.Uuid"},"description":"The ID of the integration"}]}}},"components":{"schemas":{"AbsoluteUrl":{"type":"array","prefixItems":[{"$ref":"#/components/schemas/std.string.String"}]},"BasketsLatestGetErrorV1":{"oneOf":[{"type":"object","title":"unauthorized","required":["type"],"properties":{"type":{"const":"unauthorized"}}},{"type":"object","title":"forbidden","required":["type"],"properties":{"type":{"const":"forbidden"}}},{"type":"object","title":"not_found","required":["type"],"properties":{"type":{"const":"not_found"}}},{"type":"object","title":"bad_request","required":["type"],"properties":{"type":{"const":"bad_request"}}}]},"BasketsLatestGetRequestV1":{"type":"object","title":"BasketsLatestGetRequestV1","required":["job_identity"],"properties":{"job_identity":{"$ref":"#/components/schemas/JobIdentityV1"}}},"BasketsLatestGetResponseV1":{"type":"object","title":"BasketsLatestGetResponseV1","required":["offers","suppliers"],"properties":{"offers":{"description":"List of offers","type":"array","items":{"$ref":"#/components/schemas/OfferV1"}},"suppliers":{"description":"List of suppliers","type":"array","items":{"$ref":"#/components/schemas/SupplierV1"}}}},"BusinessDetailsV1":{"oneOf":[{"type":"object","title":"supplier","required":["type"],"properties":{"type":{"const":"supplier"}}},{"type":"object","title":"repairer","required":["type"],"properties":{"type":{"const":"repairer"}}},{"type":"object","title":"repairer_site","required":["type"],"properties":{"type":{"const":"repairer_site"}}},{"type":"object","title":"insurer","required":["type"],"properties":{"type":{"const":"insurer"}}}]},"BusinessV1":{"allOf":[{"$ref":"#/components/schemas/BusinessDetailsV1"},{"type":"object","title":"BusinessV1","required":["id","name"],"properties":{"id":{"description":"The unique identifier of the business.","$ref":"#/components/schemas/uuid.Uuid"},"name":{"description":"The name of the business.","$ref":"#/components/schemas/std.string.String"}}}]},"BusinessesListErrorV1":{"oneOf":[{"type":"object","title":"unauthorized","required":["type"],"properties":{"type":{"const":"unauthorized"}}},{"type":"object","title":"forbidden","required":["type"],"properties":{"type":{"const":"forbidden"}}}]},"BusinessesListRequestV1":{"type":"object","title":"BusinessesListRequestV1","properties":{}},"BusinessesListResponseV1":{"type":"object","title":"BusinessesListResponseV1","required":["items"],"properties":{"items":{"description":"Expandable array type","type":"array","items":{"$ref":"#/components/schemas/BusinessV1"}}}},"ExternalInsertV1":{"type":"object","title":"ExternalInsertV1","required":["repairer_site_id"],"properties":{"claim_number":{"description":"The insurer claim number.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"images":{"description":"The list of images for the job.","oneOf":[{"description":"Null","type":"null"},{"description":"Expandable array type","type":"array","items":{"$ref":"#/components/schemas/AbsoluteUrl"}}]},"job_number":{"description":"The job number is a unique identifier per repairer site.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"repairer_site_id":{"description":"The identifier for the repairer site that the job belongs to.","$ref":"#/components/schemas/uuid.Uuid"},"vehicle":{"description":"The vehicle associated with the job.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/VehicleV1"}]},"work_provider_contract":{"description":"The work provider contract name (e.g. insurer name).","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"work_provider_id":{"description":"The insurer unique identifier.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/uuid.Uuid"}]}}},"IfExistsUpdateOrReplace":{"oneOf":[{"const":"update"},{"const":"replace"}]},"ImageV1":{"type":"object","title":"ImageV1","required":["public_url"],"properties":{"public_url":{"$ref":"#/components/schemas/AbsoluteUrl"}}},"IntegrationsInstallErrorV1":{"oneOf":[{"type":"object","title":"unauthorized","required":["type"],"properties":{"type":{"const":"unauthorized"}}},{"type":"object","title":"forbidden","required":["type"],"properties":{"type":{"const":"forbidden"}}},{"type":"object","title":"integration_not_found","required":["type"],"properties":{"type":{"const":"integration_not_found"}}},{"type":"object","title":"o_auth_not_supported_by_integration","required":["type"],"properties":{"type":{"const":"o_auth_not_supported_by_integration"}}},{"type":"object","title":"invalid_client_secret","required":["type"],"properties":{"type":{"const":"invalid_client_secret"}}},{"type":"object","title":"invalid_access_code","required":["type"],"properties":{"type":{"const":"invalid_access_code"}}}]},"IntegrationsInstallRequestV1":{"type":"object","title":"IntegrationsInstallRequestV1","required":["access_code","client_id","client_secret"],"properties":{"access_code":{"description":"This is the access code that came as part of the redirect in step 3, access_code is a short code with a 15 minute TTL","$ref":"#/components/schemas/std.string.String"},"client_id":{"description":"This is the identifier for your integration.\nContact Partly to receive integration client credentials","$ref":"#/components/schemas/std.string.String"},"client_secret":{"description":"This is the secret provided during integration client ID / secret provisioning.","$ref":"#/components/schemas/std.string.String"}}},"IntegrationsInstallResponseV1":{"type":"object","title":"IntegrationsInstallResponseV1","required":["api_key","integration_id"],"properties":{"api_key":{"description":"The API key that can be used in following requests to authenticate the integration","$ref":"#/components/schemas/std.string.String"},"integration_id":{"description":"The unique identifier for the installed integration","$ref":"#/components/schemas/uuid.Uuid"}}},"InvalidIdentifierV1":{"description":"An identifier that failed validation during deserialization.","type":"object","title":"InvalidIdentifierV1","required":["input","reason"],"properties":{"input":{"description":"The raw JSON input that failed to deserialize into a valid vehicle identifier.","$ref":"#/components/schemas/serde_json.Value"},"reason":{"description":"The reason the identifier is invalid.","$ref":"#/components/schemas/std.string.String"}}},"JobIdentityV1":{"oneOf":[{"type":"object","title":"id","required":["id"],"properties":{"id":{"$ref":"#/components/schemas/uuid.Uuid"}}},{"type":"object","title":"external","required":["external"],"properties":{"external":{"$ref":"#/components/schemas/std.string.String"}}}]},"JobV1":{"type":"object","title":"JobV1","required":["id","images","repairer_site_id"],"properties":{"claim_number":{"description":"Insurer claim number","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"external_id":{"description":"The external identifier for the job assigned by the integration.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"id":{"description":"Partly-assigned Job ID","$ref":"#/components/schemas/uuid.Uuid"},"images":{"description":"The list of images for the job","type":"array","items":{"$ref":"#/components/schemas/ImageV1"}},"job_number":{"description":"Job number is a unique identifier per repairer site","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"repairer_site_id":{"description":"The identifier for the repairer site that the job belongs to","$ref":"#/components/schemas/uuid.Uuid"},"vehicle":{"description":"The vehicle associated with the job","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/VehicleV1"}]},"work_provider_id":{"description":"Insurer unique identifier (organization ID), when undefined, no insurer has access to the job","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/uuid.Uuid"}]}}},"JobsGetErrorV1":{"oneOf":[{"type":"object","title":"unauthorized","required":["type"],"properties":{"type":{"const":"unauthorized"}}},{"type":"object","title":"forbidden","required":["type"],"properties":{"type":{"const":"forbidden"}}},{"type":"object","title":"not_found","required":["type"],"properties":{"type":{"const":"not_found"}}}]},"JobsInsertErrorV1":{"oneOf":[{"type":"object","title":"unauthorized","required":["type"],"properties":{"type":{"const":"unauthorized"}}},{"type":"object","title":"forbidden","required":["type"],"properties":{"type":{"const":"forbidden"}}},{"description":"The job could not be inserted due to a conflict or validation error.","type":"object","title":"unprocessable","required":["message","type"],"properties":{"message":{"$ref":"#/components/schemas/std.string.String"},"type":{"const":"unprocessable"}}},{"type":"object","title":"work_provider_not_found","required":["type"],"properties":{"type":{"const":"work_provider_not_found"}}}]},"JobsInsertRequestV1":{"allOf":[{"$ref":"#/components/schemas/ExternalInsertV1"},{"type":"object","title":"JobsInsertRequestV1","required":["identity"],"properties":{"identity":{"description":"The identity of the job to insert or update.","$ref":"#/components/schemas/JobIdentityV1"},"if_":{"description":"Conflict resolution strategy","type":"object","title":"IfConflictOnInsert<IfExistsUpdateOrReplace>","properties":{"exists":{"description":"Conflict resolution strategy if entity already exists","$ref":"#/components/schemas/IfExistsUpdateOrReplace"}}}}}]},"JobsPartsInsertErrorV1":{"oneOf":[{"const":"unauthorized","description":"Authentication failed. Verify your API key and Integration ID."},{"const":"forbidden","description":"Integration is forbidden from completing this action. It is likely a\nmismatch between scopes and the action executed."},{"const":"not_found","description":"The job with the provided ID does not exist."},{"const":"unprocessable","description":"The request was malformed or contained invalid parameters."}]},"JobsPartsInsertRequestV1":{"type":"object","title":"JobsPartsInsertRequestV1","required":["job_identity","parts"],"properties":{"job_identity":{"$ref":"#/components/schemas/JobIdentityV1"},"parts":{"description":"Expandable array type","type":"array","items":{"$ref":"#/components/schemas/PartInsertV1"}}}},"JobsPartsListErrorV1":{"oneOf":[{"type":"object","title":"unauthorized","required":["type"],"properties":{"type":{"const":"unauthorized"}}},{"type":"object","title":"forbidden","required":["type"],"properties":{"type":{"const":"forbidden"}}},{"type":"object","title":"not_found","required":["type"],"properties":{"type":{"const":"not_found"}}}]},"JobsPartsListRequestV1":{"type":"object","title":"JobsPartsListRequestV1","required":["job_identity"],"properties":{"job_identity":{"$ref":"#/components/schemas/JobIdentityV1"}}},"JobsPartsListResponseV1":{"type":"object","title":"JobsPartsListResponseV1","required":["items"],"properties":{"items":{"description":"Expandable array type","type":"array","items":{"$ref":"#/components/schemas/PartV1"}}}},"LocationV1":{"description":"The location (region and optional state) for a vehicle registration mark (VRM) search.","type":"object","title":"LocationV1","required":["region","state"],"properties":{"region":{"description":"The country the plate is from, represented as an ISO 3166-1 alpha-2 country code.\n\nhttps://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\n\nE.g. \"US\" for United States, \"GB\" for United Kingdom, \"FR\" for France.\n\nCurrently only supports `GB`, `AU`, and `NZ`.","$ref":"#/components/schemas/std.string.String"},"state":{"description":"The state or province code where the vehicle is registered (e.g., \"CA\" for California). State is only required for certain countries like Australia and the United States\n\ne.g.\n- \"CA\" for California in the United States\n- \"NSW\" for New South Wales in Australia","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]}}},"OfferV1":{"type":"object","title":"OfferV1","required":["condition","job_part_ids","name","quantity","sellable_id","supplier_business_id","trade_price"],"properties":{"condition":{"description":"The condition of the part.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/procurements.v1.PartCondition"}]},"job_part_ids":{"description":"The part IDs associated with this offer","type":"array","items":{"$ref":"#/components/schemas/uuid.Uuid"}},"name":{"description":"The name of the offered sellable","$ref":"#/components/schemas/std.string.String"},"quantity":{"description":"How many of the part was offered","$ref":"#/components/schemas/u16"},"sellable_id":{"description":"The unique identifier of the sellable item being offered","$ref":"#/components/schemas/uuid.Uuid"},"supplier_business_id":{"description":"The unique identifier of the supplier business providing the offer","$ref":"#/components/schemas/std.string.String"},"trade_price":{"description":"The price of the offered sellable","$ref":"#/components/schemas/std.string.String"}}},"PartIdentityV1":{"oneOf":[{"type":"object","title":"id","required":["id"],"properties":{"id":{"$ref":"#/components/schemas/uuid.Uuid"}}},{"type":"object","title":"external_id","required":["external_id"],"properties":{"external_id":{"$ref":"#/components/schemas/std.string.String"}}}]},"PartInsertV1":{"type":"object","title":"PartInsertV1","properties":{"description":{"oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"identity":{"description":"explicit ID; takes precedence. if not set, an ID will be assigned.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/PartIdentityV1"}]},"note":{"oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"quantity":{"oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/u8"}]}}},"PartStatusV1":{"oneOf":[{"const":"estimated"},{"const":"ordered"}]},"PartV1":{"type":"object","title":"PartV1","required":["description","id","status"],"properties":{"description":{"description":"Part description in locale of user adding the part","$ref":"#/components/schemas/std.string.String"},"external_id":{"description":"External ID for the part, if any","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"ghca_id":{"description":"Global HCA ID (SUID format like GHCA123)","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"id":{"description":"Job part ID","$ref":"#/components/schemas/uuid.Uuid"},"note":{"description":"Note about the part","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"status":{"description":"The status of the part","$ref":"#/components/schemas/PartStatusV1"}}},"SupplierV1":{"type":"object","title":"SupplierV1","required":["business_id","name"],"properties":{"business_id":{"description":"The unique identifier of the supplier business","$ref":"#/components/schemas/std.string.String"},"name":{"description":"The name of the supplier","$ref":"#/components/schemas/std.string.String"}}},"Tier1PrepareErrorV1":{"oneOf":[{"type":"object","title":"unauthorized","required":["type"],"properties":{"type":{"const":"unauthorized"}}}]},"Tier1PrepareRequestV1":{"description":"A request to search for vehicles and their associated UDEFs/OemVehicleIds based on\n[`VehicleIdentifier`]s. Supports bulk requests of up to 1000 vehicles.\nAll requests are processed with Foreground priority.","type":"object","title":"Tier1PrepareRequestV1","required":["identifiers"],"properties":{"identifiers":{"description":"An array of vehicle identifiers to preload. Each identifier object must conform to one of the two structures detailed below (Chassis Number or VRM). Must contain at most 1000 identifiers.\nVRM (License Plate) is recommended over Chassis Number as a VRM lookup often yields better data quality and allows us to disambiguate possible vehicle variants (e.g. trim or color options) more effectively.","type":"array","items":{"$ref":"#/components/schemas/VehicleIdentifierV1"}}}},"Tier1PrepareResponseV1":{"description":"The response to a Tier1 prepare request.","type":"object","title":"Tier1PrepareResponseV1","required":["invalid_identifiers"],"properties":{"invalid_identifiers":{"description":"Identifiers that failed validation during deserialization, with their raw input and the reason for failure.\nEmpty when all identifiers were valid.","type":"array","items":{"$ref":"#/components/schemas/InvalidIdentifierV1"}}}},"UploadFileKindV1":{"oneOf":[{"const":"image"}]},"UploadKindV1":{"oneOf":[{"const":"job_media"}]},"UploadsPrepareErrorV1":{"oneOf":[{"type":"object","title":"unauthorized","required":["type"],"properties":{"type":{"const":"unauthorized"}}},{"type":"object","title":"forbidden","required":["type"],"properties":{"type":{"const":"forbidden"}}},{"description":"The upload could not be prepared due to a validation error.","type":"object","title":"unprocessable","required":["message","type"],"properties":{"message":{"$ref":"#/components/schemas/std.string.String"},"type":{"const":"unprocessable"}}}]},"UploadsPrepareRequestV1":{"type":"object","title":"UploadsPrepareRequestV1","required":["file_name","media_type","type"],"properties":{"file_name":{"description":"File name with extension if applicable","$ref":"#/components/schemas/std.string.String"},"media_type":{"description":"File type of media being uploaded","$ref":"#/components/schemas/UploadFileKindV1"},"type":{"description":"The type of upload being prepared","$ref":"#/components/schemas/UploadKindV1"}}},"UploadsPrepareResponseV1":{"type":"object","title":"UploadsPrepareResponseV1","required":["public_url","upload_url"],"properties":{"public_url":{"description":"Public url for accessing this media file when file is uploaded via `upload_url` link.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"upload_url":{"description":"pre-signed-url to upload media file to.","$ref":"#/components/schemas/std.string.String"}}},"VehicleIdentifierV1":{"oneOf":[{"type":"object","title":"ChassisNumber","required":["chassis_number"],"properties":{"chassis_number":{"description":"The vehicle's chassis number (VIN) or Frame Number (Japenese Domestic Market vehicles only)","$ref":"#/components/schemas/std.string.String"}}},{"$ref":"#/components/schemas/VrmSearchRequestV1"}]},"VehicleV1":{"type":"object","title":"VehicleV1","required":["chassis_number","plate_number","plate_state"],"properties":{"chassis_number":{"description":"The plates chassis number","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"plate_number":{"description":"The vehicles plate number","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"plate_state":{"description":"The state that the plate belongs to","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]}}},"VrmSearchRequestV1":{"allOf":[{"$ref":"#/components/schemas/LocationV1"},{"description":"Plate and region information for a vehicle registration mark (VRM) search.","type":"object","title":"VrmSearchRequestV1","required":["plate"],"properties":{"plate":{"description":"The vehicle's registration mark (license plate). Must be between 1 and 10 characters long.","$ref":"#/components/schemas/std.string.String"}}}]},"WorkProviderV1":{"type":"object","title":"WorkProviderV1","required":["business_name","organization_id"],"properties":{"business_name":{"$ref":"#/components/schemas/std.string.String"},"organization_id":{"$ref":"#/components/schemas/std.string.String"}}},"WorkProvidersListErrorV1":{"oneOf":[{"type":"object","title":"unauthorized","required":["type"],"properties":{"type":{"const":"unauthorized"}}},{"type":"object","title":"forbidden","required":["type"],"properties":{"type":{"const":"forbidden"}}}]},"WorkProvidersListRequestV1":{"type":"object","title":"WorkProvidersListRequestV1","properties":{}},"WorkProvidersListResponseV1":{"type":"object","title":"WorkProvidersListResponseV1","required":["items"],"properties":{"items":{"description":"Expandable array type","type":"array","items":{"$ref":"#/components/schemas/WorkProviderV1"}}}},"f64":{"description":"64-bit floating point number","type":"number"},"procurements.v1.Address":{"description":"An address, for a supplier's warehouse or buyer's delivery.","type":"object","title":"procurements.v1.Address","required":["city","country_code","name","postcode","state","street_name","street_number","suburb","unit"],"properties":{"city":{"description":"City.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"country_code":{"description":"Country, represented as alpha2 (e.g. \"GB\" is United Kingdom, \"NZ\" is New Zealand).","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/procurements.v1.Country"}]},"name":{"description":"Name of the address, like the store or warehouse name.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"postcode":{"description":"Postcode.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"state":{"description":"State.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"street_name":{"description":"Street name (may be abbreviated - e.g. 'Armagh St').","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"street_number":{"description":"Street number (may be non-numeric).","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"suburb":{"description":"Suburb.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"unit":{"description":"Unit.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]}}},"procurements.v1.Country":{"description":"An ISO3166 alpha2 country code (e.g. 'NZ', 'GB').\nExactly two uppercase alphabetic ASCII characters.","type":"array","prefixItems":[{"$ref":"#/components/schemas/std.string.String"}]},"procurements.v1.Inventory":{"description":"The offer that will be fulfilled.","type":"object","title":"procurements.v1.Inventory","required":["sellable_id","warehouse_id"],"properties":{"sellable_id":{"$ref":"#/components/schemas/uuid.Uuid"},"warehouse_id":{"description":"The stock location.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/uuid.Uuid"}]}}},"procurements.v1.PartCondition":{"oneOf":[{"description":"This part is new.","type":"object","title":"new","required":["payload","type"],"properties":{"payload":{"description":"This part is new.","type":"object","title":"new","properties":{}},"type":{"const":"new"}}},{"description":"This part is used.","type":"object","title":"used","required":["payload","type"],"properties":{"payload":{"$ref":"#/components/schemas/procurements.v1.PartUsedConditionGrade"},"type":{"const":"used"}}}]},"procurements.v1.PartIdentity":{"description":"A single part in a procurement.","type":"object","title":"procurements.v1.PartIdentity","required":["gapc_brand_id","mpn"],"properties":{"gapc_brand_id":{"$ref":"#/components/schemas/std.string.String"},"mpn":{"$ref":"#/components/schemas/std.string.String"}}},"procurements.v1.PartUsedConditionGrade":{"oneOf":[{"description":"This part is a panel, and is graded on the panel scale (0-C)","type":"object","title":"panel","required":["payload","type"],"properties":{"payload":{"$ref":"#/components/schemas/procurements.v1.PartUsedConditionPanelGrade"},"type":{"const":"panel"}}},{"description":"This part is a consumable that measures age by distance traveled.","type":"object","title":"distance_traveled","required":["payload","type"],"properties":{"payload":{"$ref":"#/components/schemas/u32"},"type":{"const":"distance_traveled"}}},{"description":"This part is a consumable that measures age by operation hours.","type":"object","title":"operation_hours","required":["payload","type"],"properties":{"payload":{"$ref":"#/components/schemas/u32"},"type":{"const":"operation_hours"}}},{"description":"This part is a consumable that measures age by remaining thickness.","type":"object","title":"remaining_thickness","required":["payload","type"],"properties":{"payload":{"$ref":"#/components/schemas/f64"},"type":{"const":"remaining_thickness"}}}]},"procurements.v1.PartUsedConditionPanelGrade":{"oneOf":[{"const":"grade0","description":"Grade 0: this part is like new."},{"const":"grade_a","description":"Grade A: this part has existing damage less than the size of a credit card."},{"const":"grade_b","description":"Grade B: this part has existing damage less than the size of two credit cards."},{"const":"grade_c","description":"Grade C: this part has existing damage more than the size of two credit cards."}]},"procurements.v1.ProcurementConfirmError":{"oneOf":[{"type":"object","title":"unauthorized","required":["type"],"properties":{"type":{"const":"unauthorized"}}},{"type":"object","title":"forbidden","required":["type"],"properties":{"type":{"const":"forbidden"}}},{"type":"object","title":"not_found","required":["type"],"properties":{"type":{"const":"not_found"}}}]},"procurements.v1.ProcurementGetError":{"oneOf":[{"type":"object","title":"unauthorized","required":["type"],"properties":{"type":{"const":"unauthorized"}}},{"type":"object","title":"forbidden","required":["type"],"properties":{"type":{"const":"forbidden"}}},{"type":"object","title":"not_found","required":["type"],"properties":{"type":{"const":"not_found"}}}]},"procurements.v1.ShippingPrice":{"oneOf":[{"description":"The total shipping cost is derived from each item's shipping_price * quantity","type":"object","title":"derived","required":["type","value"],"properties":{"type":{"const":"derived"},"value":{"$ref":"#/components/schemas/std.string.String"}}},{"description":"The supplier provided total shipping cost for the entire procurement","type":"object","title":"absolute","required":["type","value"],"properties":{"type":{"const":"absolute"},"value":{"$ref":"#/components/schemas/std.string.String"}}}]},"procurements.v1.Vehicle":{"description":"The vehicle referenced in a procurement.","type":"object","title":"procurements.v1.Vehicle","required":["chassis_number","plate_number","variant"],"properties":{"chassis_number":{"description":"If known, the VIN or chassis number of the vehicle","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"plate_number":{"description":"If known, the plate number (rego) of the vehicle","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"variant":{"$ref":"#/components/schemas/procurements.v1.VehicleVariant"}}},"procurements.v1.VehicleVariant":{"description":"The specific variant of vehicle for a procurement.","type":"object","title":"procurements.v1.VehicleVariant","required":["description"],"properties":{"description":{"description":"A plain-text description of the vehicle.","$ref":"#/components/schemas/std.string.String"}}},"procurements.v1.buyer.BuyerPart":{"description":"The part that the buyer requested","type":"object","title":"procurements.v1.buyer.BuyerPart","required":["description","job_part_id","part_identity","quantity"],"properties":{"description":{"description":"A text description of the part","$ref":"#/components/schemas/std.string.String"},"job_part_id":{"description":"The id of the job part that was used to create the buyer part","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/uuid.Uuid"}]},"part_identity":{"description":"The identity of this part (mpn + brand)","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/procurements.v1.PartIdentity"}]},"quantity":{"description":"How many of the part was requested","$ref":"#/components/schemas/u16"}}},"procurements.v1.buyer.Inventory":{"description":"Inventory reference for repairer/buyer (no warehouse_id - that's supplier-only)","type":"object","title":"procurements.v1.buyer.Inventory","required":["sellable_id"],"properties":{"sellable_id":{"description":"The id of the sellable being purchased","$ref":"#/components/schemas/uuid.Uuid"}}},"procurements.v1.buyer.Procurement":{"allOf":[{"$ref":"#/components/schemas/procurements.v1.buyer.Status"},{"description":"A procurement viewed from the perspective of a repairer/buyer.","type":"object","title":"procurements.v1.buyer.Procurement","required":["created_at","currency_code","id","job_id","reference","source_items","supplier_business","supplier_organization","total_shipping_price","updated_at","vehicle"],"properties":{"created_at":{"description":"The timestamp that the procurement was created at.","type":"string","format":"date-time"},"currency_code":{"description":"The alpha3 currency code of the procurement transaction.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"id":{"description":"A unique identifier for the procurement.","$ref":"#/components/schemas/uuid.Uuid"},"job_id":{"description":"The job ID associated with this procurement.","$ref":"#/components/schemas/uuid.Uuid"},"reference":{"description":"A human-friendly shared reference between the buyer and supplier.\nOften a composite id (like job number + random characters)","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"source_items":{"description":"The source items for this procurement","type":"array","items":{"$ref":"#/components/schemas/procurements.v1.buyer.SourceItem"}},"supplier_business":{"description":"Information about the supplier business fulfilling the procurement.","$ref":"#/components/schemas/procurements.v1.buyer.SupplierBusiness"},"supplier_organization":{"description":"Information about the supplier organization fulfilling the procurement.","$ref":"#/components/schemas/procurements.v1.buyer.SupplierOrganization"},"total_shipping_price":{"description":"The total price of shipping parts to the buyers' address.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/procurements.v1.ShippingPrice"}]},"updated_at":{"description":"The timestamp that the procurement was last updated at.","type":"string","format":"date-time"},"vehicle":{"description":"The vehicle that the parts are being procured for.","$ref":"#/components/schemas/procurements.v1.Vehicle"}}}]},"procurements.v1.buyer.ProcurementsListResponse":{"type":"object","title":"procurements.v1.buyer.ProcurementsListResponse","required":["items"],"properties":{"items":{"description":"The list of procurements for the buyer.","type":"array","items":{"$ref":"#/components/schemas/procurements.v1.buyer.Procurement"}}}},"procurements.v1.buyer.SourceItem":{"allOf":[{"$ref":"#/components/schemas/procurements.v1.buyer.SourcePartState"},{"description":"A source item with its state","type":"object","title":"procurements.v1.buyer.SourceItem","required":["id"],"properties":{"id":{"description":"A unique identifier for the source item","$ref":"#/components/schemas/uuid.Uuid"}}}]},"procurements.v1.buyer.SourcePartState":{"oneOf":[{"description":"The buyer requested this part","type":"object","title":"buyer_requested","required":["buyer_part","type"],"properties":{"buyer_part":{"description":"The part details from the buyer","$ref":"#/components/schemas/procurements.v1.buyer.BuyerPart"},"type":{"const":"buyer_requested"}}}]},"procurements.v1.buyer.Status":{"oneOf":[{"description":"The buyer has placed an order for the requested parts","type":"object","title":"order_requested","required":["deliver_before","offered_items","status"],"properties":{"deliver_before":{"description":"When the buyer needs the parts to show up before (optional for OrderRequested)","oneOf":[{"description":"Null","type":"null"},{"description":"DateTime at a given timezone (RFC3339 format)","type":"string","format":"date-time"}]},"offered_items":{"description":"The items offered to fulfill this procurement","type":"array","items":{"$ref":"#/components/schemas/procurements.v1.buyer.order_requested.OfferedItem"}},"status":{"const":"order_requested"}}},{"description":"The supplier has confirmed the order for the requested parts","type":"object","title":"order_confirmed","required":["deliver_before","offered_items","status"],"properties":{"deliver_before":{"description":"When the buyer needs the parts to show up before","type":"string","format":"date-time"},"offered_items":{"description":"The items offered to fulfill this procurement","type":"array","items":{"$ref":"#/components/schemas/procurements.v1.buyer.order_confirmed.OfferedItem"}},"status":{"const":"order_confirmed"}}},{"description":"The order has been cancelled","type":"object","title":"cancelled","required":["deliver_before","offered_items","status"],"properties":{"deliver_before":{"description":"When the buyer needs the parts to show up before (optional for Cancelled)","oneOf":[{"description":"Null","type":"null"},{"description":"DateTime at a given timezone (RFC3339 format)","type":"string","format":"date-time"}]},"offered_items":{"description":"The items offered to fulfill this procurement","type":"array","items":{"$ref":"#/components/schemas/procurements.v1.buyer.order_requested.OfferedItem"}},"status":{"const":"cancelled"}}}]},"procurements.v1.buyer.SupplierBusiness":{"description":"Information about the supplier business fulfilling the procurement.","type":"object","title":"procurements.v1.buyer.SupplierBusiness","required":["id","name"],"properties":{"id":{"description":"The unique identifier of the supplier business fulfilling the procurement.","$ref":"#/components/schemas/uuid.Uuid"},"name":{"description":"The name of the supplier business fulfilling the procurement.","$ref":"#/components/schemas/std.string.String"}}},"procurements.v1.buyer.SupplierOrganization":{"description":"Information about the supplier organization fulfilling the procurement.","type":"object","title":"procurements.v1.buyer.SupplierOrganization","required":["id"],"properties":{"id":{"description":"The unique identifier of the supplier organization fulfilling the procurement.","$ref":"#/components/schemas/uuid.Uuid"}}},"procurements.v1.buyer.order_confirmed.OfferedItem":{"description":"An offered item in the OrderConfirmed status","type":"object","title":"procurements.v1.buyer.order_confirmed.OfferedItem","required":["fulfills_source_ids","id","supplied_offer"],"properties":{"fulfills_source_ids":{"description":"The IDs of source items that this offer fulfills","type":"array","items":{"$ref":"#/components/schemas/uuid.Uuid"}},"id":{"description":"A unique identifier for the offered item","$ref":"#/components/schemas/uuid.Uuid"},"supplied_offer":{"description":"The supplied offer that fulfills the requested parts","$ref":"#/components/schemas/procurements.v1.buyer.order_confirmed.SuppliedOffer"}}},"procurements.v1.buyer.order_confirmed.SuppliedOffer":{"oneOf":[{"description":"A single part offer","type":"object","title":"single","required":["condition","description","inventory","quantity","trade_price","type"],"properties":{"condition":{"description":"The condition of the supplied part (REQUIRED in OrderConfirmed)","$ref":"#/components/schemas/procurements.v1.PartCondition"},"description":{"description":"A text description of the part","$ref":"#/components/schemas/std.string.String"},"inventory":{"description":"The tracked inventory reference (REQUIRED in OrderConfirmed)","$ref":"#/components/schemas/procurements.v1.buyer.Inventory"},"quantity":{"description":"How many of the part was supplied","$ref":"#/components/schemas/u16"},"trade_price":{"description":"The trade price for the part (REQUIRED in OrderConfirmed)","$ref":"#/components/schemas/std.string.String"},"type":{"const":"single"}}}]},"procurements.v1.buyer.order_requested.OfferedItem":{"description":"An offered item in the OrderRequested status","type":"object","title":"procurements.v1.buyer.order_requested.OfferedItem","required":["fulfills_source_ids","id","supplied_offer"],"properties":{"fulfills_source_ids":{"description":"The IDs of source items that this offer fulfills","type":"array","items":{"$ref":"#/components/schemas/uuid.Uuid"}},"id":{"description":"A unique identifier for the offered item","$ref":"#/components/schemas/uuid.Uuid"},"supplied_offer":{"description":"The supplied offer that fulfills the requested parts","$ref":"#/components/schemas/procurements.v1.buyer.order_requested.SuppliedOffer"}}},"procurements.v1.buyer.order_requested.SuppliedOffer":{"oneOf":[{"description":"A single part offer","type":"object","title":"single","required":["condition","description","inventory","quantity","trade_price","type"],"properties":{"condition":{"description":"The condition of the supplied part (optional in OrderRequested)","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/procurements.v1.PartCondition"}]},"description":{"description":"A text description of the part","$ref":"#/components/schemas/std.string.String"},"inventory":{"description":"If known, the tracked inventory reference (optional in OrderRequested)","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/procurements.v1.buyer.Inventory"}]},"quantity":{"description":"How many of the part was supplied","$ref":"#/components/schemas/u16"},"trade_price":{"description":"The trade price for the part (optional in OrderRequested)","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"type":{"const":"single"}}}]},"procurements.v1.repairer.Identity":{"oneOf":[{"description":"Identify a procurement by its UUID.","type":"object","title":"id","required":["id"],"properties":{"id":{"$ref":"#/components/schemas/uuid.Uuid"}}}]},"procurements.v1.repairer.ProcurementsListRequest":{"type":"object","title":"procurements.v1.repairer.ProcurementsListRequest","required":["job_identity"],"properties":{"job_identity":{"description":"The identity of the job to list procurements for.","$ref":"#/components/schemas/JobIdentityV1"}}},"procurements.v1.supplier.BuyerBusiness":{"description":"Information about the buyer business requesting the procurement.","type":"object","title":"procurements.v1.supplier.BuyerBusiness","required":["id"],"properties":{"id":{"description":"The unique identifier of the buyer business requesting the procurement.","$ref":"#/components/schemas/uuid.Uuid"}}},"procurements.v1.supplier.BuyerOrganization":{"description":"Information about the buyer organization requesting the procurement.","type":"object","title":"procurements.v1.supplier.BuyerOrganization","required":["id"],"properties":{"id":{"description":"The unique identifier of the buyer organization requesting the procurement.","$ref":"#/components/schemas/uuid.Uuid"}}},"procurements.v1.supplier.BuyerPart":{"description":"The part that the buyer requested","type":"object","title":"procurements.v1.supplier.BuyerPart","required":["description","job_part_id","part_identity","quantity"],"properties":{"description":{"description":"A text description of the part","$ref":"#/components/schemas/std.string.String"},"job_part_id":{"description":"The id of the job part that was used to create the buyer part","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/uuid.Uuid"}]},"part_identity":{"description":"The identity of this part (mpn + brand)","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/procurements.v1.PartIdentity"}]},"quantity":{"description":"How many of the part was requested","$ref":"#/components/schemas/u16"}}},"procurements.v1.supplier.Identity":{"oneOf":[{"description":"Identify a procurement by its UUID.","type":"object","title":"id","required":["id"],"properties":{"id":{"$ref":"#/components/schemas/uuid.Uuid"}}}]},"procurements.v1.supplier.Procurement":{"allOf":[{"$ref":"#/components/schemas/procurements.v1.supplier.Status"},{"description":"A single procurement for a supplier.","type":"object","title":"procurements.v1.supplier.Procurement","required":["buyer_business","buyer_organization","buyer_shipping_address","created_at","currency_code","id","job_id","reference","source_items","total_shipping_price","updated_at","vehicle"],"properties":{"buyer_business":{"description":"Information about the buyer business requesting the procurement.","$ref":"#/components/schemas/procurements.v1.supplier.BuyerBusiness"},"buyer_organization":{"description":"Information about the buyer organization requesting the procurement.","$ref":"#/components/schemas/procurements.v1.supplier.BuyerOrganization"},"buyer_shipping_address":{"description":"The buyers' shipping address.","$ref":"#/components/schemas/procurements.v1.Address"},"created_at":{"description":"The timestamp that the procurement was created at.","type":"string","format":"date-time"},"currency_code":{"description":"The alpha3 currency code of the procurement transaction.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"id":{"description":"A unique identifier for the procurement.","$ref":"#/components/schemas/uuid.Uuid"},"job_id":{"description":"The job ID associated with this procurement.","$ref":"#/components/schemas/uuid.Uuid"},"reference":{"description":"A human-friendly shared reference between the buyer and supplier.\nOften a composite id (like job number + random characters)","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"source_items":{"description":"The source items for this procurement","type":"array","items":{"$ref":"#/components/schemas/procurements.v1.supplier.SourceItem"}},"total_shipping_price":{"description":"The total price of shipping parts to the buyers' address.","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/procurements.v1.ShippingPrice"}]},"updated_at":{"description":"The timestamp that the procurement was last updated at.","type":"string","format":"date-time"},"vehicle":{"description":"The vehicle that the parts are being procured for.","$ref":"#/components/schemas/procurements.v1.Vehicle"}}}]},"procurements.v1.supplier.SourceItem":{"allOf":[{"$ref":"#/components/schemas/procurements.v1.supplier.SourcePartState"},{"description":"A source item with its state","type":"object","title":"procurements.v1.supplier.SourceItem","required":["id"],"properties":{"id":{"description":"A unique identifier for the source item","$ref":"#/components/schemas/uuid.Uuid"}}}]},"procurements.v1.supplier.SourcePartState":{"oneOf":[{"description":"The buyer requested this part","type":"object","title":"buyer_requested","required":["buyer_part","type"],"properties":{"buyer_part":{"description":"The part details from the buyer","$ref":"#/components/schemas/procurements.v1.supplier.BuyerPart"},"type":{"const":"buyer_requested"}}}]},"procurements.v1.supplier.Status":{"oneOf":[{"description":"The buyer has placed an order for the requested parts","type":"object","title":"order_requested","required":["deliver_before","offered_items","status"],"properties":{"deliver_before":{"description":"When the buyer needs the parts to show up before (optional for OrderRequested)","oneOf":[{"description":"Null","type":"null"},{"description":"DateTime at a given timezone (RFC3339 format)","type":"string","format":"date-time"}]},"offered_items":{"description":"The items offered to fulfill this procurement","type":"array","items":{"$ref":"#/components/schemas/procurements.v1.supplier.order_requested.OfferedItem"}},"status":{"const":"order_requested"}}},{"description":"The supplier has confirmed the order for the requested parts","type":"object","title":"order_confirmed","required":["deliver_before","offered_items","status"],"properties":{"deliver_before":{"description":"When the buyer needs the parts to show up before","type":"string","format":"date-time"},"offered_items":{"description":"The items offered to fulfill this procurement","type":"array","items":{"$ref":"#/components/schemas/procurements.v1.supplier.order_confirmed.OfferedItem"}},"status":{"const":"order_confirmed"}}},{"description":"The order has been cancelled","type":"object","title":"cancelled","required":["deliver_before","offered_items","status"],"properties":{"deliver_before":{"description":"When the buyer needs the parts to show up before (optional for Cancelled)","oneOf":[{"description":"Null","type":"null"},{"description":"DateTime at a given timezone (RFC3339 format)","type":"string","format":"date-time"}]},"offered_items":{"description":"The items offered to fulfill this procurement","type":"array","items":{"$ref":"#/components/schemas/procurements.v1.supplier.order_requested.OfferedItem"}},"status":{"const":"cancelled"}}}]},"procurements.v1.supplier.order_confirmed.OfferedItem":{"description":"An offered item in the OrderConfirmed status","type":"object","title":"procurements.v1.supplier.order_confirmed.OfferedItem","required":["fulfills_source_ids","id","supplied_offer"],"properties":{"fulfills_source_ids":{"description":"The IDs of source items that this offer fulfills","type":"array","items":{"$ref":"#/components/schemas/uuid.Uuid"}},"id":{"description":"A unique identifier for the offered item","$ref":"#/components/schemas/uuid.Uuid"},"supplied_offer":{"description":"The supplied offer that fulfills the requested parts","$ref":"#/components/schemas/procurements.v1.supplier.order_confirmed.SuppliedOffer"}}},"procurements.v1.supplier.order_confirmed.SuppliedOffer":{"oneOf":[{"description":"A single part offer","type":"object","title":"single","required":["condition","description","inventory","part_identity","quantity","retail_price","sku","trade_price","type"],"properties":{"condition":{"description":"The condition of the supplied part (REQUIRED in OrderConfirmed)","$ref":"#/components/schemas/procurements.v1.PartCondition"},"description":{"description":"A text description of the part","$ref":"#/components/schemas/std.string.String"},"inventory":{"description":"The tracked inventory reference (REQUIRED in OrderConfirmed)","$ref":"#/components/schemas/procurements.v1.Inventory"},"part_identity":{"description":"The identity of this part (mpn + brand)","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/procurements.v1.PartIdentity"}]},"quantity":{"description":"How many of the part was supplied","$ref":"#/components/schemas/u16"},"retail_price":{"description":"The retail price (RRP) for the part if known","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"sku":{"description":"The supplier's SKU for the part","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"trade_price":{"description":"The trade price for the part (REQUIRED in OrderConfirmed)","$ref":"#/components/schemas/std.string.String"},"type":{"const":"single"}}}]},"procurements.v1.supplier.order_requested.OfferedItem":{"description":"An offered item in the OrderRequested status","type":"object","title":"procurements.v1.supplier.order_requested.OfferedItem","required":["fulfills_source_ids","id","supplied_offer"],"properties":{"fulfills_source_ids":{"description":"The IDs of source items that this offer fulfills","type":"array","items":{"$ref":"#/components/schemas/uuid.Uuid"}},"id":{"description":"A unique identifier for the offered item","$ref":"#/components/schemas/uuid.Uuid"},"supplied_offer":{"description":"The supplied offer that fulfills the requested parts","$ref":"#/components/schemas/procurements.v1.supplier.order_requested.SuppliedOffer"}}},"procurements.v1.supplier.order_requested.SuppliedOffer":{"oneOf":[{"description":"A single part offer","type":"object","title":"single","required":["condition","description","inventory","part_identity","quantity","retail_price","sku","trade_price","type"],"properties":{"condition":{"description":"The condition of the supplied part (optional in OrderRequested)","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/procurements.v1.PartCondition"}]},"description":{"description":"A text description of the part","$ref":"#/components/schemas/std.string.String"},"inventory":{"description":"If known, the tracked inventory reference (optional in OrderRequested)","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/procurements.v1.Inventory"}]},"part_identity":{"description":"The identity of this part (mpn + brand)","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/procurements.v1.PartIdentity"}]},"quantity":{"description":"How many of the part was supplied","$ref":"#/components/schemas/u16"},"retail_price":{"description":"The retail price (RRP) for the part if known","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"sku":{"description":"The supplier's SKU for the part","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"trade_price":{"description":"The trade price for the part (optional in OrderRequested)","oneOf":[{"description":"Null","type":"null"},{"$ref":"#/components/schemas/std.string.String"}]},"type":{"const":"single"}}}]},"serde_json.Value":{"description":"JSON value type","type":"object","title":"serde_json::Value","properties":{}},"std.string.String":{"description":"UTF-8 encoded string","type":"string"},"u16":{"description":"16-bit unsigned integer","type":"integer"},"u32":{"description":"32-bit unsigned integer","type":"integer"},"u8":{"description":"8-bit unsigned integer","type":"integer"},"uuid.Uuid":{"description":"UUID value type","type":"string","format":"uuid"}}}}