@truepic/vision-api-types 3.78.0 → 3.81.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -44
- package/index.d.ts +1162 -222
- package/package.json +3 -10
- package/LICENSE +0 -20
package/index.d.ts
CHANGED
|
@@ -2070,7 +2070,7 @@ export interface paths {
|
|
|
2070
2070
|
};
|
|
2071
2071
|
requestBody: {
|
|
2072
2072
|
content: {
|
|
2073
|
-
"application/json":
|
|
2073
|
+
"application/json": components["schemas"]["UpdateInspectionTypeBody"];
|
|
2074
2074
|
};
|
|
2075
2075
|
};
|
|
2076
2076
|
responses: {
|
|
@@ -2080,7 +2080,7 @@ export interface paths {
|
|
|
2080
2080
|
[name: string]: unknown;
|
|
2081
2081
|
};
|
|
2082
2082
|
content: {
|
|
2083
|
-
"application/json": components["schemas"]["
|
|
2083
|
+
"application/json": components["schemas"]["ResponseData"];
|
|
2084
2084
|
};
|
|
2085
2085
|
};
|
|
2086
2086
|
400: components["responses"]["ErrorBadRequest"];
|
|
@@ -2744,50 +2744,270 @@ export interface paths {
|
|
|
2744
2744
|
patch?: never;
|
|
2745
2745
|
trace?: never;
|
|
2746
2746
|
};
|
|
2747
|
+
"/ai-item-types": {
|
|
2748
|
+
parameters: {
|
|
2749
|
+
query?: never;
|
|
2750
|
+
header?: never;
|
|
2751
|
+
path?: never;
|
|
2752
|
+
cookie?: never;
|
|
2753
|
+
};
|
|
2754
|
+
/** List AI Item Types for the organization */
|
|
2755
|
+
get: {
|
|
2756
|
+
parameters: {
|
|
2757
|
+
query?: {
|
|
2758
|
+
inspection_type_id?: number;
|
|
2759
|
+
};
|
|
2760
|
+
header?: never;
|
|
2761
|
+
path?: never;
|
|
2762
|
+
cookie?: never;
|
|
2763
|
+
};
|
|
2764
|
+
requestBody?: never;
|
|
2765
|
+
responses: {
|
|
2766
|
+
/** @description Success */
|
|
2767
|
+
200: {
|
|
2768
|
+
headers: {
|
|
2769
|
+
[name: string]: unknown;
|
|
2770
|
+
};
|
|
2771
|
+
content?: never;
|
|
2772
|
+
};
|
|
2773
|
+
400: components["responses"]["ErrorBadRequest"];
|
|
2774
|
+
401: components["responses"]["ErrorUnauthorized"];
|
|
2775
|
+
403: components["responses"]["ErrorForbidden"];
|
|
2776
|
+
404: components["responses"]["ErrorNotFound"];
|
|
2777
|
+
412: components["responses"]["ErrorPreconditionFailed"];
|
|
2778
|
+
500: components["responses"]["ErrorUnhandled"];
|
|
2779
|
+
};
|
|
2780
|
+
};
|
|
2781
|
+
put?: never;
|
|
2782
|
+
/** Create an AI Item Type for the organization */
|
|
2783
|
+
post: {
|
|
2784
|
+
parameters: {
|
|
2785
|
+
query?: never;
|
|
2786
|
+
header?: never;
|
|
2787
|
+
path?: never;
|
|
2788
|
+
cookie?: never;
|
|
2789
|
+
};
|
|
2790
|
+
requestBody?: never;
|
|
2791
|
+
responses: {
|
|
2792
|
+
/** @description Created */
|
|
2793
|
+
201: {
|
|
2794
|
+
headers: {
|
|
2795
|
+
[name: string]: unknown;
|
|
2796
|
+
};
|
|
2797
|
+
content?: never;
|
|
2798
|
+
};
|
|
2799
|
+
/** @description Validation error */
|
|
2800
|
+
400: {
|
|
2801
|
+
headers: {
|
|
2802
|
+
[name: string]: unknown;
|
|
2803
|
+
};
|
|
2804
|
+
content?: never;
|
|
2805
|
+
};
|
|
2806
|
+
401: components["responses"]["ErrorUnauthorized"];
|
|
2807
|
+
403: components["responses"]["ErrorForbidden"];
|
|
2808
|
+
/** @description Inspection Type not in organization */
|
|
2809
|
+
404: {
|
|
2810
|
+
headers: {
|
|
2811
|
+
[name: string]: unknown;
|
|
2812
|
+
};
|
|
2813
|
+
content?: never;
|
|
2814
|
+
};
|
|
2815
|
+
412: components["responses"]["ErrorPreconditionFailed"];
|
|
2816
|
+
500: components["responses"]["ErrorUnhandled"];
|
|
2817
|
+
};
|
|
2818
|
+
};
|
|
2819
|
+
delete?: never;
|
|
2820
|
+
options?: never;
|
|
2821
|
+
head?: never;
|
|
2822
|
+
patch?: never;
|
|
2823
|
+
trace?: never;
|
|
2824
|
+
};
|
|
2825
|
+
"/ai-item-types/{itemTypeId}": {
|
|
2826
|
+
parameters: {
|
|
2827
|
+
query?: never;
|
|
2828
|
+
header?: never;
|
|
2829
|
+
path?: never;
|
|
2830
|
+
cookie?: never;
|
|
2831
|
+
};
|
|
2832
|
+
get?: never;
|
|
2833
|
+
/** Replace an AI Item Type (replace-by-tree) */
|
|
2834
|
+
put: {
|
|
2835
|
+
parameters: {
|
|
2836
|
+
query?: never;
|
|
2837
|
+
header?: never;
|
|
2838
|
+
path: {
|
|
2839
|
+
itemTypeId: number;
|
|
2840
|
+
};
|
|
2841
|
+
cookie?: never;
|
|
2842
|
+
};
|
|
2843
|
+
requestBody?: never;
|
|
2844
|
+
responses: {
|
|
2845
|
+
/** @description Success */
|
|
2846
|
+
200: {
|
|
2847
|
+
headers: {
|
|
2848
|
+
[name: string]: unknown;
|
|
2849
|
+
};
|
|
2850
|
+
content?: never;
|
|
2851
|
+
};
|
|
2852
|
+
/** @description Validation error */
|
|
2853
|
+
400: {
|
|
2854
|
+
headers: {
|
|
2855
|
+
[name: string]: unknown;
|
|
2856
|
+
};
|
|
2857
|
+
content?: never;
|
|
2858
|
+
};
|
|
2859
|
+
401: components["responses"]["ErrorUnauthorized"];
|
|
2860
|
+
403: components["responses"]["ErrorForbidden"];
|
|
2861
|
+
/** @description Not found */
|
|
2862
|
+
404: {
|
|
2863
|
+
headers: {
|
|
2864
|
+
[name: string]: unknown;
|
|
2865
|
+
};
|
|
2866
|
+
content?: never;
|
|
2867
|
+
};
|
|
2868
|
+
412: components["responses"]["ErrorPreconditionFailed"];
|
|
2869
|
+
500: components["responses"]["ErrorUnhandled"];
|
|
2870
|
+
};
|
|
2871
|
+
};
|
|
2872
|
+
post?: never;
|
|
2873
|
+
/** Delete an AI Item Type */
|
|
2874
|
+
delete: {
|
|
2875
|
+
parameters: {
|
|
2876
|
+
query?: never;
|
|
2877
|
+
header?: never;
|
|
2878
|
+
path: {
|
|
2879
|
+
itemTypeId: number;
|
|
2880
|
+
};
|
|
2881
|
+
cookie?: never;
|
|
2882
|
+
};
|
|
2883
|
+
requestBody?: never;
|
|
2884
|
+
responses: {
|
|
2885
|
+
/** @description No Content */
|
|
2886
|
+
204: {
|
|
2887
|
+
headers: {
|
|
2888
|
+
[name: string]: unknown;
|
|
2889
|
+
};
|
|
2890
|
+
content?: never;
|
|
2891
|
+
};
|
|
2892
|
+
400: components["responses"]["ErrorBadRequest"];
|
|
2893
|
+
401: components["responses"]["ErrorUnauthorized"];
|
|
2894
|
+
403: components["responses"]["ErrorForbidden"];
|
|
2895
|
+
/** @description Not found */
|
|
2896
|
+
404: {
|
|
2897
|
+
headers: {
|
|
2898
|
+
[name: string]: unknown;
|
|
2899
|
+
};
|
|
2900
|
+
content?: never;
|
|
2901
|
+
};
|
|
2902
|
+
/** @description Still linked to inspection types */
|
|
2903
|
+
409: {
|
|
2904
|
+
headers: {
|
|
2905
|
+
[name: string]: unknown;
|
|
2906
|
+
};
|
|
2907
|
+
content?: never;
|
|
2908
|
+
};
|
|
2909
|
+
412: components["responses"]["ErrorPreconditionFailed"];
|
|
2910
|
+
500: components["responses"]["ErrorUnhandled"];
|
|
2911
|
+
};
|
|
2912
|
+
};
|
|
2913
|
+
options?: never;
|
|
2914
|
+
head?: never;
|
|
2915
|
+
patch?: never;
|
|
2916
|
+
trace?: never;
|
|
2917
|
+
};
|
|
2918
|
+
"/ai-item-types/{itemTypeId}/inspection-types/{inspectionTypeId}": {
|
|
2919
|
+
parameters: {
|
|
2920
|
+
query?: never;
|
|
2921
|
+
header?: never;
|
|
2922
|
+
path?: never;
|
|
2923
|
+
cookie?: never;
|
|
2924
|
+
};
|
|
2925
|
+
get?: never;
|
|
2926
|
+
put?: never;
|
|
2927
|
+
/** Link an AI Item Type to an Inspection Type */
|
|
2928
|
+
post: {
|
|
2929
|
+
parameters: {
|
|
2930
|
+
query?: never;
|
|
2931
|
+
header?: never;
|
|
2932
|
+
path: {
|
|
2933
|
+
itemTypeId: number;
|
|
2934
|
+
inspectionTypeId: number;
|
|
2935
|
+
};
|
|
2936
|
+
cookie?: never;
|
|
2937
|
+
};
|
|
2938
|
+
requestBody?: never;
|
|
2939
|
+
responses: {
|
|
2940
|
+
/** @description Linked (idempotent) */
|
|
2941
|
+
204: {
|
|
2942
|
+
headers: {
|
|
2943
|
+
[name: string]: unknown;
|
|
2944
|
+
};
|
|
2945
|
+
content?: never;
|
|
2946
|
+
};
|
|
2947
|
+
400: components["responses"]["ErrorBadRequest"];
|
|
2948
|
+
401: components["responses"]["ErrorUnauthorized"];
|
|
2949
|
+
403: components["responses"]["ErrorForbidden"];
|
|
2950
|
+
/** @description Not found */
|
|
2951
|
+
404: {
|
|
2952
|
+
headers: {
|
|
2953
|
+
[name: string]: unknown;
|
|
2954
|
+
};
|
|
2955
|
+
content?: never;
|
|
2956
|
+
};
|
|
2957
|
+
412: components["responses"]["ErrorPreconditionFailed"];
|
|
2958
|
+
500: components["responses"]["ErrorUnhandled"];
|
|
2959
|
+
};
|
|
2960
|
+
};
|
|
2961
|
+
/** Unlink an AI Item Type from an Inspection Type (auto-deletes the item type if no links remain in V1) */
|
|
2962
|
+
delete: {
|
|
2963
|
+
parameters: {
|
|
2964
|
+
query?: never;
|
|
2965
|
+
header?: never;
|
|
2966
|
+
path: {
|
|
2967
|
+
itemTypeId: number;
|
|
2968
|
+
inspectionTypeId: number;
|
|
2969
|
+
};
|
|
2970
|
+
cookie?: never;
|
|
2971
|
+
};
|
|
2972
|
+
requestBody?: never;
|
|
2973
|
+
responses: {
|
|
2974
|
+
/** @description Unlinked (idempotent) */
|
|
2975
|
+
204: {
|
|
2976
|
+
headers: {
|
|
2977
|
+
[name: string]: unknown;
|
|
2978
|
+
};
|
|
2979
|
+
content?: never;
|
|
2980
|
+
};
|
|
2981
|
+
400: components["responses"]["ErrorBadRequest"];
|
|
2982
|
+
401: components["responses"]["ErrorUnauthorized"];
|
|
2983
|
+
403: components["responses"]["ErrorForbidden"];
|
|
2984
|
+
/** @description Not found */
|
|
2985
|
+
404: {
|
|
2986
|
+
headers: {
|
|
2987
|
+
[name: string]: unknown;
|
|
2988
|
+
};
|
|
2989
|
+
content?: never;
|
|
2990
|
+
};
|
|
2991
|
+
412: components["responses"]["ErrorPreconditionFailed"];
|
|
2992
|
+
500: components["responses"]["ErrorUnhandled"];
|
|
2993
|
+
};
|
|
2994
|
+
};
|
|
2995
|
+
options?: never;
|
|
2996
|
+
head?: never;
|
|
2997
|
+
patch?: never;
|
|
2998
|
+
trace?: never;
|
|
2999
|
+
};
|
|
2747
3000
|
}
|
|
2748
3001
|
export type webhooks = Record<string, never>;
|
|
2749
3002
|
export interface components {
|
|
2750
3003
|
schemas: {
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
/**
|
|
2759
|
-
* @description The id of the user that created this AI Analysis Set.
|
|
2760
|
-
* @example 894
|
|
2761
|
-
*/
|
|
2762
|
-
created_by_user_id: number;
|
|
2763
|
-
/**
|
|
2764
|
-
* @description The id of the resource.
|
|
2765
|
-
* @example 1843
|
|
2766
|
-
*/
|
|
2767
|
-
id: number;
|
|
2768
|
-
is_deleted: unknown;
|
|
2769
|
-
/**
|
|
2770
|
-
* @description The id of the user that last edited this AI Analysis Set.
|
|
2771
|
-
* @example 542
|
|
2772
|
-
*/
|
|
2773
|
-
modified_by_user_id?: number;
|
|
2774
|
-
/**
|
|
2775
|
-
* @description The name of the AI Analysis Set
|
|
2776
|
-
* @example AI Analysis Set Name
|
|
2777
|
-
*/
|
|
2778
|
-
name: string;
|
|
2779
|
-
/**
|
|
2780
|
-
* @description The id of the organization that owns this AI Analysis Set
|
|
2781
|
-
* @example 532
|
|
2782
|
-
*/
|
|
2783
|
-
organization_id: number;
|
|
2784
|
-
questions: string[];
|
|
2785
|
-
/**
|
|
2786
|
-
* Format: date-time
|
|
2787
|
-
* @description The date/time the resource was last updated
|
|
2788
|
-
* @example 2020-05-01T21:44:40.000Z
|
|
2789
|
-
*/
|
|
2790
|
-
updated_at: string;
|
|
3004
|
+
AIAnalysisStatus: {
|
|
3005
|
+
completed_event_count?: number;
|
|
3006
|
+
/** @description Number of non-deleted truepics actually evaluated by the latest completed AI Analysis run, after the AI capture cap (VISION-2118). Equals the total non-deleted count when under the cap; the cap value when over. Present only when the inspection has at least one completed extraction event — drives the summary's "N images analyzed" clause so the user sees the actually-evaluated number rather than the total non-deleted count. */
|
|
3007
|
+
evaluated_truepic_count?: number;
|
|
3008
|
+
last_completed_at: string | null;
|
|
3009
|
+
/** @enum {string} */
|
|
3010
|
+
state: "idle" | "waiting" | "running" | "completed" | "failed";
|
|
2791
3011
|
};
|
|
2792
3012
|
AIInspectionCriteriaEvaluationModelResultV1: {
|
|
2793
3013
|
cachedTokens: number;
|
|
@@ -2813,6 +3033,117 @@ export interface components {
|
|
|
2813
3033
|
queryTimeMs: number;
|
|
2814
3034
|
totalCostUSD: number | null;
|
|
2815
3035
|
};
|
|
3036
|
+
AIInspectionFeedback: {
|
|
3037
|
+
created_at: string;
|
|
3038
|
+
created_by_member_user_id: number;
|
|
3039
|
+
feedback: components["schemas"]["AIInspectionFeedbackSections"];
|
|
3040
|
+
id: number;
|
|
3041
|
+
inspection_id: number;
|
|
3042
|
+
};
|
|
3043
|
+
/** @enum {string} */
|
|
3044
|
+
AIInspectionFeedbackDecision: "accept" | "reject";
|
|
3045
|
+
AIInspectionFeedbackItem: {
|
|
3046
|
+
comment: string | null;
|
|
3047
|
+
decision: components["schemas"]["AIInspectionFeedbackDecision"];
|
|
3048
|
+
list_item_id: number;
|
|
3049
|
+
};
|
|
3050
|
+
AIInspectionFeedbackOverall: {
|
|
3051
|
+
comment: string | null;
|
|
3052
|
+
decision: components["schemas"]["AIInspectionFeedbackDecision"] | unknown;
|
|
3053
|
+
reason?: string | null;
|
|
3054
|
+
};
|
|
3055
|
+
/** @description The three feedback surfaces, each optional. A row carries whichever sections the user has submitted feedback for. */
|
|
3056
|
+
AIInspectionFeedbackSections: {
|
|
3057
|
+
additional_details?: components["schemas"]["AIInspectionSubjectScopedFeedbackSection"];
|
|
3058
|
+
inspection_ready?: components["schemas"]["AIInspectionReadyFeedbackSection"];
|
|
3059
|
+
item_information?: components["schemas"]["AIInspectionSubjectScopedFeedbackSection"];
|
|
3060
|
+
};
|
|
3061
|
+
/** @description One per-Subject verdict row for the `item_information` and `additional_details` surfaces, keyed by the detected `ai_items[].id`. */
|
|
3062
|
+
AIInspectionFeedbackSubjectItem: {
|
|
3063
|
+
comment: string | null;
|
|
3064
|
+
decision: components["schemas"]["AIInspectionFeedbackDecision"];
|
|
3065
|
+
item_id: number;
|
|
3066
|
+
reason?: string | null;
|
|
3067
|
+
};
|
|
3068
|
+
AIInspectionItemAdditionalDetailsResult: {
|
|
3069
|
+
/** @description Per-model call audit data for the Additional Details extraction step. */
|
|
3070
|
+
audit_json: components["schemas"]["AuditEntry"][];
|
|
3071
|
+
/** @description AI observations responding to the configured considerations text. */
|
|
3072
|
+
considerations_observations: components["schemas"]["ConsiderationsObservationEntry"][];
|
|
3073
|
+
/** @description Self-referential reuse provenance (VISION-2080): the prior `ai_inspection_item_additional_details_results.id` this row was cloned from. Null on freshly-computed rows. ON DELETE SET NULL — deleting the source row leaves this as a tombstone. */
|
|
3074
|
+
copied_from_additional_details_result_id: number | null;
|
|
3075
|
+
/**
|
|
3076
|
+
* Format: date-time
|
|
3077
|
+
* @description The date/time the resource was created
|
|
3078
|
+
* @example 2020-05-01T21:44:40.000Z
|
|
3079
|
+
*/
|
|
3080
|
+
created_at: string;
|
|
3081
|
+
id: number;
|
|
3082
|
+
/** @description Row-level hex SHA-256 over the canonical projection of the additional_details inputs for every eligible item in this event (VISION-2080). The table stores one row per event with every item's findings merged, so the fingerprint covers the whole row's inputs — any single item's change invalidates the whole row. Drives the prior-result reuse fast path. Null on rows that predate the feature. */
|
|
3083
|
+
input_fingerprint: string | null;
|
|
3084
|
+
inspection_id: number;
|
|
3085
|
+
/** @description Configured items-to-look-for that were found, plus adjacent discoveries. lookfor_id is a UUID referencing the item type's additional_details_lookfor array; null for adjacent-discovery items. */
|
|
3086
|
+
items_found: components["schemas"]["ItemsFoundEntry"][];
|
|
3087
|
+
/** @description FK to ai_extraction_events.id — the run that produced this row. */
|
|
3088
|
+
triggering_event_id?: number;
|
|
3089
|
+
/**
|
|
3090
|
+
* Format: date-time
|
|
3091
|
+
* @description The date/time the resource was last updated
|
|
3092
|
+
* @example 2020-05-01T21:44:40.000Z
|
|
3093
|
+
*/
|
|
3094
|
+
updated_at: string;
|
|
3095
|
+
};
|
|
3096
|
+
AIInspectionItemFieldResult: {
|
|
3097
|
+
/**
|
|
3098
|
+
* @description AI-derived disposition.
|
|
3099
|
+
* @enum {string|null}
|
|
3100
|
+
*/
|
|
3101
|
+
ai_disposition: "pass" | "warn" | null;
|
|
3102
|
+
/** @description Per-model call audit data for this field extraction step, plus (when a rerun drift was suppressed) the suppressed verdict — VISION-2126. */
|
|
3103
|
+
audit_json: components["schemas"]["FieldResultAuditEntry"][];
|
|
3104
|
+
/** @description Cross-extraction conflict candidates. Present and non-empty only when status='conflict'. Not deduplicated — vote distribution is preserved. */
|
|
3105
|
+
candidate_values: components["schemas"]["CandidateValue"][];
|
|
3106
|
+
/** @description 0..1 consensus confidence; null when status !== 'found'. */
|
|
3107
|
+
confidence: number | null;
|
|
3108
|
+
/** @description Self-referential reuse provenance (VISION-2080): the prior `ai_inspection_item_field_results.id` this row was cloned from. Null on freshly-computed rows. ON DELETE SET NULL — deleting the source row leaves this as a tombstone. */
|
|
3109
|
+
copied_from_field_result_id: number | null;
|
|
3110
|
+
/**
|
|
3111
|
+
* Format: date-time
|
|
3112
|
+
* @description The date/time the resource was created
|
|
3113
|
+
* @example 2020-05-01T21:44:40.000Z
|
|
3114
|
+
*/
|
|
3115
|
+
created_at: string;
|
|
3116
|
+
/**
|
|
3117
|
+
* @description Override disposition (Sprint 2).
|
|
3118
|
+
* @enum {string|null}
|
|
3119
|
+
*/
|
|
3120
|
+
current_disposition: "pass" | "warn" | null;
|
|
3121
|
+
/** @description Models that disagreed with the consensus within this extraction run. */
|
|
3122
|
+
dissenters: components["schemas"]["Dissenter"][];
|
|
3123
|
+
/** @description FK to ai_item_type_fields.id (INSTANCE row); ON DELETE RESTRICT. */
|
|
3124
|
+
field_id: number;
|
|
3125
|
+
id: number;
|
|
3126
|
+
/** @description Hex SHA-256 over the canonical projection of every input the item_information prompt fed the model for this (item, field) call (VISION-2080). On rerun, the executor recomputes this and compares against the prior row's fingerprint; on match it skips the AI call entirely and copies the prior row's value verbatim. Null on rows that predate the feature. */
|
|
3127
|
+
input_fingerprint: string | null;
|
|
3128
|
+
/** @description FK to ai_inspection_item_results.id. */
|
|
3129
|
+
inspection_item_id: number;
|
|
3130
|
+
override_at: string | null;
|
|
3131
|
+
/** @description FK to users.id; set when a user overrides the disposition (Sprint 2). */
|
|
3132
|
+
override_user_id: number | null;
|
|
3133
|
+
reasoning: string | null;
|
|
3134
|
+
/** @description Evidence sources for this extraction. Empty when status !== 'found'. */
|
|
3135
|
+
sources: components["schemas"]["Source"][];
|
|
3136
|
+
/** @description Per-field extraction status ( {@link FieldStatus } ). The DB column is a free-form string so future values (skipped, error, partial, low_confidence) need no migration; adding one means widening {@link FieldStatus } and the model-layer Joi `.valid(...)` together. */
|
|
3137
|
+
status: components["schemas"]["FieldStatus"];
|
|
3138
|
+
/**
|
|
3139
|
+
* Format: date-time
|
|
3140
|
+
* @description The date/time the resource was last updated
|
|
3141
|
+
* @example 2020-05-01T21:44:40.000Z
|
|
3142
|
+
*/
|
|
3143
|
+
updated_at: string;
|
|
3144
|
+
/** @description Polymorphic: string for open_answer / single-select; string[] for multi-select; null when status !== 'found'. */
|
|
3145
|
+
value: string | string[] | unknown;
|
|
3146
|
+
};
|
|
2816
3147
|
AIInspectionReadyCriteriaResultV1: {
|
|
2817
3148
|
cachedTokens: number;
|
|
2818
3149
|
criteria: components["schemas"]["CriteriaGenerationOutputV1"];
|
|
@@ -2831,6 +3162,11 @@ export interface components {
|
|
|
2831
3162
|
queryTimeMs: number;
|
|
2832
3163
|
totalCostUSD: number | null;
|
|
2833
3164
|
};
|
|
3165
|
+
/** @description Content Summary / Inspection Readiness — overall verdict plus per-item feedback. */
|
|
3166
|
+
AIInspectionReadyFeedbackSection: {
|
|
3167
|
+
items: components["schemas"]["AIInspectionFeedbackItem"][];
|
|
3168
|
+
overall: components["schemas"]["AIInspectionFeedbackOverall"];
|
|
3169
|
+
};
|
|
2834
3170
|
AIInspectionReadyResult: {
|
|
2835
3171
|
client_override_date?: string | null;
|
|
2836
3172
|
client_override_result?: components["schemas"]["TestResult"] | unknown;
|
|
@@ -2852,8 +3188,139 @@ export interface components {
|
|
|
2852
3188
|
criteriaEvaluation: components["schemas"]["AIInspectionCriteriaEvaluationResultV1"][] | unknown;
|
|
2853
3189
|
schema_version: number;
|
|
2854
3190
|
};
|
|
3191
|
+
/** @description AI Item Information & Additional Details — per-Subject verdicts. Both surfaces render once per detected Subject, so feedback is scoped to each `ai_items[].id` rather than a single overall verdict. */
|
|
3192
|
+
AIInspectionSubjectScopedFeedbackSection: {
|
|
3193
|
+
items: components["schemas"]["AIInspectionFeedbackSubjectItem"][];
|
|
3194
|
+
};
|
|
3195
|
+
AIItemType: {
|
|
3196
|
+
additional_details_considerations: string | null;
|
|
3197
|
+
/** @description Items-to-look-for for Additional Details. Each entry carries a UUID stable across template→instance copies; items_found[*].lookfor_id references it. */
|
|
3198
|
+
additional_details_lookfor: components["schemas"]["AIItemTypeLookforEntry"][];
|
|
3199
|
+
/**
|
|
3200
|
+
* Format: date-time
|
|
3201
|
+
* @description The date/time the resource was created
|
|
3202
|
+
* @example 2020-05-01T21:44:40.000Z
|
|
3203
|
+
*/
|
|
3204
|
+
created_at: string;
|
|
3205
|
+
id: number;
|
|
3206
|
+
/** @description Set for INSTANCE rows; null for TEMPLATE rows. Template rows are associated with inspection types via the ai_item_type_inspection_types junction table. */
|
|
3207
|
+
inspection_id: number | null;
|
|
3208
|
+
name: string;
|
|
3209
|
+
organization_id: number;
|
|
3210
|
+
/** @description Informational pointer to the TEMPLATE row this INSTANCE was deep-copied from. Not a FK — survives template deletion intentionally. */
|
|
3211
|
+
source_item_type_id: number | null;
|
|
3212
|
+
/**
|
|
3213
|
+
* @description Discriminates template rows (owned by an inspection type) from instance rows (frozen copies owned by an inspection).
|
|
3214
|
+
* @enum {string}
|
|
3215
|
+
*/
|
|
3216
|
+
type: "TEMPLATE" | "INSTANCE";
|
|
3217
|
+
/**
|
|
3218
|
+
* Format: date-time
|
|
3219
|
+
* @description The date/time the resource was last updated
|
|
3220
|
+
* @example 2020-05-01T21:44:40.000Z
|
|
3221
|
+
*/
|
|
3222
|
+
updated_at: string;
|
|
3223
|
+
};
|
|
3224
|
+
AIItemTypeField: {
|
|
3225
|
+
/**
|
|
3226
|
+
* Format: date-time
|
|
3227
|
+
* @description The date/time the resource was created
|
|
3228
|
+
* @example 2020-05-01T21:44:40.000Z
|
|
3229
|
+
*/
|
|
3230
|
+
created_at: string;
|
|
3231
|
+
description: string;
|
|
3232
|
+
id: number;
|
|
3233
|
+
item_type_id: number;
|
|
3234
|
+
name: string;
|
|
3235
|
+
/** @description Populated for choose_from_options fields; empty array for open_answer. No per-option IDs — the array is replaced atomically on update. */
|
|
3236
|
+
options: components["schemas"]["AIItemTypeOption"][];
|
|
3237
|
+
/** @description Required when response_mode='choose_from_options'; null for open_answer. */
|
|
3238
|
+
options_multiple: boolean | null;
|
|
3239
|
+
position: number;
|
|
3240
|
+
/** @enum {string} */
|
|
3241
|
+
response_mode: "open_answer" | "choose_from_options";
|
|
3242
|
+
/**
|
|
3243
|
+
* Format: date-time
|
|
3244
|
+
* @description The date/time the resource was last updated
|
|
3245
|
+
* @example 2020-05-01T21:44:40.000Z
|
|
3246
|
+
*/
|
|
3247
|
+
updated_at: string;
|
|
3248
|
+
/**
|
|
3249
|
+
* @description 'missing' = warn if AI doesn't find it; 'found' = warn if AI does find it; null = no warning.
|
|
3250
|
+
* @enum {string|null}
|
|
3251
|
+
*/
|
|
3252
|
+
warn_mode: "missing" | "found" | null;
|
|
3253
|
+
};
|
|
3254
|
+
/** @description One entry in ai_item_types.additional_details_lookfor. The uuid is server-generated and preserved verbatim through template→instance copies. */
|
|
3255
|
+
AIItemTypeLookforEntry: {
|
|
3256
|
+
label: string;
|
|
3257
|
+
position: number;
|
|
3258
|
+
uuid: string;
|
|
3259
|
+
};
|
|
3260
|
+
/** @description One entry in ai_item_type_fields.options (choose_from_options fields). */
|
|
3261
|
+
AIItemTypeOption: {
|
|
3262
|
+
label: string;
|
|
3263
|
+
position: number;
|
|
3264
|
+
};
|
|
2855
3265
|
/** @description The details of the AI status for an inspection */
|
|
2856
3266
|
AIStatusDetails: {
|
|
3267
|
+
/** @description Configured AI Analysis additional details */
|
|
3268
|
+
ai_additional_details?: {
|
|
3269
|
+
/** @description AI observations responding to the configured considerations text. */
|
|
3270
|
+
considerations_observations: components["schemas"]["ConsiderationsObservationEntry"][];
|
|
3271
|
+
/** @description Configured items-to-look-for that were found, plus adjacent discoveries. lookfor_id is a UUID referencing the item type's additional_details_lookfor array; null for adjacent-discovery items. */
|
|
3272
|
+
items_found: components["schemas"]["ItemsFoundEntry"][];
|
|
3273
|
+
} | unknown;
|
|
3274
|
+
/** @description Current configured AI Analysis run state */
|
|
3275
|
+
ai_analysis_status?: components["schemas"]["AIAnalysisStatus"];
|
|
3276
|
+
/** @description Configured AI Analysis expected items and field results */
|
|
3277
|
+
ai_items?: {
|
|
3278
|
+
additional_details_attribution: number[];
|
|
3279
|
+
classification_confidence: number | null;
|
|
3280
|
+
detected_type: string;
|
|
3281
|
+
id: number;
|
|
3282
|
+
item_index: number | null;
|
|
3283
|
+
item_information: {
|
|
3284
|
+
candidate_values: components["schemas"]["CandidateValue"][];
|
|
3285
|
+
confidence: number | null;
|
|
3286
|
+
/** @enum {string} */
|
|
3287
|
+
disposition: "pass" | "warn";
|
|
3288
|
+
field_id: number;
|
|
3289
|
+
field_name: string;
|
|
3290
|
+
reasoning: string | null;
|
|
3291
|
+
sources: components["schemas"]["Source"][];
|
|
3292
|
+
status: components["schemas"]["FieldStatus"];
|
|
3293
|
+
value: string | string[] | unknown;
|
|
3294
|
+
}[];
|
|
3295
|
+
item_type_id: number | null;
|
|
3296
|
+
truepic_ids: number[];
|
|
3297
|
+
}[];
|
|
3298
|
+
/** @description Configured AI Analysis unexpected items */
|
|
3299
|
+
ai_unexpected_items?: {
|
|
3300
|
+
classification_confidence: number | null;
|
|
3301
|
+
detected_type: string;
|
|
3302
|
+
id: number;
|
|
3303
|
+
message: string | null;
|
|
3304
|
+
truepic_ids: number[];
|
|
3305
|
+
}[];
|
|
3306
|
+
/** @description AI Analysis Configuration rollup of detected items for the L1 sidebar (Contract §2.7). Present only on inspections running the new feature; mirrors entries in `ai_items[]` / `ai_unexpected_items[]` by `id`, stripped to a rollup shape. */
|
|
3307
|
+
detected_items?: {
|
|
3308
|
+
/** @description Free-text classification label (e.g. `'watch'`). */
|
|
3309
|
+
detected_type: string;
|
|
3310
|
+
/** @description Matches the corresponding `ai_items[].id` / `ai_unexpected_items[].id`. */
|
|
3311
|
+
id: number;
|
|
3312
|
+
/** @description 0-indexed position within the expected items; null for unexpected. */
|
|
3313
|
+
item_index: number | null;
|
|
3314
|
+
/**
|
|
3315
|
+
* @description Whether this is a configured (expected) item or an unexpected detection.
|
|
3316
|
+
* @enum {string}
|
|
3317
|
+
*/
|
|
3318
|
+
kind: "expected" | "unexpected";
|
|
3319
|
+
/** @description Short rollup summary for the sidebar. */
|
|
3320
|
+
summary?: string;
|
|
3321
|
+
/** @description Truepic IDs of the captures associated with this item. */
|
|
3322
|
+
truepic_ids: number[];
|
|
3323
|
+
}[];
|
|
2857
3324
|
/** @description AI analyses per-list-item */
|
|
2858
3325
|
list_items?: {
|
|
2859
3326
|
/** @description The id of the list item this AI analysis corresponds to */
|
|
@@ -2876,6 +3343,10 @@ export interface components {
|
|
|
2876
3343
|
};
|
|
2877
3344
|
/** @enum {string} */
|
|
2878
3345
|
AIStatusReason: "COMPLETE_WITH_NO_INCONSISTENCIES" | "COMPLETE_WITH_INCONSISTENCIES" | "INCOMPLETE";
|
|
3346
|
+
AISuggestedSource: {
|
|
3347
|
+
truepic_ids: number[];
|
|
3348
|
+
type: string;
|
|
3349
|
+
};
|
|
2879
3350
|
AIUserCriteriaResult: {
|
|
2880
3351
|
client_override_date?: string | null;
|
|
2881
3352
|
client_override_result?: string | null;
|
|
@@ -2891,6 +3362,46 @@ export interface components {
|
|
|
2891
3362
|
photo_id?: number;
|
|
2892
3363
|
test_key: string;
|
|
2893
3364
|
};
|
|
3365
|
+
/** @description One entry per model call in audit_json arrays on result tables. */
|
|
3366
|
+
AuditEntry: {
|
|
3367
|
+
/** @description ISO 8601 timestamp when this model call completed. */
|
|
3368
|
+
completed_at: string;
|
|
3369
|
+
/** @description Raw provider-side grounding metadata captured when a provider tool fired during this query (e.g. Gemini `google_search` / `url_context`, OpenAI `web_search`, per VISION-1850). Persisted verbatim — operators reviewing a flagged inspection need the full citation chain the provider returned, not just whatever the model summarized into the `sources[]` array. Absent when no provider tool fired. */
|
|
3370
|
+
grounding_metadata?: {
|
|
3371
|
+
[key: string]: unknown;
|
|
3372
|
+
};
|
|
3373
|
+
/** @description Discriminates this per-model-call entry from other audit_json entry shapes (e.g. `SuppressedExtractionAuditEntry`). Optional on read so rows persisted before this field existed validate; written going forward by `buildAuditFields`. Nothing branches on it today — it's a forward-looking discriminator only. */
|
|
3374
|
+
kind?: string;
|
|
3375
|
+
model_name: string;
|
|
3376
|
+
prompt_id: number;
|
|
3377
|
+
query_time_ms: number;
|
|
3378
|
+
/** @description Model's free-form reasoning text alongside its terminal tool call (VISION-2075). Gemini 3.x preview surfaces a structured chain-of-thought as `text` parts that capture observations, source evaluation, and self-checks — much richer than the one-sentence `reasoning` field the model writes into its own output, and the only audit-time record of rejected first-attempt content when a retry succeeds. Absent on queriers that don't yet populate it. */
|
|
3379
|
+
reasoning_text?: string;
|
|
3380
|
+
/** @description Provider-reported reason the model stopped generating (VISION-2023). Surfaces truncation (`max_tokens`) and policy declines (`refusal`) per step/model so observability can spot them without grepping logs. Provider-specific values: Anthropic emits `end_turn`, `tool_use`, `max_tokens`, `refusal`, `pause_turn`; OpenAI emits `completed`, `incomplete`; Gemini emits raw `STOP`, `MAX_TOKENS`, etc. Absent on queriers that don't yet populate it. */
|
|
3381
|
+
stop_reason?: string;
|
|
3382
|
+
tokens: components["schemas"]["AuditEntryTokens"];
|
|
3383
|
+
/** @description Per-tool-call audit records for any non-terminal tool invocations the model issued during this query (VISION-1965). One entry per invocation, in invocation order; shape is the tool's own `auditRecord` field from its `PipelineToolResult`. Absent / empty when the query didn't use any non-terminal tools. */
|
|
3384
|
+
tool_calls?: {
|
|
3385
|
+
[key: string]: unknown;
|
|
3386
|
+
}[];
|
|
3387
|
+
total_cost_usd: number;
|
|
3388
|
+
};
|
|
3389
|
+
AuditEntryTokens: {
|
|
3390
|
+
cached?: number;
|
|
3391
|
+
input: number;
|
|
3392
|
+
output: number;
|
|
3393
|
+
};
|
|
3394
|
+
/**
|
|
3395
|
+
* @description One entry in ai_inspection_item_field_results.candidate_values. Populated when status='conflict'; never deduplicated.
|
|
3396
|
+
*
|
|
3397
|
+
* `value` is nullable: when a field disappears across runs (found in a prior run, `not_captured` in a later one), the null candidate represents the "missing on this side" vote so the comparison UI can render both outcomes against each other. (Appearance — `not_captured` then `found` — no longer produces a conflict or candidate; see VISION-2054.)
|
|
3398
|
+
*/
|
|
3399
|
+
CandidateValue: {
|
|
3400
|
+
confidence: number;
|
|
3401
|
+
reasoning: string;
|
|
3402
|
+
sources: components["schemas"]["Source"][];
|
|
3403
|
+
value: string | string[] | unknown;
|
|
3404
|
+
};
|
|
2894
3405
|
/** @description The request body for PUT /inspections/{inspectionId}/inspection-type */
|
|
2895
3406
|
ChangeInspectionTypeBody: {
|
|
2896
3407
|
/**
|
|
@@ -2899,6 +3410,15 @@ export interface components {
|
|
|
2899
3410
|
*/
|
|
2900
3411
|
inspection_type_id: number;
|
|
2901
3412
|
};
|
|
3413
|
+
/** @description One entry in ai_inspection_item_additional_details_results.considerations_observations. */
|
|
3414
|
+
ConsiderationsObservationEntry: {
|
|
3415
|
+
confidence: number;
|
|
3416
|
+
id: number;
|
|
3417
|
+
/** @description id from ai_inspection_item_results (same event); null when attribution is ambiguous. */
|
|
3418
|
+
item_id: number | null;
|
|
3419
|
+
observation: string;
|
|
3420
|
+
sources: components["schemas"]["Source"][];
|
|
3421
|
+
};
|
|
2902
3422
|
ContentAnalysisDetails: {
|
|
2903
3423
|
/**
|
|
2904
3424
|
* @description The expected result of the content analysis test. Will be an object specifying a min and mix on the vehicle odometer for ODOMETER tests. Will be a string representing the expected VIN number on the vehicle for VIN tests. Will be a string representing the expected DOT TIN on the vehicle tire for DOT TIN tests.
|
|
@@ -3273,8 +3793,6 @@ export interface components {
|
|
|
3273
3793
|
* @enum {string}
|
|
3274
3794
|
*/
|
|
3275
3795
|
ContentAnalysisType: "ODOMETER" | "VIN" | "TEXT_MATCHING" | "CUSTOM_FIELD_MATCHING" | "DOT_TIN";
|
|
3276
|
-
CreateAIAnalysisSetProps: components["schemas"]["AIAnalysisSetPayload"];
|
|
3277
|
-
CreateAIAnalysisSetResult: components["schemas"]["SuccessfulCreationResponseData"];
|
|
3278
3796
|
/** @description The response body for POST /auth/auth0 */
|
|
3279
3797
|
CreateAPICredentialsResult: {
|
|
3280
3798
|
/**
|
|
@@ -3383,7 +3901,12 @@ export interface components {
|
|
|
3383
3901
|
* @example 3028675309
|
|
3384
3902
|
*/
|
|
3385
3903
|
customer_phone_number?: string;
|
|
3386
|
-
|
|
3904
|
+
/**
|
|
3905
|
+
* @description This must be set to `true` when including items in the `list` object.
|
|
3906
|
+
* @default false
|
|
3907
|
+
* @example false
|
|
3908
|
+
*/
|
|
3909
|
+
include_list: boolean;
|
|
3387
3910
|
/**
|
|
3388
3911
|
* @description Free-form inspection-ready criteria text. Max length 10KB.
|
|
3389
3912
|
* @example Capture all rooms and appliances.
|
|
@@ -3427,7 +3950,7 @@ export interface components {
|
|
|
3427
3950
|
/** @description The method(s) to send the inspection request to the customer completing the inspection. */
|
|
3428
3951
|
send_methods?: {
|
|
3429
3952
|
/**
|
|
3430
|
-
* @description When true, will send
|
|
3953
|
+
* @description When true, will send emails to the customer_email_address
|
|
3431
3954
|
* @example false
|
|
3432
3955
|
*/
|
|
3433
3956
|
email: boolean;
|
|
@@ -3462,7 +3985,7 @@ export interface components {
|
|
|
3462
3985
|
response_code: number;
|
|
3463
3986
|
result: components["schemas"]["SerializedInspection"];
|
|
3464
3987
|
};
|
|
3465
|
-
/** @description Request Body for POST /
|
|
3988
|
+
/** @description Request Body for POST /inspection-types */
|
|
3466
3989
|
CreateInspectionTypeBody: {
|
|
3467
3990
|
/**
|
|
3468
3991
|
* @description the id of the user who created this inspection type. References `users.id`
|
|
@@ -3523,6 +4046,20 @@ export interface components {
|
|
|
3523
4046
|
* @example 539
|
|
3524
4047
|
*/
|
|
3525
4048
|
outcome_set_id?: number;
|
|
4049
|
+
/**
|
|
4050
|
+
* @description The teams that are allowed to use this inspection type. Pass each team as an object containing its `id`. Passing an empty array removes all team associations.
|
|
4051
|
+
* @example [
|
|
4052
|
+
* {
|
|
4053
|
+
* "id": 12
|
|
4054
|
+
* },
|
|
4055
|
+
* {
|
|
4056
|
+
* "id": 24
|
|
4057
|
+
* }
|
|
4058
|
+
* ]
|
|
4059
|
+
*/
|
|
4060
|
+
teams?: {
|
|
4061
|
+
id: number;
|
|
4062
|
+
}[];
|
|
3526
4063
|
/**
|
|
3527
4064
|
* @description When true, there is only one name for the user to fill out rather than a separate first name and last name field
|
|
3528
4065
|
* @example true
|
|
@@ -3845,7 +4382,12 @@ export interface components {
|
|
|
3845
4382
|
custom_field_option_set_id?: number;
|
|
3846
4383
|
/** @description The entry method for the custom field */
|
|
3847
4384
|
entry_method: components["schemas"]["CustomFieldEntryMethods"];
|
|
3848
|
-
|
|
4385
|
+
/**
|
|
4386
|
+
* @description When true, the user must supply a value for this custom field in order to create an inspection
|
|
4387
|
+
* @default false
|
|
4388
|
+
* @example true
|
|
4389
|
+
*/
|
|
4390
|
+
is_required: boolean;
|
|
3849
4391
|
/** @description The label for the custom field */
|
|
3850
4392
|
label?: string;
|
|
3851
4393
|
};
|
|
@@ -3887,6 +4429,13 @@ export interface components {
|
|
|
3887
4429
|
issue_description: string;
|
|
3888
4430
|
related_item_ids: number[];
|
|
3889
4431
|
};
|
|
4432
|
+
/** @description A model whose response differed from the consensus value within a single extraction run. Stored in ai_inspection_item_field_results.dissenters. */
|
|
4433
|
+
Dissenter: {
|
|
4434
|
+
confidence: number | null;
|
|
4435
|
+
model_name: string;
|
|
4436
|
+
reasoning: string | null;
|
|
4437
|
+
value: string | string[] | unknown;
|
|
4438
|
+
};
|
|
3890
4439
|
/** @description An email token used for unsubscribing and resubscribing from emails */
|
|
3891
4440
|
EmailToken: {
|
|
3892
4441
|
/**
|
|
@@ -3938,6 +4487,13 @@ export interface components {
|
|
|
3938
4487
|
*/
|
|
3939
4488
|
tz: string;
|
|
3940
4489
|
};
|
|
4490
|
+
/** @description An entry in a field result's `audit_json` array: either a per-model-call record or a suppressed-rerun verdict (VISION-2126). */
|
|
4491
|
+
FieldResultAuditEntry: components["schemas"]["AuditEntry"] | components["schemas"]["SuppressedExtractionAuditEntry"];
|
|
4492
|
+
/**
|
|
4493
|
+
* @description Per-field extraction status. V1 emits exactly these three values; adding a member requires updating both this union and the model-layer Joi `.valid(...)` (`ai-inspection-item-field-results.model.ts`) and the runtime set in `ai-status-consolidator.ts`. Single source of truth for the status literal.
|
|
4494
|
+
* @enum {string}
|
|
4495
|
+
*/
|
|
4496
|
+
FieldStatus: "found" | "not_captured" | "conflict";
|
|
3941
4497
|
/** @description Request body for POST /inspections/{inspectionId}/flag-device */
|
|
3942
4498
|
FlagDeviceRequestBody: {
|
|
3943
4499
|
/** @description The comment to apply to the activity log for this flag action. */
|
|
@@ -3947,73 +4503,6 @@ export interface components {
|
|
|
3947
4503
|
/** @description The complete list of flags to apply to the device for this inspection. This will update the list of flags to match this array by adding and/or removing any existing flags. */
|
|
3948
4504
|
flags: components["schemas"]["DeviceFlagType"][];
|
|
3949
4505
|
};
|
|
3950
|
-
GetAIAnalysisSetQuestionTruepicsExamplesResult: {
|
|
3951
|
-
question: string;
|
|
3952
|
-
question_id: number;
|
|
3953
|
-
truepics: components["schemas"]["QuestionTruepicExampleItem"][];
|
|
3954
|
-
}[];
|
|
3955
|
-
GetAIAnalysisSetResult: {
|
|
3956
|
-
/**
|
|
3957
|
-
* @description The current version number of the Vision API
|
|
3958
|
-
* @example 3.0.0
|
|
3959
|
-
*/
|
|
3960
|
-
api_version: string;
|
|
3961
|
-
/**
|
|
3962
|
-
* @description The human readable-status of the response
|
|
3963
|
-
* @example Success
|
|
3964
|
-
*/
|
|
3965
|
-
message: string;
|
|
3966
|
-
/**
|
|
3967
|
-
* @description The HTTP status code of the response
|
|
3968
|
-
* @example 200
|
|
3969
|
-
*/
|
|
3970
|
-
response_code: number;
|
|
3971
|
-
result: {
|
|
3972
|
-
id: number;
|
|
3973
|
-
name?: string | null;
|
|
3974
|
-
num_evaluated_truepics: number;
|
|
3975
|
-
questions: string[];
|
|
3976
|
-
};
|
|
3977
|
-
};
|
|
3978
|
-
GetAIAnalysisSetsResult: {
|
|
3979
|
-
/**
|
|
3980
|
-
* @description The current version number of the Vision API
|
|
3981
|
-
* @example 3.0.0
|
|
3982
|
-
*/
|
|
3983
|
-
api_version: string;
|
|
3984
|
-
/**
|
|
3985
|
-
* @description The human readable-status of the response
|
|
3986
|
-
* @example Success
|
|
3987
|
-
*/
|
|
3988
|
-
message: string;
|
|
3989
|
-
/**
|
|
3990
|
-
* @description The total number of pages for the given query
|
|
3991
|
-
* @example 12
|
|
3992
|
-
*/
|
|
3993
|
-
pageCount: number;
|
|
3994
|
-
/**
|
|
3995
|
-
* @description The HTTP status code of the response
|
|
3996
|
-
* @example 200
|
|
3997
|
-
*/
|
|
3998
|
-
response_code: number;
|
|
3999
|
-
result: {
|
|
4000
|
-
created_at: string;
|
|
4001
|
-
id: number;
|
|
4002
|
-
name?: string | null;
|
|
4003
|
-
num_evaluated_truepics: number;
|
|
4004
|
-
questions: string[];
|
|
4005
|
-
}[];
|
|
4006
|
-
/**
|
|
4007
|
-
* @description The total number of results for the given page
|
|
4008
|
-
* @example 25
|
|
4009
|
-
*/
|
|
4010
|
-
total: number;
|
|
4011
|
-
/**
|
|
4012
|
-
* @description The total number of results for the given query
|
|
4013
|
-
* @example 251
|
|
4014
|
-
*/
|
|
4015
|
-
totalResults: number;
|
|
4016
|
-
};
|
|
4017
4506
|
/** @description The response body for GET /auth/auth0 */
|
|
4018
4507
|
GetAPICredentialsResult: components["schemas"]["CreateAPICredentialsResult"];
|
|
4019
4508
|
/** @description Response Body for GET /inspections/bearer */
|
|
@@ -4051,6 +4540,8 @@ export interface components {
|
|
|
4051
4540
|
* @example 40.0612708
|
|
4052
4541
|
*/
|
|
4053
4542
|
address_lng?: string;
|
|
4543
|
+
/** @description Per-inspection lock for the AI Analysis Configuration "inspection items" pipeline. Null until the first AI run resolves it from global_configs.VISION_AI_INSPECTION_ITEMS_PIPELINE_ID under FOR UPDATE; immutable thereafter so the audit chain attaches to a single pipeline even if the global config is later changed. Spec §2.7, §3.4. */
|
|
4544
|
+
ai_inspection_items_pipeline_id?: number | null;
|
|
4054
4545
|
/**
|
|
4055
4546
|
* @description The AI analysis result for this inspection.
|
|
4056
4547
|
* @example pass
|
|
@@ -4059,11 +4550,11 @@ export interface components {
|
|
|
4059
4550
|
/** @description The details of the AI status for this inspection. This may include information about the criteria evaluation, any inconsistencies detected, and more. */
|
|
4060
4551
|
ai_status_details?: components["schemas"]["AIStatusDetails"];
|
|
4061
4552
|
/**
|
|
4062
|
-
* @description
|
|
4063
|
-
* @
|
|
4553
|
+
* @description Whether the Vision app has been opened by the customer
|
|
4554
|
+
* @default false
|
|
4555
|
+
* @example true
|
|
4064
4556
|
*/
|
|
4065
|
-
|
|
4066
|
-
app_opened?: unknown;
|
|
4557
|
+
app_opened: boolean;
|
|
4067
4558
|
/**
|
|
4068
4559
|
* @description The id of the user this inspection is assigned to.
|
|
4069
4560
|
* @example 19
|
|
@@ -4185,8 +4676,18 @@ export interface components {
|
|
|
4185
4676
|
* @example 12
|
|
4186
4677
|
*/
|
|
4187
4678
|
inspection_type_id?: number;
|
|
4188
|
-
|
|
4189
|
-
|
|
4679
|
+
/**
|
|
4680
|
+
* @description Represents if the inspection has been soft-deleted
|
|
4681
|
+
* @default false
|
|
4682
|
+
* @example true
|
|
4683
|
+
*/
|
|
4684
|
+
is_deleted: boolean;
|
|
4685
|
+
/**
|
|
4686
|
+
* @description Whether the inspection has expired
|
|
4687
|
+
* @default false
|
|
4688
|
+
* @example true
|
|
4689
|
+
*/
|
|
4690
|
+
is_expired: boolean;
|
|
4190
4691
|
/**
|
|
4191
4692
|
* @description The maximum distance, in meters, from the address that the photos/videos must be taken in order to be valid
|
|
4192
4693
|
* @example 1000
|
|
@@ -4234,7 +4735,7 @@ export interface components {
|
|
|
4234
4735
|
/** @description The method(s) to send the inspection request to the customer completing the inspection. */
|
|
4235
4736
|
send_methods?: {
|
|
4236
4737
|
/**
|
|
4237
|
-
* @description When true, will send
|
|
4738
|
+
* @description When true, will send emails to the customer_email_address
|
|
4238
4739
|
* @example false
|
|
4239
4740
|
*/
|
|
4240
4741
|
email: boolean;
|
|
@@ -4473,7 +4974,12 @@ export interface components {
|
|
|
4473
4974
|
*/
|
|
4474
4975
|
inspection_id?: number;
|
|
4475
4976
|
inspection_types: components["schemas"]["InspectionType"][];
|
|
4476
|
-
|
|
4977
|
+
/**
|
|
4978
|
+
* @description Whether or not this list has been soft-deleted
|
|
4979
|
+
* @default false
|
|
4980
|
+
* @example true
|
|
4981
|
+
*/
|
|
4982
|
+
is_deleted: boolean;
|
|
4477
4983
|
items: components["schemas"]["ListItem"][];
|
|
4478
4984
|
/**
|
|
4479
4985
|
* @description The auto-generated name of the list.
|
|
@@ -4750,7 +5256,12 @@ export interface components {
|
|
|
4750
5256
|
*/
|
|
4751
5257
|
inspection_id?: number;
|
|
4752
5258
|
inspection_types: components["schemas"]["InspectionType"][];
|
|
4753
|
-
|
|
5259
|
+
/**
|
|
5260
|
+
* @description Whether or not this list has been soft-deleted
|
|
5261
|
+
* @default false
|
|
5262
|
+
* @example true
|
|
5263
|
+
*/
|
|
5264
|
+
is_deleted: boolean;
|
|
4754
5265
|
items: components["schemas"]["ListItem"][];
|
|
4755
5266
|
/**
|
|
4756
5267
|
* @description The auto-generated name of the list.
|
|
@@ -4965,7 +5476,12 @@ export interface components {
|
|
|
4965
5476
|
* @example 1843
|
|
4966
5477
|
*/
|
|
4967
5478
|
id: number;
|
|
4968
|
-
|
|
5479
|
+
/**
|
|
5480
|
+
* @description Whether multi-factor authentication is required for user login.
|
|
5481
|
+
* @default false
|
|
5482
|
+
* @example true
|
|
5483
|
+
*/
|
|
5484
|
+
is_mfa_required: boolean;
|
|
4969
5485
|
/**
|
|
4970
5486
|
* @description The name of the organization.
|
|
4971
5487
|
* @example Quality Capital
|
|
@@ -5260,7 +5776,12 @@ export interface components {
|
|
|
5260
5776
|
*/
|
|
5261
5777
|
name: string;
|
|
5262
5778
|
};
|
|
5263
|
-
|
|
5779
|
+
/**
|
|
5780
|
+
* @description Whether to include the inspection type's list by default with new inspection requests.
|
|
5781
|
+
* @default false
|
|
5782
|
+
* @example true
|
|
5783
|
+
*/
|
|
5784
|
+
include_list: boolean;
|
|
5264
5785
|
inspection_types: {
|
|
5265
5786
|
/**
|
|
5266
5787
|
* Format: date-time
|
|
@@ -5319,7 +5840,12 @@ export interface components {
|
|
|
5319
5840
|
* @example 1000
|
|
5320
5841
|
*/
|
|
5321
5842
|
is_address_required: boolean;
|
|
5322
|
-
|
|
5843
|
+
/**
|
|
5844
|
+
* @description Whether this inspection type is deleted
|
|
5845
|
+
* @default false
|
|
5846
|
+
* @example true
|
|
5847
|
+
*/
|
|
5848
|
+
is_deleted: boolean;
|
|
5323
5849
|
/**
|
|
5324
5850
|
* @description When true, the list associated with this inspection type cannot be changed
|
|
5325
5851
|
* @example false
|
|
@@ -5360,7 +5886,12 @@ export interface components {
|
|
|
5360
5886
|
*/
|
|
5361
5887
|
inspection_id?: number;
|
|
5362
5888
|
inspection_types: components["schemas"]["InspectionType"][];
|
|
5363
|
-
|
|
5889
|
+
/**
|
|
5890
|
+
* @description Whether or not this list has been soft-deleted
|
|
5891
|
+
* @default false
|
|
5892
|
+
* @example true
|
|
5893
|
+
*/
|
|
5894
|
+
is_deleted: boolean;
|
|
5364
5895
|
items: components["schemas"]["ListItem"][];
|
|
5365
5896
|
/**
|
|
5366
5897
|
* @description The auto-generated name of the list.
|
|
@@ -5459,7 +5990,12 @@ export interface components {
|
|
|
5459
5990
|
*/
|
|
5460
5991
|
use_single_name_field: boolean;
|
|
5461
5992
|
}[];
|
|
5462
|
-
|
|
5993
|
+
/**
|
|
5994
|
+
* @description Whether or not this config has been soft-deleted
|
|
5995
|
+
* @default false
|
|
5996
|
+
* @example true
|
|
5997
|
+
*/
|
|
5998
|
+
is_deleted: boolean;
|
|
5463
5999
|
/**
|
|
5464
6000
|
* @description The amount of time before an admin member's login token when switching teams expires. Any format supported by https://github.com/vercel/ms is valid.
|
|
5465
6001
|
* @default 72h
|
|
@@ -5504,7 +6040,12 @@ export interface components {
|
|
|
5504
6040
|
*/
|
|
5505
6041
|
inspection_id?: number;
|
|
5506
6042
|
inspection_types: components["schemas"]["InspectionType"][];
|
|
5507
|
-
|
|
6043
|
+
/**
|
|
6044
|
+
* @description Whether or not this list has been soft-deleted
|
|
6045
|
+
* @default false
|
|
6046
|
+
* @example true
|
|
6047
|
+
*/
|
|
6048
|
+
is_deleted: boolean;
|
|
5508
6049
|
items: components["schemas"]["ListItem"][];
|
|
5509
6050
|
/**
|
|
5510
6051
|
* @description The auto-generated name of the list.
|
|
@@ -5606,7 +6147,12 @@ export interface components {
|
|
|
5606
6147
|
* @example 2020-05-01T21:44:40.000Z
|
|
5607
6148
|
*/
|
|
5608
6149
|
updated_at: string;
|
|
5609
|
-
|
|
6150
|
+
/**
|
|
6151
|
+
* @description Whether video is enabled as a capture method in the app.
|
|
6152
|
+
* @default false
|
|
6153
|
+
* @example true
|
|
6154
|
+
*/
|
|
6155
|
+
video_enabled: boolean;
|
|
5610
6156
|
};
|
|
5611
6157
|
};
|
|
5612
6158
|
GetTeamWebhookResult: {
|
|
@@ -5979,6 +6525,8 @@ export interface components {
|
|
|
5979
6525
|
* @example 40.0612708
|
|
5980
6526
|
*/
|
|
5981
6527
|
address_lng?: string;
|
|
6528
|
+
/** @description Per-inspection lock for the AI Analysis Configuration "inspection items" pipeline. Null until the first AI run resolves it from global_configs.VISION_AI_INSPECTION_ITEMS_PIPELINE_ID under FOR UPDATE; immutable thereafter so the audit chain attaches to a single pipeline even if the global config is later changed. Spec §2.7, §3.4. */
|
|
6529
|
+
ai_inspection_items_pipeline_id: number | null;
|
|
5982
6530
|
/**
|
|
5983
6531
|
* @description The AI analysis result for this inspection.
|
|
5984
6532
|
* @example pass
|
|
@@ -5987,11 +6535,11 @@ export interface components {
|
|
|
5987
6535
|
/** @description The details of the AI status for this inspection. This may include information about the criteria evaluation, any inconsistencies detected, and more. */
|
|
5988
6536
|
ai_status_details?: components["schemas"]["AIStatusDetails"];
|
|
5989
6537
|
/**
|
|
5990
|
-
* @description
|
|
5991
|
-
* @
|
|
6538
|
+
* @description Whether the Vision app has been opened by the customer
|
|
6539
|
+
* @default false
|
|
6540
|
+
* @example true
|
|
5992
6541
|
*/
|
|
5993
|
-
|
|
5994
|
-
app_opened: unknown;
|
|
6542
|
+
app_opened: boolean;
|
|
5995
6543
|
/**
|
|
5996
6544
|
* @description The id of the user this inspection is assigned to.
|
|
5997
6545
|
* @example 19
|
|
@@ -6113,8 +6661,18 @@ export interface components {
|
|
|
6113
6661
|
* @example 12
|
|
6114
6662
|
*/
|
|
6115
6663
|
inspection_type_id: number;
|
|
6116
|
-
|
|
6117
|
-
|
|
6664
|
+
/**
|
|
6665
|
+
* @description Represents if the inspection has been soft-deleted
|
|
6666
|
+
* @default false
|
|
6667
|
+
* @example true
|
|
6668
|
+
*/
|
|
6669
|
+
is_deleted: boolean;
|
|
6670
|
+
/**
|
|
6671
|
+
* @description Whether the inspection has expired
|
|
6672
|
+
* @default false
|
|
6673
|
+
* @example true
|
|
6674
|
+
*/
|
|
6675
|
+
is_expired: boolean;
|
|
6118
6676
|
/**
|
|
6119
6677
|
* @description The maximum distance, in meters, from the address that the photos/videos must be taken in order to be valid
|
|
6120
6678
|
* @example 1000
|
|
@@ -6162,7 +6720,7 @@ export interface components {
|
|
|
6162
6720
|
/** @description The method(s) to send the inspection request to the customer completing the inspection. */
|
|
6163
6721
|
send_methods: {
|
|
6164
6722
|
/**
|
|
6165
|
-
* @description When true, will send
|
|
6723
|
+
* @description When true, will send emails to the customer_email_address
|
|
6166
6724
|
* @example false
|
|
6167
6725
|
*/
|
|
6168
6726
|
email: boolean;
|
|
@@ -6236,7 +6794,12 @@ export interface components {
|
|
|
6236
6794
|
* @example 1843
|
|
6237
6795
|
*/
|
|
6238
6796
|
id: number;
|
|
6239
|
-
|
|
6797
|
+
/**
|
|
6798
|
+
* @description Whether or not this alert has been soft-deleted
|
|
6799
|
+
* @default false
|
|
6800
|
+
* @example true
|
|
6801
|
+
*/
|
|
6802
|
+
is_deleted: boolean;
|
|
6240
6803
|
/**
|
|
6241
6804
|
* @description The id of the user that last edited the alert.
|
|
6242
6805
|
* @example 124
|
|
@@ -6252,6 +6815,12 @@ export interface components {
|
|
|
6252
6815
|
* @example 531
|
|
6253
6816
|
*/
|
|
6254
6817
|
organization_id: number;
|
|
6818
|
+
/**
|
|
6819
|
+
* @description Whether or not to surface an AI Analysis warn/fail as an alert. Opt-in: defaults to false so an org's alerting behavior does not change until it explicitly enables AI Analysis alerting.
|
|
6820
|
+
* @default false
|
|
6821
|
+
* @example false
|
|
6822
|
+
*/
|
|
6823
|
+
test_ai_analysis: boolean;
|
|
6255
6824
|
/**
|
|
6256
6825
|
* @description Whether or not to include the blurriness test in this alert.
|
|
6257
6826
|
* @example true
|
|
@@ -6339,6 +6908,12 @@ export interface components {
|
|
|
6339
6908
|
* @example true
|
|
6340
6909
|
*/
|
|
6341
6910
|
test_insecure_device: boolean;
|
|
6911
|
+
/**
|
|
6912
|
+
* @description Whether or not to surface an Inspection Readiness fail/warn as an alert. Opt-in: defaults to false so an org's alerting behavior does not change until it explicitly enables Inspection Readiness alerting.
|
|
6913
|
+
* @default false
|
|
6914
|
+
* @example false
|
|
6915
|
+
*/
|
|
6916
|
+
test_inspection_readiness: boolean;
|
|
6342
6917
|
/**
|
|
6343
6918
|
* @description Whether or not to include the object detection test in this alert.
|
|
6344
6919
|
* @default true
|
|
@@ -6488,11 +7063,6 @@ export interface components {
|
|
|
6488
7063
|
* @example false
|
|
6489
7064
|
*/
|
|
6490
7065
|
accept_existing_images?: boolean;
|
|
6491
|
-
/**
|
|
6492
|
-
* @description The id of the AI Analysis Set used for Vision AI Analysis. References `ai_analysis_sets.id`
|
|
6493
|
-
* @example 3
|
|
6494
|
-
*/
|
|
6495
|
-
ai_analysis_set_id?: number | null;
|
|
6496
7066
|
/**
|
|
6497
7067
|
* @description Limit the number of images taken for this list item. Must be positive number
|
|
6498
7068
|
* @example 11
|
|
@@ -6553,8 +7123,18 @@ export interface components {
|
|
|
6553
7123
|
id: number;
|
|
6554
7124
|
/** @description The timestamp when the list item was marked as incomplete. */
|
|
6555
7125
|
incomplete_at?: string;
|
|
6556
|
-
|
|
6557
|
-
|
|
7126
|
+
/**
|
|
7127
|
+
* @description Whether or not this item has been soft-deleted
|
|
7128
|
+
* @default false
|
|
7129
|
+
* @example true
|
|
7130
|
+
*/
|
|
7131
|
+
is_deleted: boolean;
|
|
7132
|
+
/**
|
|
7133
|
+
* @description Whether the photo/video/question is required to finish the inspection.
|
|
7134
|
+
* @default false
|
|
7135
|
+
* @example true
|
|
7136
|
+
*/
|
|
7137
|
+
is_required: boolean;
|
|
6558
7138
|
/**
|
|
6559
7139
|
* @description The id of the list that is item is associated with.
|
|
6560
7140
|
* @example 1256
|
|
@@ -6641,16 +7221,11 @@ export interface components {
|
|
|
6641
7221
|
*/
|
|
6642
7222
|
accuracy?: number;
|
|
6643
7223
|
/**
|
|
6644
|
-
* @description Whether the
|
|
7224
|
+
* @description Whether the Truepic has been archived
|
|
7225
|
+
* @default false
|
|
6645
7226
|
* @example true
|
|
6646
7227
|
*/
|
|
6647
|
-
|
|
6648
|
-
/**
|
|
6649
|
-
* @description The status of an AI analysis test on this Truepic.
|
|
6650
|
-
* @example P
|
|
6651
|
-
*/
|
|
6652
|
-
ai_analysis_status: components["schemas"]["TestResult"];
|
|
6653
|
-
archived: unknown;
|
|
7228
|
+
archived: boolean;
|
|
6654
7229
|
/**
|
|
6655
7230
|
* @description The status of a blockchain test on this Truepic.
|
|
6656
7231
|
* @example P
|
|
@@ -6754,14 +7329,29 @@ export interface components {
|
|
|
6754
7329
|
* @example Looks damaged.
|
|
6755
7330
|
*/
|
|
6756
7331
|
internal_note?: string;
|
|
6757
|
-
|
|
6758
|
-
|
|
7332
|
+
/**
|
|
7333
|
+
* @description Whether this Truepic has been deleted.
|
|
7334
|
+
* @default false
|
|
7335
|
+
* @example true
|
|
7336
|
+
*/
|
|
7337
|
+
is_deleted: boolean;
|
|
7338
|
+
/**
|
|
7339
|
+
* @description Whether the device that captured the Truepic is rooted
|
|
7340
|
+
* @default false
|
|
7341
|
+
* @example true
|
|
7342
|
+
*/
|
|
7343
|
+
is_rooted: boolean;
|
|
6759
7344
|
/**
|
|
6760
7345
|
* @description The GPS latitude where the photo/video was taken.
|
|
6761
7346
|
* @example 33.5565051716316
|
|
6762
7347
|
*/
|
|
6763
7348
|
lat: string;
|
|
6764
|
-
|
|
7349
|
+
/**
|
|
7350
|
+
* @description Whether the transfer from Lens is complete for this Truepic.
|
|
7351
|
+
* @default false
|
|
7352
|
+
* @example true
|
|
7353
|
+
*/
|
|
7354
|
+
lens_transfer_done: boolean;
|
|
6765
7355
|
/** @description The list item this photo/video was captured for, if any. */
|
|
6766
7356
|
list_item?: {
|
|
6767
7357
|
/**
|
|
@@ -6786,9 +7376,19 @@ export interface components {
|
|
|
6786
7376
|
* @description The id of the resource.
|
|
6787
7377
|
* @example 1843
|
|
6788
7378
|
*/
|
|
6789
|
-
id: number;
|
|
6790
|
-
|
|
6791
|
-
|
|
7379
|
+
id: number;
|
|
7380
|
+
/**
|
|
7381
|
+
* @description Whether or not this item has been soft-deleted
|
|
7382
|
+
* @default false
|
|
7383
|
+
* @example true
|
|
7384
|
+
*/
|
|
7385
|
+
is_deleted: boolean;
|
|
7386
|
+
/**
|
|
7387
|
+
* @description Whether the photo/video/question is required to finish the inspection.
|
|
7388
|
+
* @default false
|
|
7389
|
+
* @example true
|
|
7390
|
+
*/
|
|
7391
|
+
is_required: boolean;
|
|
6792
7392
|
/**
|
|
6793
7393
|
* @description A description of the requested photo or video when `type` is `IMAGE`, `PHOTO`, or `VIDEO`. A question for the customer to answer when `type` is `QUESTION`. The customer will see this value in the Vision app during the inspection.
|
|
6794
7394
|
* @example Front of car
|
|
@@ -6885,7 +7485,12 @@ export interface components {
|
|
|
6885
7485
|
* @example 11.4.1
|
|
6886
7486
|
*/
|
|
6887
7487
|
os?: string;
|
|
6888
|
-
|
|
7488
|
+
/**
|
|
7489
|
+
* @description Whether the Truepic is still uploading
|
|
7490
|
+
* @default false
|
|
7491
|
+
* @example true
|
|
7492
|
+
*/
|
|
7493
|
+
pending_upload: boolean;
|
|
6889
7494
|
/**
|
|
6890
7495
|
* @description The photo list id this Truepic is a part of
|
|
6891
7496
|
* @example 5678
|
|
@@ -6932,7 +7537,12 @@ export interface components {
|
|
|
6932
7537
|
* @example CA
|
|
6933
7538
|
*/
|
|
6934
7539
|
state?: string;
|
|
6935
|
-
|
|
7540
|
+
/**
|
|
7541
|
+
* @description Whether the status for this Truepic has been overridden
|
|
7542
|
+
* @default false
|
|
7543
|
+
* @example true
|
|
7544
|
+
*/
|
|
7545
|
+
status_overridden: boolean;
|
|
6936
7546
|
/**
|
|
6937
7547
|
* @description The timestamp of the capture of the Truepic
|
|
6938
7548
|
* @example 2018-08-07 13:16:15
|
|
@@ -7003,7 +7613,12 @@ export interface components {
|
|
|
7003
7613
|
* @example 1000
|
|
7004
7614
|
*/
|
|
7005
7615
|
is_address_required: boolean;
|
|
7006
|
-
|
|
7616
|
+
/**
|
|
7617
|
+
* @description Whether this inspection type is deleted
|
|
7618
|
+
* @default false
|
|
7619
|
+
* @example true
|
|
7620
|
+
*/
|
|
7621
|
+
is_deleted: boolean;
|
|
7007
7622
|
/**
|
|
7008
7623
|
* @description When true, the list associated with this inspection type cannot be changed
|
|
7009
7624
|
* @example false
|
|
@@ -7147,6 +7762,18 @@ export interface components {
|
|
|
7147
7762
|
*/
|
|
7148
7763
|
use_single_name_field: boolean;
|
|
7149
7764
|
};
|
|
7765
|
+
/** @description One entry in ai_inspection_item_additional_details_results.items_found. */
|
|
7766
|
+
ItemsFoundEntry: {
|
|
7767
|
+
confidence: number;
|
|
7768
|
+
id: number;
|
|
7769
|
+
/** @description id from ai_inspection_item_results (same event); null when attribution is ambiguous. */
|
|
7770
|
+
item_id: number | null;
|
|
7771
|
+
label: string;
|
|
7772
|
+
/** @description UUID from the matching ai_item_types.additional_details_lookfor entry (INSTANCE row). null for adjacent-discovery items the AI surfaced without a configured match. */
|
|
7773
|
+
lookfor_id: string | null;
|
|
7774
|
+
observation: string;
|
|
7775
|
+
sources: components["schemas"]["Source"][];
|
|
7776
|
+
};
|
|
7150
7777
|
LandingPageContentSerialized: {
|
|
7151
7778
|
assets: {
|
|
7152
7779
|
[key: string]: string;
|
|
@@ -7301,11 +7928,6 @@ export interface components {
|
|
|
7301
7928
|
* @example false
|
|
7302
7929
|
*/
|
|
7303
7930
|
accept_existing_images?: boolean;
|
|
7304
|
-
/**
|
|
7305
|
-
* @description The id of the AI Analysis Set used for Vision AI Analysis. References `ai_analysis_sets.id`
|
|
7306
|
-
* @example 3
|
|
7307
|
-
*/
|
|
7308
|
-
ai_analysis_set_id?: number | null;
|
|
7309
7931
|
/**
|
|
7310
7932
|
* @description Limit the number of images taken for this list item. Must be positive number
|
|
7311
7933
|
* @example 11
|
|
@@ -7367,8 +7989,18 @@ export interface components {
|
|
|
7367
7989
|
id: number;
|
|
7368
7990
|
/** @description The timestamp when the list item was marked as incomplete. */
|
|
7369
7991
|
incomplete_at?: string;
|
|
7370
|
-
|
|
7371
|
-
|
|
7992
|
+
/**
|
|
7993
|
+
* @description Whether or not this item has been soft-deleted
|
|
7994
|
+
* @default false
|
|
7995
|
+
* @example true
|
|
7996
|
+
*/
|
|
7997
|
+
is_deleted: boolean;
|
|
7998
|
+
/**
|
|
7999
|
+
* @description Whether the photo/video/question is required to finish the inspection.
|
|
8000
|
+
* @default false
|
|
8001
|
+
* @example true
|
|
8002
|
+
*/
|
|
8003
|
+
is_required: boolean;
|
|
7372
8004
|
/**
|
|
7373
8005
|
* @description The id of the list that is item is associated with.
|
|
7374
8006
|
* @example 1256
|
|
@@ -7484,11 +8116,6 @@ export interface components {
|
|
|
7484
8116
|
* @example false
|
|
7485
8117
|
*/
|
|
7486
8118
|
accept_existing_images?: boolean;
|
|
7487
|
-
/**
|
|
7488
|
-
* @description The id of the AI Analysis Set used for Vision AI Analysis. References `ai_analysis_sets.id`
|
|
7489
|
-
* @example 3
|
|
7490
|
-
*/
|
|
7491
|
-
ai_analysis_set_id?: number | null;
|
|
7492
8119
|
/**
|
|
7493
8120
|
* @description Limit the number of images taken for this list item. Must be positive number
|
|
7494
8121
|
* @example 11
|
|
@@ -7539,7 +8166,12 @@ export interface components {
|
|
|
7539
8166
|
* @example true
|
|
7540
8167
|
*/
|
|
7541
8168
|
incomplete?: boolean;
|
|
7542
|
-
|
|
8169
|
+
/**
|
|
8170
|
+
* @description Whether the photo/video/question is required to finish the inspection.
|
|
8171
|
+
* @default false
|
|
8172
|
+
* @example true
|
|
8173
|
+
*/
|
|
8174
|
+
is_required: boolean;
|
|
7543
8175
|
/**
|
|
7544
8176
|
* @description A description of the requested photo or video when `type` is `IMAGE`, `PHOTO`, or `VIDEO`. A question for the customer to answer when `type` is `QUESTION`. The customer will see this value in the Vision app during the inspection.
|
|
7545
8177
|
* @example Front of car
|
|
@@ -7655,7 +8287,12 @@ export interface components {
|
|
|
7655
8287
|
* @example Inspection Finished for {{OrganizationFirstName}}
|
|
7656
8288
|
*/
|
|
7657
8289
|
inspection_finished_subject: string;
|
|
7658
|
-
|
|
8290
|
+
/**
|
|
8291
|
+
* @description Whether or not this message template set has been soft-deleted
|
|
8292
|
+
* @default false
|
|
8293
|
+
* @example true
|
|
8294
|
+
*/
|
|
8295
|
+
is_deleted: boolean;
|
|
7659
8296
|
/**
|
|
7660
8297
|
* @description The name of the message template set
|
|
7661
8298
|
* @example Default Set
|
|
@@ -7931,8 +8568,18 @@ export interface components {
|
|
|
7931
8568
|
* @example 1843
|
|
7932
8569
|
*/
|
|
7933
8570
|
id: number;
|
|
7934
|
-
|
|
7935
|
-
|
|
8571
|
+
/**
|
|
8572
|
+
* @description Whether or not this organization has been soft-deleted.
|
|
8573
|
+
* @default false
|
|
8574
|
+
* @example true
|
|
8575
|
+
*/
|
|
8576
|
+
is_deleted: boolean;
|
|
8577
|
+
/**
|
|
8578
|
+
* @description Whether multi-factor authentication is required for user login.
|
|
8579
|
+
* @default false
|
|
8580
|
+
* @example true
|
|
8581
|
+
*/
|
|
8582
|
+
is_mfa_required: boolean;
|
|
7936
8583
|
/**
|
|
7937
8584
|
* @description The name of the organization.
|
|
7938
8585
|
* @example Quality Capital
|
|
@@ -8001,7 +8648,7 @@ export interface components {
|
|
|
8001
8648
|
updated_by_user_id: number | null;
|
|
8002
8649
|
};
|
|
8003
8650
|
/** @enum {string} */
|
|
8004
|
-
OrganizationEnabledFeatureType: "ai_analysis" | "ask_for_app_review" | "inspection_device_insights" | "device_details" | "risk_network" | "external_risk_network" | "content_analysis_odometer" | "content_analysis_text_matching" | "content_analysis_vin" | "content_analysis_dot_tin" | "object_detection_auto" | "object_detection_jewelry" | "object_detection_real_estate" | "landing_pages" | "
|
|
8651
|
+
OrganizationEnabledFeatureType: "ai_analysis" | "ask_for_app_review" | "inspection_device_insights" | "device_details" | "risk_network" | "external_risk_network" | "content_analysis_odometer" | "content_analysis_text_matching" | "content_analysis_vin" | "content_analysis_dot_tin" | "object_detection_auto" | "object_detection_jewelry" | "object_detection_real_estate" | "landing_pages" | "inspection_readiness" | "dashboard_user_feedback_forms" | "member_homepage" | "reuse_detection" | "restrict_members_to_inspection_details" | "ai_analysis_configuration" | "guided_capture";
|
|
8005
8652
|
/** @description A possible outcome for an inspection */
|
|
8006
8653
|
Outcome: {
|
|
8007
8654
|
/**
|
|
@@ -8020,7 +8667,12 @@ export interface components {
|
|
|
8020
8667
|
* @example 1843
|
|
8021
8668
|
*/
|
|
8022
8669
|
id: number;
|
|
8023
|
-
|
|
8670
|
+
/**
|
|
8671
|
+
* @description Whether or not this outcome set has been soft-deleted
|
|
8672
|
+
* @default false
|
|
8673
|
+
* @example true
|
|
8674
|
+
*/
|
|
8675
|
+
is_deleted: boolean;
|
|
8024
8676
|
/**
|
|
8025
8677
|
* @description The id of the user that last edited this outcome set.
|
|
8026
8678
|
* @example 542
|
|
@@ -8061,7 +8713,12 @@ export interface components {
|
|
|
8061
8713
|
* @example 1843
|
|
8062
8714
|
*/
|
|
8063
8715
|
id: number;
|
|
8064
|
-
|
|
8716
|
+
/**
|
|
8717
|
+
* @description Whether or not this outcome set has been soft-deleted
|
|
8718
|
+
* @default false
|
|
8719
|
+
* @example true
|
|
8720
|
+
*/
|
|
8721
|
+
is_deleted: boolean;
|
|
8065
8722
|
/**
|
|
8066
8723
|
* @description The id of the user that last edited this outcome set.
|
|
8067
8724
|
* @example 542
|
|
@@ -8152,6 +8809,55 @@ export interface components {
|
|
|
8152
8809
|
PaginationSorting: {
|
|
8153
8810
|
[key: string]: "asc" | "desc";
|
|
8154
8811
|
};
|
|
8812
|
+
PhotoDetectedSource: {
|
|
8813
|
+
tag: string;
|
|
8814
|
+
truepic_ids: number[];
|
|
8815
|
+
type: string;
|
|
8816
|
+
};
|
|
8817
|
+
PhotoTextSource: {
|
|
8818
|
+
string: string;
|
|
8819
|
+
truepic_ids: number[];
|
|
8820
|
+
type: string;
|
|
8821
|
+
};
|
|
8822
|
+
/** @description Attached by `inspection-ai-items-populator` (via `InspectionPopulator` when constructed with `includeAIItems: true`). Holds the result snapshot from the latest *completed* extraction event, the derived analysis status, and the inspection's frozen AI Item Type schema. Optional fields on `PopulatedInspection` because they're only present on the inspection-detail code path. */
|
|
8823
|
+
PopulatedAIInspectionItem: {
|
|
8824
|
+
/** @description Per-model call audit data from the classification step. */
|
|
8825
|
+
classification_audit_json: components["schemas"]["AuditEntry"][] | unknown;
|
|
8826
|
+
/** @description 0..1 classifier confidence for this item identification. */
|
|
8827
|
+
classification_confidence: number | null;
|
|
8828
|
+
/**
|
|
8829
|
+
* Format: date-time
|
|
8830
|
+
* @description The date/time the resource was created
|
|
8831
|
+
* @example 2020-05-01T21:44:40.000Z
|
|
8832
|
+
*/
|
|
8833
|
+
created_at: string;
|
|
8834
|
+
detected_type: string;
|
|
8835
|
+
fields: components["schemas"]["AIInspectionItemFieldResult"][];
|
|
8836
|
+
id: number;
|
|
8837
|
+
inspection_id: number;
|
|
8838
|
+
/** @description 0-indexed position within the set of EXPECTED items for this event. */
|
|
8839
|
+
item_index: number | null;
|
|
8840
|
+
/** @description FK to ai_item_types.id (INSTANCE row); null for UNEXPECTED items. */
|
|
8841
|
+
item_type_id: number | null;
|
|
8842
|
+
/** @enum {string} */
|
|
8843
|
+
kind: "EXPECTED" | "UNEXPECTED";
|
|
8844
|
+
/** @description Populated for UNEXPECTED items; null for EXPECTED. */
|
|
8845
|
+
message: string | null;
|
|
8846
|
+
/** @description FK to ai_extraction_events.id — the run that produced this row. */
|
|
8847
|
+
triggering_event_id?: number;
|
|
8848
|
+
/** @description Truepic IDs of all captures the classifier associated with this item. */
|
|
8849
|
+
truepic_ids: number[];
|
|
8850
|
+
/**
|
|
8851
|
+
* Format: date-time
|
|
8852
|
+
* @description The date/time the resource was last updated
|
|
8853
|
+
* @example 2020-05-01T21:44:40.000Z
|
|
8854
|
+
*/
|
|
8855
|
+
updated_at: string;
|
|
8856
|
+
};
|
|
8857
|
+
PopulatedAIItemTypeInstance: {
|
|
8858
|
+
fields: components["schemas"]["AIItemTypeField"][];
|
|
8859
|
+
itemType: components["schemas"]["AIItemType"];
|
|
8860
|
+
};
|
|
8155
8861
|
PopulatedCustomField: {
|
|
8156
8862
|
/** @description The id of the custom field option set used by this custom field when the entry method is ENTRY_METHOD_SELECTABLE */
|
|
8157
8863
|
custom_field_option_set_id?: number;
|
|
@@ -8167,7 +8873,12 @@ export interface components {
|
|
|
8167
8873
|
custom_field_options?: components["schemas"]["CustomFieldOption"][];
|
|
8168
8874
|
/** @description The entry method for the custom field */
|
|
8169
8875
|
entry_method: components["schemas"]["CustomFieldEntryMethods"];
|
|
8170
|
-
|
|
8876
|
+
/**
|
|
8877
|
+
* @description When true, the user must supply a value for this custom field in order to create an inspection
|
|
8878
|
+
* @default false
|
|
8879
|
+
* @example true
|
|
8880
|
+
*/
|
|
8881
|
+
is_required: boolean;
|
|
8171
8882
|
/** @description The label for the custom field */
|
|
8172
8883
|
label?: string;
|
|
8173
8884
|
};
|
|
@@ -8200,7 +8911,12 @@ export interface components {
|
|
|
8200
8911
|
*/
|
|
8201
8912
|
name: string;
|
|
8202
8913
|
}[];
|
|
8203
|
-
|
|
8914
|
+
/**
|
|
8915
|
+
* @description Whether or not this custom field option set has been soft-deleted
|
|
8916
|
+
* @default false
|
|
8917
|
+
* @example true
|
|
8918
|
+
*/
|
|
8919
|
+
is_deleted: boolean;
|
|
8204
8920
|
/**
|
|
8205
8921
|
* @description The id of the user that last edited this custom field option set.
|
|
8206
8922
|
* @example 542
|
|
@@ -8456,7 +9172,12 @@ export interface components {
|
|
|
8456
9172
|
* @example 1843
|
|
8457
9173
|
*/
|
|
8458
9174
|
id: number;
|
|
8459
|
-
|
|
9175
|
+
/**
|
|
9176
|
+
* @description Whether to include the inspection type's list by default with new inspection requests.
|
|
9177
|
+
* @default false
|
|
9178
|
+
* @example true
|
|
9179
|
+
*/
|
|
9180
|
+
include_list: boolean;
|
|
8460
9181
|
inspection_types: {
|
|
8461
9182
|
/**
|
|
8462
9183
|
* Format: date-time
|
|
@@ -8515,7 +9236,12 @@ export interface components {
|
|
|
8515
9236
|
* @example 1000
|
|
8516
9237
|
*/
|
|
8517
9238
|
is_address_required: boolean;
|
|
8518
|
-
|
|
9239
|
+
/**
|
|
9240
|
+
* @description Whether this inspection type is deleted
|
|
9241
|
+
* @default false
|
|
9242
|
+
* @example true
|
|
9243
|
+
*/
|
|
9244
|
+
is_deleted: boolean;
|
|
8519
9245
|
/**
|
|
8520
9246
|
* @description When true, the list associated with this inspection type cannot be changed
|
|
8521
9247
|
* @example false
|
|
@@ -8556,7 +9282,12 @@ export interface components {
|
|
|
8556
9282
|
*/
|
|
8557
9283
|
inspection_id?: number;
|
|
8558
9284
|
inspection_types: components["schemas"]["InspectionType"][];
|
|
8559
|
-
|
|
9285
|
+
/**
|
|
9286
|
+
* @description Whether or not this list has been soft-deleted
|
|
9287
|
+
* @default false
|
|
9288
|
+
* @example true
|
|
9289
|
+
*/
|
|
9290
|
+
is_deleted: boolean;
|
|
8560
9291
|
items: components["schemas"]["ListItem"][];
|
|
8561
9292
|
/**
|
|
8562
9293
|
* @description The auto-generated name of the list.
|
|
@@ -8655,7 +9386,12 @@ export interface components {
|
|
|
8655
9386
|
*/
|
|
8656
9387
|
use_single_name_field: boolean;
|
|
8657
9388
|
}[];
|
|
8658
|
-
|
|
9389
|
+
/**
|
|
9390
|
+
* @description Whether or not this config has been soft-deleted
|
|
9391
|
+
* @default false
|
|
9392
|
+
* @example true
|
|
9393
|
+
*/
|
|
9394
|
+
is_deleted: boolean;
|
|
8659
9395
|
/**
|
|
8660
9396
|
* @description The amount of time before an admin member's login token when switching teams expires. Any format supported by https://github.com/vercel/ms is valid.
|
|
8661
9397
|
* @default 72h
|
|
@@ -8700,7 +9436,12 @@ export interface components {
|
|
|
8700
9436
|
*/
|
|
8701
9437
|
inspection_id?: number;
|
|
8702
9438
|
inspection_types: components["schemas"]["InspectionType"][];
|
|
8703
|
-
|
|
9439
|
+
/**
|
|
9440
|
+
* @description Whether or not this list has been soft-deleted
|
|
9441
|
+
* @default false
|
|
9442
|
+
* @example true
|
|
9443
|
+
*/
|
|
9444
|
+
is_deleted: boolean;
|
|
8704
9445
|
items: components["schemas"]["ListItem"][];
|
|
8705
9446
|
/**
|
|
8706
9447
|
* @description The auto-generated name of the list.
|
|
@@ -8802,7 +9543,12 @@ export interface components {
|
|
|
8802
9543
|
* @example 2020-05-01T21:44:40.000Z
|
|
8803
9544
|
*/
|
|
8804
9545
|
updated_at: string;
|
|
8805
|
-
|
|
9546
|
+
/**
|
|
9547
|
+
* @description Whether video is enabled as a capture method in the app.
|
|
9548
|
+
* @default false
|
|
9549
|
+
* @example true
|
|
9550
|
+
*/
|
|
9551
|
+
video_enabled: boolean;
|
|
8806
9552
|
};
|
|
8807
9553
|
PopulatedTextMatchingSet: {
|
|
8808
9554
|
can_delete: boolean;
|
|
@@ -8822,7 +9568,12 @@ export interface components {
|
|
|
8822
9568
|
* @example 1843
|
|
8823
9569
|
*/
|
|
8824
9570
|
id: number;
|
|
8825
|
-
|
|
9571
|
+
/**
|
|
9572
|
+
* @description Whether or not this text matching set has been soft-deleted
|
|
9573
|
+
* @default false
|
|
9574
|
+
* @example true
|
|
9575
|
+
*/
|
|
9576
|
+
is_deleted: boolean;
|
|
8826
9577
|
lists: {
|
|
8827
9578
|
id: number;
|
|
8828
9579
|
name: string;
|
|
@@ -8917,14 +9668,6 @@ export interface components {
|
|
|
8917
9668
|
/** @description The identifier for the user */
|
|
8918
9669
|
user_id: string;
|
|
8919
9670
|
};
|
|
8920
|
-
QuestionTruepicExampleItem: {
|
|
8921
|
-
accepted: boolean;
|
|
8922
|
-
confidence?: number | null;
|
|
8923
|
-
consensus?: boolean | null;
|
|
8924
|
-
reason: string | null;
|
|
8925
|
-
truepic_id: number;
|
|
8926
|
-
url: string;
|
|
8927
|
-
};
|
|
8928
9671
|
RecordWebsiteFormBearerActivityBody: {
|
|
8929
9672
|
activity: string;
|
|
8930
9673
|
data?: Record<string, never>;
|
|
@@ -8995,7 +9738,12 @@ export interface components {
|
|
|
8995
9738
|
};
|
|
8996
9739
|
/** @description The request body for PUT /text/request */
|
|
8997
9740
|
SendRequestMoreTextBody: {
|
|
8998
|
-
|
|
9741
|
+
/**
|
|
9742
|
+
* @description Set to true when sending list items in the `list` property.
|
|
9743
|
+
* @default false
|
|
9744
|
+
* @example true
|
|
9745
|
+
*/
|
|
9746
|
+
include_list: boolean;
|
|
8999
9747
|
/**
|
|
9000
9748
|
* @description The id of the inspection
|
|
9001
9749
|
* @example 123
|
|
@@ -9080,7 +9828,16 @@ export interface components {
|
|
|
9080
9828
|
name: string;
|
|
9081
9829
|
};
|
|
9082
9830
|
SerializedInspection: {
|
|
9831
|
+
ai_analysis_status?: components["schemas"]["AIAnalysisStatus"];
|
|
9832
|
+
ai_inspection_additional_details?: components["schemas"]["AIInspectionItemAdditionalDetailsResult"] | unknown;
|
|
9833
|
+
/** @description The reviewing member user's latest consolidated verdict feedback (all surfaces), surfaced on GET /inspections/{id}. Null when no feedback has been submitted. */
|
|
9834
|
+
ai_inspection_feedback?: components["schemas"]["AIInspectionFeedback"] | unknown;
|
|
9835
|
+
/** @description Populated by `inspection-ai-items-populator` only — present when the populator was constructed with `includeAIItems: true`. */
|
|
9836
|
+
ai_inspection_items?: components["schemas"]["PopulatedAIInspectionItem"][];
|
|
9837
|
+
/** @description Per-inspection lock for the AI Analysis Configuration "inspection items" pipeline. Null until the first AI run resolves it from global_configs.VISION_AI_INSPECTION_ITEMS_PIPELINE_ID under FOR UPDATE; immutable thereafter so the audit chain attaches to a single pipeline even if the global config is later changed. Spec §2.7, §3.4. */
|
|
9838
|
+
ai_inspection_items_pipeline_id: number | null;
|
|
9083
9839
|
ai_inspection_ready_result?: components["schemas"]["AIInspectionReadyResult"] | unknown;
|
|
9840
|
+
ai_item_type_instances?: components["schemas"]["PopulatedAIItemTypeInstance"][];
|
|
9084
9841
|
/**
|
|
9085
9842
|
* @description The AI analysis result for this inspection.
|
|
9086
9843
|
* @example pass
|
|
@@ -9088,14 +9845,14 @@ export interface components {
|
|
|
9088
9845
|
ai_status?: components["schemas"]["VerificationResult"];
|
|
9089
9846
|
/** @description The details of the AI status for this inspection. This may include information about the criteria evaluation, any inconsistencies detected, and more. */
|
|
9090
9847
|
ai_status_details?: components["schemas"]["AIStatusDetails"];
|
|
9091
|
-
/**
|
|
9092
|
-
* @description The reason for the AI analysis result for this inspection.
|
|
9093
|
-
* @example COMPLETE_WITH_NO_INCONSISTENCIES
|
|
9094
|
-
*/
|
|
9095
|
-
ai_status_reason?: components["schemas"]["AIStatusReason"];
|
|
9096
9848
|
ai_user_criteria_result?: components["schemas"]["AIUserCriteriaResult"] | unknown;
|
|
9097
9849
|
alert: components["schemas"]["InspectionAlertResult"];
|
|
9098
|
-
|
|
9850
|
+
/**
|
|
9851
|
+
* @description Whether the Vision app has been opened by the customer
|
|
9852
|
+
* @default false
|
|
9853
|
+
* @example true
|
|
9854
|
+
*/
|
|
9855
|
+
app_opened: boolean;
|
|
9099
9856
|
assigned_to_member_user: components["schemas"]["User"];
|
|
9100
9857
|
/**
|
|
9101
9858
|
* @description The id of the user this inspection is assigned to.
|
|
@@ -9288,7 +10045,12 @@ export interface components {
|
|
|
9288
10045
|
* @example 1000
|
|
9289
10046
|
*/
|
|
9290
10047
|
is_address_required: boolean;
|
|
9291
|
-
|
|
10048
|
+
/**
|
|
10049
|
+
* @description Whether this inspection type is deleted
|
|
10050
|
+
* @default false
|
|
10051
|
+
* @example true
|
|
10052
|
+
*/
|
|
10053
|
+
is_deleted: boolean;
|
|
9292
10054
|
/**
|
|
9293
10055
|
* @description When true, the list associated with this inspection type cannot be changed
|
|
9294
10056
|
* @example false
|
|
@@ -9329,7 +10091,12 @@ export interface components {
|
|
|
9329
10091
|
*/
|
|
9330
10092
|
inspection_id?: number;
|
|
9331
10093
|
inspection_types: components["schemas"]["InspectionType"][];
|
|
9332
|
-
|
|
10094
|
+
/**
|
|
10095
|
+
* @description Whether or not this list has been soft-deleted
|
|
10096
|
+
* @default false
|
|
10097
|
+
* @example true
|
|
10098
|
+
*/
|
|
10099
|
+
is_deleted: boolean;
|
|
9333
10100
|
items: components["schemas"]["ListItem"][];
|
|
9334
10101
|
/**
|
|
9335
10102
|
* @description The auto-generated name of the list.
|
|
@@ -9433,8 +10200,18 @@ export interface components {
|
|
|
9433
10200
|
* @example 12
|
|
9434
10201
|
*/
|
|
9435
10202
|
inspection_type_id: number;
|
|
9436
|
-
|
|
9437
|
-
|
|
10203
|
+
/**
|
|
10204
|
+
* @description Represents if the inspection has been soft-deleted
|
|
10205
|
+
* @default false
|
|
10206
|
+
* @example true
|
|
10207
|
+
*/
|
|
10208
|
+
is_deleted: boolean;
|
|
10209
|
+
/**
|
|
10210
|
+
* @description Whether the inspection has expired
|
|
10211
|
+
* @default false
|
|
10212
|
+
* @example true
|
|
10213
|
+
*/
|
|
10214
|
+
is_expired: boolean;
|
|
9438
10215
|
list: {
|
|
9439
10216
|
/**
|
|
9440
10217
|
* @description The groups of items in the list
|
|
@@ -9511,7 +10288,7 @@ export interface components {
|
|
|
9511
10288
|
/** @description The method(s) to send the inspection request to the customer completing the inspection. */
|
|
9512
10289
|
send_methods: {
|
|
9513
10290
|
/**
|
|
9514
|
-
* @description When true, will send
|
|
10291
|
+
* @description When true, will send emails to the customer_email_address
|
|
9515
10292
|
* @example false
|
|
9516
10293
|
*/
|
|
9517
10294
|
email: boolean;
|
|
@@ -9627,7 +10404,12 @@ export interface components {
|
|
|
9627
10404
|
* @example 4335
|
|
9628
10405
|
*/
|
|
9629
10406
|
inspection_id: number;
|
|
9630
|
-
|
|
10407
|
+
/**
|
|
10408
|
+
* @description Whether or not this action has been soft-deleted
|
|
10409
|
+
* @default false
|
|
10410
|
+
* @example true
|
|
10411
|
+
*/
|
|
10412
|
+
is_deleted: boolean;
|
|
9631
10413
|
location: components["schemas"]["PopulatedLocation"];
|
|
9632
10414
|
/**
|
|
9633
10415
|
* @description The id of the location record
|
|
@@ -9744,7 +10526,12 @@ export interface components {
|
|
|
9744
10526
|
* @example 1843
|
|
9745
10527
|
*/
|
|
9746
10528
|
id: number;
|
|
9747
|
-
|
|
10529
|
+
/**
|
|
10530
|
+
* @description Whether multi-factor authentication is required for user login.
|
|
10531
|
+
* @default false
|
|
10532
|
+
* @example true
|
|
10533
|
+
*/
|
|
10534
|
+
is_mfa_required: boolean;
|
|
9748
10535
|
/**
|
|
9749
10536
|
* @description The name of the organization.
|
|
9750
10537
|
* @example Quality Capital
|
|
@@ -9799,6 +10586,7 @@ export interface components {
|
|
|
9799
10586
|
name?: string;
|
|
9800
10587
|
}[];
|
|
9801
10588
|
};
|
|
10589
|
+
Source: components["schemas"]["PhotoTextSource"] | components["schemas"]["PhotoDetectedSource"] | components["schemas"]["AISuggestedSource"] | components["schemas"]["OrganizationStatedSource"] | components["schemas"]["WebLookupSource"];
|
|
9802
10590
|
SubmitItemDetailsToolCallParams: {
|
|
9803
10591
|
auditor_notes: string;
|
|
9804
10592
|
criteria_results: {
|
|
@@ -9846,6 +10634,16 @@ export interface components {
|
|
|
9846
10634
|
*/
|
|
9847
10635
|
response_code: number;
|
|
9848
10636
|
};
|
|
10637
|
+
/** @description Records a rerun verdict that was suppressed in favor of the prior value (VISION-2126). When an `open_answer` field re-runs without genuinely-new evidence, the persisted columns keep the prior value, but the verdict the rerun actually produced is preserved here in the field's `audit_json` so the suppressed answer (and its dissent) isn't lost. The `dissenters` that belong to this rerun live on this entry rather than on the row, keeping the row's own `dissenters` aligned with its (prior) value. */
|
|
10638
|
+
SuppressedExtractionAuditEntry: {
|
|
10639
|
+
confidence: number | null;
|
|
10640
|
+
dissenters: components["schemas"]["Dissenter"][];
|
|
10641
|
+
kind: string;
|
|
10642
|
+
reasoning: string | null;
|
|
10643
|
+
sources: components["schemas"]["Source"][];
|
|
10644
|
+
status: components["schemas"]["FieldStatus"];
|
|
10645
|
+
value: string | string[] | unknown;
|
|
10646
|
+
};
|
|
9849
10647
|
/** @description A Team that exists under an organization in Vision that sends out inspection requests */
|
|
9850
10648
|
Team: {
|
|
9851
10649
|
/**
|
|
@@ -9956,8 +10754,18 @@ export interface components {
|
|
|
9956
10754
|
* @example 1843
|
|
9957
10755
|
*/
|
|
9958
10756
|
id: number;
|
|
9959
|
-
|
|
9960
|
-
|
|
10757
|
+
/**
|
|
10758
|
+
* @description Whether to include the inspection type's list by default with new inspection requests.
|
|
10759
|
+
* @default false
|
|
10760
|
+
* @example true
|
|
10761
|
+
*/
|
|
10762
|
+
include_list: boolean;
|
|
10763
|
+
/**
|
|
10764
|
+
* @description Whether or not this config has been soft-deleted
|
|
10765
|
+
* @default false
|
|
10766
|
+
* @example true
|
|
10767
|
+
*/
|
|
10768
|
+
is_deleted: boolean;
|
|
9961
10769
|
/**
|
|
9962
10770
|
* @description The amount of time before an admin member's login token when switching teams expires. Any format supported by https://github.com/vercel/ms is valid.
|
|
9963
10771
|
* @default 72h
|
|
@@ -10040,7 +10848,12 @@ export interface components {
|
|
|
10040
10848
|
* @example 2020-05-01T21:44:40.000Z
|
|
10041
10849
|
*/
|
|
10042
10850
|
updated_at: string;
|
|
10043
|
-
|
|
10851
|
+
/**
|
|
10852
|
+
* @description Whether video is enabled as a capture method in the app.
|
|
10853
|
+
* @default false
|
|
10854
|
+
* @example true
|
|
10855
|
+
*/
|
|
10856
|
+
video_enabled: boolean;
|
|
10044
10857
|
};
|
|
10045
10858
|
TeamPayload: {
|
|
10046
10859
|
/**
|
|
@@ -10151,8 +10964,18 @@ export interface components {
|
|
|
10151
10964
|
* @example 1843
|
|
10152
10965
|
*/
|
|
10153
10966
|
id?: number;
|
|
10154
|
-
|
|
10155
|
-
|
|
10967
|
+
/**
|
|
10968
|
+
* @description Whether to include the inspection type's list by default with new inspection requests.
|
|
10969
|
+
* @default false
|
|
10970
|
+
* @example true
|
|
10971
|
+
*/
|
|
10972
|
+
include_list: boolean;
|
|
10973
|
+
/**
|
|
10974
|
+
* @description Whether or not this config has been soft-deleted
|
|
10975
|
+
* @default false
|
|
10976
|
+
* @example true
|
|
10977
|
+
*/
|
|
10978
|
+
is_deleted: boolean;
|
|
10156
10979
|
/**
|
|
10157
10980
|
* @description The amount of time before an admin member's login token when switching teams expires. Any format supported by https://github.com/vercel/ms is valid.
|
|
10158
10981
|
* @default 72h
|
|
@@ -10238,7 +11061,12 @@ export interface components {
|
|
|
10238
11061
|
* @example 2020-05-01T21:44:40.000Z
|
|
10239
11062
|
*/
|
|
10240
11063
|
updated_at?: string;
|
|
10241
|
-
|
|
11064
|
+
/**
|
|
11065
|
+
* @description Whether video is enabled as a capture method in the app.
|
|
11066
|
+
* @default false
|
|
11067
|
+
* @example true
|
|
11068
|
+
*/
|
|
11069
|
+
video_enabled: boolean;
|
|
10242
11070
|
};
|
|
10243
11071
|
TeamWebhookDBPayload: {
|
|
10244
11072
|
/**
|
|
@@ -10568,7 +11396,12 @@ export interface components {
|
|
|
10568
11396
|
* @example true
|
|
10569
11397
|
*/
|
|
10570
11398
|
is_enabled: boolean;
|
|
10571
|
-
|
|
11399
|
+
/**
|
|
11400
|
+
* @description When true, the user must supply a value for this custom field in order to create an inspection
|
|
11401
|
+
* @default false
|
|
11402
|
+
* @example true
|
|
11403
|
+
*/
|
|
11404
|
+
is_required: boolean;
|
|
10572
11405
|
/** @description The label for the custom field */
|
|
10573
11406
|
label?: string;
|
|
10574
11407
|
};
|
|
@@ -10656,7 +11489,12 @@ export interface components {
|
|
|
10656
11489
|
* @example 3028675309
|
|
10657
11490
|
*/
|
|
10658
11491
|
customer_phone_number?: string;
|
|
10659
|
-
|
|
11492
|
+
/**
|
|
11493
|
+
* @description Must be true when including `list`.
|
|
11494
|
+
* @default false
|
|
11495
|
+
* @example false
|
|
11496
|
+
*/
|
|
11497
|
+
include_list: boolean;
|
|
10660
11498
|
/**
|
|
10661
11499
|
* @description Free-form inspection-ready criteria text. Max length 10KB.
|
|
10662
11500
|
* @example Capture all rooms and appliances.
|
|
@@ -10710,7 +11548,7 @@ export interface components {
|
|
|
10710
11548
|
/** @description The method(s) to send the inspection request to the customer completing the inspection. */
|
|
10711
11549
|
send_methods?: {
|
|
10712
11550
|
/**
|
|
10713
|
-
* @description When true, will send
|
|
11551
|
+
* @description When true, will send emails to the customer_email_address
|
|
10714
11552
|
* @example false
|
|
10715
11553
|
*/
|
|
10716
11554
|
email: boolean;
|
|
@@ -10746,6 +11584,87 @@ export interface components {
|
|
|
10746
11584
|
id: number;
|
|
10747
11585
|
};
|
|
10748
11586
|
};
|
|
11587
|
+
/** @description Request Body for PUT /inspection-types/{inspectionTypeId} */
|
|
11588
|
+
UpdateInspectionTypeBody: {
|
|
11589
|
+
/**
|
|
11590
|
+
* @description the id of the user who created this inspection type. References `users.id`
|
|
11591
|
+
* @example 2343
|
|
11592
|
+
*/
|
|
11593
|
+
created_by_member_user_id?: number;
|
|
11594
|
+
/** @description An array of custom fields that are used by this inspection type */
|
|
11595
|
+
custom_fields?: components["schemas"]["CustomField"][];
|
|
11596
|
+
/**
|
|
11597
|
+
* @description The id of the inspection alert configuration that is used by this inspection type. References `inspection_alert_configs.id`
|
|
11598
|
+
* @example 539
|
|
11599
|
+
*/
|
|
11600
|
+
inspection_alert_config_id?: number;
|
|
11601
|
+
/**
|
|
11602
|
+
* @description Optional inspection-ready criteria text for this inspection type.
|
|
11603
|
+
* @example Capture the VIN plate clearly and include a full odometer photo.
|
|
11604
|
+
*/
|
|
11605
|
+
inspection_ready_criteria_text?: string | null;
|
|
11606
|
+
/**
|
|
11607
|
+
* @description Controls whether an address is required for the inspection or not
|
|
11608
|
+
* @example 1000
|
|
11609
|
+
*/
|
|
11610
|
+
is_address_required?: boolean;
|
|
11611
|
+
/**
|
|
11612
|
+
* @description When true, the list associated with this inspection type cannot be changed
|
|
11613
|
+
* @example false
|
|
11614
|
+
*/
|
|
11615
|
+
is_list_locked?: boolean;
|
|
11616
|
+
/** @description The IETF language tag for the intended language of the inspection. Non-customizable text in emails will use the language specified here. */
|
|
11617
|
+
language?: components["schemas"]["LocalizationLanguages"];
|
|
11618
|
+
/**
|
|
11619
|
+
* @description The id of the list that is used by this inspection type. References `lists.id`
|
|
11620
|
+
* @example 3345
|
|
11621
|
+
*/
|
|
11622
|
+
list_id?: number;
|
|
11623
|
+
/**
|
|
11624
|
+
* @description the maximum distance away from the configured inspection address that an inspection can be completed in meters.
|
|
11625
|
+
* @example 1000
|
|
11626
|
+
*/
|
|
11627
|
+
max_distance_from_address_threshold?: number;
|
|
11628
|
+
/**
|
|
11629
|
+
* @description The id of the message template set that is used by this inspection type. References `message_template_sets.id`
|
|
11630
|
+
* @example 539
|
|
11631
|
+
*/
|
|
11632
|
+
message_template_set_id?: number;
|
|
11633
|
+
/**
|
|
11634
|
+
* @description the id of the user who last modified this inspection type. References `users.id`
|
|
11635
|
+
* @example 2343
|
|
11636
|
+
*/
|
|
11637
|
+
modified_by_member_user_id?: number;
|
|
11638
|
+
/**
|
|
11639
|
+
* @description The name of the inspection type
|
|
11640
|
+
* @example My Type
|
|
11641
|
+
*/
|
|
11642
|
+
name?: string;
|
|
11643
|
+
/**
|
|
11644
|
+
* @description The id of the outcome set that is used by this inspection type. References `outcome_sets.id`
|
|
11645
|
+
* @example 539
|
|
11646
|
+
*/
|
|
11647
|
+
outcome_set_id?: number;
|
|
11648
|
+
/**
|
|
11649
|
+
* @description The teams that are allowed to use this inspection type. Pass each team as an object containing its `id`. Passing an empty array removes all team associations.
|
|
11650
|
+
* @example [
|
|
11651
|
+
* {
|
|
11652
|
+
* "id": 12
|
|
11653
|
+
* },
|
|
11654
|
+
* {
|
|
11655
|
+
* "id": 24
|
|
11656
|
+
* }
|
|
11657
|
+
* ]
|
|
11658
|
+
*/
|
|
11659
|
+
teams?: {
|
|
11660
|
+
id: number;
|
|
11661
|
+
}[];
|
|
11662
|
+
/**
|
|
11663
|
+
* @description When true, there is only one name for the user to fill out rather than a separate first name and last name field
|
|
11664
|
+
* @example true
|
|
11665
|
+
*/
|
|
11666
|
+
use_single_name_field?: boolean;
|
|
11667
|
+
};
|
|
10749
11668
|
UpdateInternalNoteBody: components["schemas"]["CreateInternalNoteBody"];
|
|
10750
11669
|
UpdateLandingPageBody: {
|
|
10751
11670
|
/**
|
|
@@ -11051,6 +11970,16 @@ export interface components {
|
|
|
11051
11970
|
* @enum {string}
|
|
11052
11971
|
*/
|
|
11053
11972
|
VisionRole: "SUPER_ADMIN" | "VISION_AGENT_ADMIN" | "VISION_AGENT" | "VISION_CONSUMER" | "AUTH0_BOT" | "WEBSITE_FORM_BOT" | "GROUP_AGENT" | "VISION_AGENT_OWN_INSPECTIONS" | "VIEW_ONLY" | "VISION_AGENT_REPORT";
|
|
11973
|
+
/** @description A citation backed by a provider-side web call — any of the registered provider tools (Google Search grounding, URL fetching, web search). Surfaces per VISION-1850. */
|
|
11974
|
+
WebLookupSource: {
|
|
11975
|
+
/** @description Excerpt or snippet from the cited content; absent when the provider didn't return one. */
|
|
11976
|
+
snippet?: string;
|
|
11977
|
+
/** @description Page/document title from the provider's grounding metadata. Absent when the provider didn't return one. */
|
|
11978
|
+
title?: string;
|
|
11979
|
+
type: string;
|
|
11980
|
+
/** @description URI of the page or document the model relied on. One URI per source — multiple supporting URIs become multiple `web_lookup` entries. */
|
|
11981
|
+
uri: string;
|
|
11982
|
+
};
|
|
11054
11983
|
WebsiteFormBearerSerialized: {
|
|
11055
11984
|
inspection_types: {
|
|
11056
11985
|
/** @description An array of custom fields that are used by this inspection type */
|
|
@@ -11229,6 +12158,17 @@ export interface components {
|
|
|
11229
12158
|
*/
|
|
11230
12159
|
updated_at: string;
|
|
11231
12160
|
};
|
|
12161
|
+
/** @description V1 emits two intake_field values; additional values are reserved for post-V1. */
|
|
12162
|
+
OrganizationStatedSource: {
|
|
12163
|
+
/** @enum {string} */
|
|
12164
|
+
intake_field: "comment" | "list_item_answer";
|
|
12165
|
+
/** @description Present when intake_field='list_item_answer' — the answered list_items.id values. */
|
|
12166
|
+
list_item_ids?: number[];
|
|
12167
|
+
string: string;
|
|
12168
|
+
/** @description Present when intake_field='comment' — the capture(s) the comment is on. */
|
|
12169
|
+
truepic_ids?: number[];
|
|
12170
|
+
type: string;
|
|
12171
|
+
};
|
|
11232
12172
|
};
|
|
11233
12173
|
responses: {
|
|
11234
12174
|
/** @description The request body couldn't be parsed. */
|