openapi: 3.2.0 info: title: Tuva EMPI Potential Matches API version: 1.0.0 tags: - name: potential-matches paths: /api/v1/potential-matches: get: operationId: potential_matches_retrieve description: Get/search for potential matches. summary: Retrieve potential matches tags: - potential-matches responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetPotentialMatchesResponse' description: '' /api/v1/potential-matches/{id}: get: operationId: potential_matches_retrieve_2 description: Get PotentialMatch by ID. summary: Retrieve potential match by ID parameters: - in: path name: id schema: type: string required: true tags: - potential-matches responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetPotentialMatchResponse' description: '' components: schemas: PersonRecord: type: object properties: id: type: string person_id: type: string created: type: string format: date-time person_updated: type: string format: date-time matched_or_reviewed: type: boolean data_source: type: string source_person_id: type: string first_name: type: string last_name: type: string sex: type: string race: type: string birth_date: type: string death_date: type: string social_security_number: type: string address: type: string city: type: string state: type: string zip_code: type: string county: type: string phone: type: string required: - address - birth_date - city - county - created - data_source - death_date - first_name - id - last_name - matched_or_reviewed - person_id - person_updated - phone - race - sex - social_security_number - source_person_id - state - zip_code PotentialMatchDetail: type: object properties: id: type: string first_name: type: string last_name: type: string data_sources: type: array items: type: string max_match_probability: type: number format: double results: type: array items: $ref: '#/components/schemas/PredictionResult' persons: type: array items: $ref: '#/components/schemas/PersonDetail' required: - data_sources - first_name - id - last_name - max_match_probability - persons - results PersonDetail: type: object properties: id: type: string created: type: string format: date-time version: type: integer records: type: array items: $ref: '#/components/schemas/PersonRecord' required: - created - id - records - version GetPotentialMatchResponse: type: object properties: potential_match: $ref: '#/components/schemas/PotentialMatchDetail' required: - potential_match PotentialMatchSummary: type: object properties: id: type: string first_name: type: string last_name: type: string data_sources: type: array items: type: string max_match_probability: type: number format: double required: - data_sources - first_name - id - last_name - max_match_probability GetPotentialMatchesResponse: type: object properties: potential_matches: type: array items: $ref: '#/components/schemas/PotentialMatchSummary' required: - potential_matches PredictionResult: type: object properties: id: type: string created: type: string format: date-time match_probability: type: number format: double person_record_l_id: type: string person_record_r_id: type: string required: - created - id - match_probability - person_record_l_id - person_record_r_id