openapi: 3.2.0 info: title: Reimbursement API contact: email: devs-web@santevet.com version: 1.0.0 description: Reimbursement servers: - url: https://reimbursement.api.santevet.com description: Production - url: https://staging.reimbursement.api.santevet.com description: Staging - url: https://{user}.reimbursement-api.srv-dev-web-2021.santevet.lan description: Development variables: user: enum: - xch - gle - mau - tpe default: xch description: The developer trigram tags: - name: Reimbursement description: Reimbursement paths: /api/v1/reimbursements/{reimbursementId}: get: tags: - Reimbursement summary: Retrieve a reimbursement. operationId: findReimbursement parameters: - name: reimbursementId in: path description: The identifier of the reimbursement required: true schema: type: integer responses: '200': description: Reimbursement founded content: application/json: schema: $ref: '#/components/schemas/ApiReimbursement' '400': description: Invalid identifier supplied '404': description: Reimbursement not found patch: tags: - Reimbursement summary: Update a reimbursement. operationId: updateReimbursement parameters: - name: reimbursementId in: path description: The identifier of the reimbursement required: true schema: type: integer requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateThirdPartyPaymentRequest' responses: '200': description: Reimbursement updated content: application/json: schema: $ref: '#/components/schemas/ReimbursementIdResponse' /api/v1/animals/{animalId}/reimbursements: get: tags: - Reimbursement summary: Retrieve a collection of reimbursements by an animal identifier. operationId: findAllReimbursementsByAnimal parameters: - name: animalId in: path description: The identifier of the animal required: true schema: type: integer responses: '200': description: Collection of reimbursements content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiReimbursement2' '404': description: Animal not found /api/v1/clients/{clientId}/reimbursements: get: tags: - Reimbursement summary: Retrieve a collection of reimbursements by a client identifier. operationId: findAllReimbursementsByClient parameters: - name: clientId in: path description: The identifier of the client required: true schema: type: integer responses: '200': description: Collection of reimbursements content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiReimbursement3' '404': description: Client not found /api/v1/reimbursements: post: tags: - Reimbursement summary: Create a new reimbursement. operationId: createReimbursement requestBody: required: true content: multipart/form-data: schema: required: - type discriminator: propertyName: type mapping: '1': '#/components/schemas/CreateReimbursementClaimRequest' '2': '#/components/schemas/CreateThirdPartyPaymentRequest' '3': '#/components/schemas/CreateLossQuotationRequest' '4': '#/components/schemas/CreateDeathRegistrationRequest' oneOf: - $ref: '#/components/schemas/CreateReimbursementClaimRequest' - $ref: '#/components/schemas/CreateThirdPartyPaymentRequest' - $ref: '#/components/schemas/CreateLossQuotationRequest' - $ref: '#/components/schemas/CreateDeathRegistrationRequest' encoding: file: contentType: application/pdf, application/x-pdf, image/png, image/jpg, image/jpeg, image/gif responses: '200': description: Reimbursement created content: application/json: schema: $ref: '#/components/schemas/ReimbursementIdResponse' /api/v1/third-party-payments/{coverageId}/schedule: get: tags: - Reimbursement summary: Retrieve schedule for a Third Party Payment by its Coverage identifier. operationId: findSchedule parameters: - name: coverageId in: path description: The identifier of the coverage required: true schema: type: integer responses: '200': description: Schedule founded content: application/json: schema: $ref: '#/components/schemas/ApiSchedule' components: schemas: ApiTypology: properties: id: description: The typology identifier type: integer name: description: The typology name type: string acts: description: The acts collection type: - array - 'null' items: $ref: '#/components/schemas/ApiAct' upper_limit: $ref: '#/components/schemas/ApiUpperLimit' applied_deductible: description: The applied deductible type: - number - 'null' format: float total_reimbursed: description: The total reimbursed type: - number - 'null' format: float discount: description: The discount allOf: - $ref: '#/components/schemas/ApiDiscount' non_conformities: description: The non conformities allOf: - $ref: '#/components/schemas/ApiNonConformities' first_symptom_date: description: The first symptom date type: - string - 'null' hexadecimal_color: description: The hexadecimal color type: - string - 'null' example: 8cc63f type: object ApiAct: properties: name: description: The act name type: string sinister_date: description: The sinister date type: string amount: description: The act amount type: number format: float is_refund: description: If the act is refunded type: boolean type: object ApiClinic2: properties: id: description: The clinic identifier type: - integer - 'null' type: object CreateLossQuotationRequest: required: - visit_reason - contract_id - origin_id properties: visit_reason: title: The reason of the visit type: string type: title: The type of the reimbursement type: integer enum: - 1 - 2 - 5 - 6 contract_id: title: The contract identifier type: integer exclusiveMinimum: 0 origin_id: title: The origin identifier of the reimbursement type: integer exclusiveMinimum: 0 other_files: type: array items: type: string format: binary maxItems: 5 maxItems: 5 type: object ApiSchedule: properties: outstanding_amount: description: The dynamic outstanding amount type: number format: float taken_amount: description: The amount already reimbursed by the client type: number format: float due_dates: description: The due dates collection type: array items: $ref: '#/components/schemas/ApiDueDate' type: object ApiReimbursement2: properties: id: description: The reimbursement identifier type: integer type: description: 'The reimbursement type
`1`: Reimbursement claim, `2`: Third party payment, `5`: Loss quotation, `6`: Death registration' type: integer status: description: 'The reimbursement status
`0`: Reimbursement in error, `1`: Reimbursement pending analysis, `2`: Reimbursement processing analysis, `3`: Reimbursement pending payment, `4`: Reimbursement processed, `5`: Reimbursement refused, `6`: Reimbursement to be completed, `7`: Duplicated reimbursement, `9`: Third party payment pending veterinary validation, `10`: Third party payment canceled by veterinary, `11`: Expired third party payment, `12`: Accepted third party payment, `13`: Refused third party payment, `14`: Processing third party payment, `15`: Processed third party payment, `16`: Third party payment veterinary processing payment, `17`: Third party payment veterinary payment terminated' type: integer contract_id: description: The contract identifier type: integer origin_id: description: 'The origin identifier
`1`: Mobile application, `2`: Veterinary area, `3`: Veterinary software, `4`: Client area, `5`: Paper' type: integer file_path: description: The file path type: - string - 'null' example: treatment-forms/496735/1609843279 amount_spent: description: The reimbursement amount spent type: - number - 'null' format: float amount_reimbursed: description: The reimbursement amount reimbursed type: - number - 'null' format: float outstanding_amount: description: The reimbursement outstanding amount client has to pay for third party payment type: - number - 'null' format: float clinic_id: description: The clinic identifier, which must be replaced by Clinic that is now a composite with ID and Name but removing the ID has impacts we don't have time to handle now. type: - integer - 'null' clinic: title: Clinic is now a composite with ID and Name but removing the ID has impacts we don't have time to handle now. description: The clinic allOf: - $ref: '#/components/schemas/ApiClinic2' veterinary_id: description: The veterinary identifier type: - integer - 'null' visit_reason: description: The reason of the visit type: - string - 'null' sinister_types: type: - array - 'null' items: type: integer sinister_date: description: The date of the sinister, also the visit date type: - string - 'null' transfer_date: description: The transfer date of the reimbursement type: - string - 'null' reception_date: description: The reception date of the reimbursement type: - string - 'null' sinister_notification_id: description: The sinister id used to download reimbursement notification file type: - integer - 'null' type: object ApiDiscount: properties: code: description: The discount code type: string quantity: description: The discount quantity, the amount of the discount type: string description: description: The discount description type: string type: object ReimbursementIdResponse: properties: reimbursement_id: description: The reimbursement identifier type: integer type: object CreateReimbursementClaimRequest: required: - amount - clinic_id - invoice_file - visit_reason - sinister_types - sinister_date - contract_id - origin_id properties: amount: title: The amount of the reimbursement oneOf: - type: integer - type: number format: float exclusiveMinimum: 0 clinic_id: type: integer treatment_form_file: type: string format: binary invoice_file: type: string format: binary veterinary_id: type: integer visit_reason: type: string sinister_types: type: array items: type: integer enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 10 - 11 - 12 - 15 - 16 sinister_date: title: The date of sinister type: date maximum: 0 type: title: The type of the reimbursement type: integer enum: - 1 - 2 - 5 - 6 contract_id: title: The contract identifier type: integer exclusiveMinimum: 0 origin_id: title: The origin identifier of the reimbursement type: integer exclusiveMinimum: 0 other_files: type: array items: type: string format: binary maxItems: 5 maxItems: 5 type: object ApiUpperLimit: properties: basic_ceiling: description: The basic ceiling type: - number - 'null' format: float remaining_ceiling: description: The remaining ceiling type: - number - 'null' format: float type: object CreateDeathRegistrationRequest: required: - visit_reason - contract_id - origin_id properties: visit_reason: title: The reason of the visit type: string type: title: The type of the reimbursement type: integer enum: - 1 - 2 - 5 - 6 contract_id: title: The contract identifier type: integer exclusiveMinimum: 0 origin_id: title: The origin identifier of the reimbursement type: integer exclusiveMinimum: 0 other_files: type: array items: type: string format: binary maxItems: 5 maxItems: 5 type: object ApiReimbursement: properties: id: description: The reimbursement identifier type: integer type: description: 'The reimbursement type
`1`: Reimbursement claim, `2`: Third party payment, `5`: Loss quotation, `6`: Death registration' type: integer status: description: 'The reimbursement status
`0`: Reimbursement in error, `1`: Reimbursement pending analysis, `2`: Reimbursement processing analysis, `3`: Reimbursement pending payment, `4`: Reimbursement processed, `5`: Reimbursement refused, `6`: Reimbursement to be completed, `7`: Duplicated reimbursement, `9`: Third party payment pending veterinary validation, `10`: Third party payment canceled by veterinary, `11`: Expired third party payment, `12`: Accepted third party payment, `13`: Refused third party payment, `14`: Processing third party payment, `15`: Processed third party payment, `16`: Third party payment veterinary processing payment, `17`: Third party payment veterinary payment terminated' type: integer contract_id: description: The contract identifier type: integer origin_id: description: 'The origin identifier
`1`: Mobile application, `2`: Veterinary area, `3`: Veterinary software, `4`: Client area, `5`: Paper' type: integer coverage_id: description: The coverage identifier, (identifiant demande prise en charge) type: - integer - 'null' file_path: description: The file path type: - string - 'null' example: treatment-forms/496735/1609843279 amount_spent: description: The reimbursement amount spent type: - number - 'null' format: float amount_reimbursed: description: The reimbursement amount reimbursed type: - number - 'null' format: float outstanding_amount: description: The reimbursement outstanding amount client has to pay for third party payment type: - number - 'null' format: float clinic_id: description: The clinic identifier, which must be replaced by Clinic that is now a composite with ID and Name but removing the ID has impacts we don't have time to handle now. type: - integer - 'null' clinic: title: Clinic is now a composite with ID and Name but removing the ID has impacts we don't have time to handle now. description: The clinic allOf: - $ref: '#/components/schemas/ApiClinic' veterinary_id: description: The veterinary identifier type: - integer - 'null' visit_reason: description: The reason of the visit type: - string - 'null' sinister_types: type: - array - 'null' items: type: integer sinister_date: description: The date of the sinister, also the visit date type: - string - 'null' transfer_date: description: The transfer date of the reimbursement type: - string - 'null' reception_date: description: The reception date of the reimbursement type: - string - 'null' typologies: description: The typologies type: - array - 'null' items: $ref: '#/components/schemas/ApiTypology' sinister_notification_id: description: The sinister id used to download reimbursement notification file type: - integer - 'null' entry_date: description: The compensation entry date type: - string - 'null' next_debit_date: description: The next debit date for outstanding amount type: - string - 'null' veterinary_action_date: description: The veterinary action date, date at which the veterinary received or cancelled the demand type: - string - 'null' correspondence_id: description: The correspondence identifier type: - integer - 'null' has_schedule: description: True if the third party payment has schedule, otherwise false, nullable for other reimbursement types type: - boolean - 'null' type: object CreateThirdPartyPaymentRequest: required: - amount - clinic_id - invoice_file - contract_id - origin_id properties: amount: oneOf: - type: integer - type: number format: float exclusiveMinimum: 0 clinic_id: type: integer invoice_file: type: string format: binary type: title: The type of the reimbursement type: integer enum: - 1 - 2 - 5 - 6 contract_id: title: The contract identifier type: integer exclusiveMinimum: 0 origin_id: title: The origin identifier of the reimbursement type: integer exclusiveMinimum: 0 other_files: type: array items: type: string format: binary maxItems: 5 maxItems: 5 type: object ApiClinic3: properties: id: description: The clinic identifier type: - integer - 'null' type: object UpdateThirdPartyPaymentRequest: properties: first_symptom_date: title: The date of first symptom type: - string - 'null' sinister_date: title: The date of first symptom type: - string - 'null' visit_reason: title: The visit reason type: - string - 'null' clinic_id: title: The id of the clinic type: - integer - 'null' veterinary_id: title: The id of the veterinary type: - integer - 'null' updated_clinic_amount: title: The amount type: - number - 'null' format: float exclusiveMinimum: 0 invoice_number: title: The invoice number type: - string - 'null' type: object ApiClinic: properties: id: description: The clinic identifier type: - integer - 'null' name: description: the clinic name type: - string - 'null' type: object ApiNonConformities: properties: name: description: The non conformities name type: string description: description: The non conformities description type: string type: object ApiReimbursement3: properties: id: description: The reimbursement identifier type: integer type: description: 'The reimbursement type
`1`: Reimbursement claim, `2`: Third party payment, `5`: Loss quotation, `6`: Death registration' type: integer status: description: 'The reimbursement status
`0`: Reimbursement in error, `1`: Reimbursement pending analysis, `2`: Reimbursement processing analysis, `3`: Reimbursement pending payment, `4`: Reimbursement processed, `5`: Reimbursement refused, `6`: Reimbursement to be completed, `7`: Duplicated reimbursement, `9`: Third party payment pending veterinary validation, `10`: Third party payment canceled by veterinary, `11`: Expired third party payment, `12`: Accepted third party payment, `13`: Refused third party payment, `14`: Processing third party payment, `15`: Processed third party payment, `16`: Third party payment veterinary processing payment, `17`: Third party payment veterinary payment terminated' type: integer contract_id: description: The contract identifier type: integer origin_id: description: 'The origin identifier
`1`: Mobile application, `2`: Veterinary area, `3`: Veterinary software, `4`: Client area, `5`: Paper' type: integer file_path: description: The file path type: - string - 'null' example: treatment-forms/496735/1609843279 amount_spent: description: The reimbursement amount spent type: - number - 'null' format: float amount_reimbursed: description: The reimbursement amount reimbursed type: - number - 'null' format: float outstanding_amount: description: The reimbursement outstanding amount client has to pay for third party payment type: - number - 'null' format: float clinic_id: description: The clinic identifier, which must be replaced by Clinic that is now a composite with ID and Name but removing the ID has impacts we don't have time to handle now. type: - integer - 'null' clinic: title: Clinic is now a composite with ID and Name but removing the ID has impacts we don't have time to handle now. description: The clinic allOf: - $ref: '#/components/schemas/ApiClinic3' veterinary_id: description: The veterinary identifier type: - integer - 'null' animal_id: description: The animal identifier type: - integer - 'null' visit_reason: description: The reason of the visit type: - string - 'null' sinister_types: type: - array - 'null' items: type: integer sinister_date: description: The date of the sinister, also the visit date type: - string - 'null' transfer_date: description: The transfer date of the reimbursement type: - string - 'null' reception_date: description: The reception date of the reimbursement type: - string - 'null' sinister_notification_id: description: The sinister id used to download reimbursement notification file type: - integer - 'null' type: object ApiDueDate: properties: expected_debit_date: description: The expected debit date type: string amount: description: The amount paid type: number format: float settlement_date: description: The actual debit date type: - string - 'null' type: object externalDocs: description: Find out more about Reimbursement API url: https://git.santevet.com/dev-web/reimbursement-api