openapi: 3.0.3 info: title: 'Part Finder API Documentation' description: '' version: 1.0.0 servers: - url: part.partificial.ai tags: - name: Parts description: '' paths: /api/parts/search: post: summary: 'Determine OEM(s) for a given part name using a YQ token.' operationId: determineOEMsForAGivenPartNameUsingAYQToken description: '' parameters: [] responses: 200: description: 'OEM(s) found' content: application/json: schema: type: object example: oem: - OEM-12345 - OEM-67890 meta: partName: 'front brake pads' senderId: client_abc123 code: OK_OEM_DETERMINED properties: oem: type: array example: - OEM-12345 - OEM-67890 items: type: string meta: type: object properties: partName: type: string example: 'front brake pads' senderId: type: string example: client_abc123 code: type: string example: OK_OEM_DETERMINED 422: description: 'No confident match' content: application/json: schema: type: object example: title: 'Need clarification' status: 422 detail: 'No OEM match for the provided part description; please clarify.' code: UNPROCESSABLE_CLARIFY properties: title: type: string example: 'Need clarification' status: type: integer example: 422 detail: type: string example: 'No OEM match for the provided part description; please clarify.' code: type: string example: UNPROCESSABLE_CLARIFY 500: description: 'Unexpected error' content: application/json: schema: type: object example: title: 'Server error' status: 500 code: SERVER_ERROR properties: title: type: string example: 'Server error' status: type: integer example: 500 code: type: string example: SERVER_ERROR 503: description: 'Human involvement required' content: application/json: schema: type: object example: message: 'Bitte rufen Sie uns kurz unter dieser Nummer an - wir helfen Ihnen gerne weiter' reason: 'API-Fehler, code: 80085-4' requires_human: true context: { } code: HUMAN_INVOLVEMENT_REQUIRED properties: message: type: string example: 'Bitte rufen Sie uns kurz unter dieser Nummer an - wir helfen Ihnen gerne weiter' reason: type: string example: 'API-Fehler, code: 80085-4' requires_human: type: boolean example: true context: type: object properties: { } code: type: string example: HUMAN_INVOLVEMENT_REQUIRED tags: - Parts requestBody: required: true content: application/json: schema: type: object properties: token: type: string description: 'YQ getVehicleInfo/getGroups token.' example: eyJhbGciOi... nullable: false partName: type: string description: 'Human part description.' example: '"front brake pads"' nullable: false senderId: type: string description: 'Optional session/customer id for logging/telemetry.' example: client_abc123 nullable: false required: - token - partName security: []