import {z} from 'zod' export type ContractRequest = {api_key?: string | undefined, limit?: string | undefined, offset?: string | undefined, format?: string | undefined, emailId?: string | undefined, dollarsObligated?: string | undefined, totalDollarsObligated?: string | undefined, approvedDate?: string | undefined, awardeeCageCode?: string | undefined, closedDate?: string | undefined, closedStatus?: string | undefined, deletedStatus?: string | undefined, solicitationID?: string | undefined, solicitationDate?: string | undefined, documentVersion?: string | undefined, awardOrIDV?: string | undefined, awardOrIDVTypeCode?: string | undefined, awardOrIDVTypeName?: string | undefined, contractingSubtierCode?: string | undefined, contractingSubtierName?: string | undefined, contractingDepartmentCode?: string | undefined, contractingDepartmentName?: string | undefined, contractingOfficeCode?: string | undefined, coBusSizeDeterminationCode?: string | undefined, coBusSizeDeterminationName?: string | undefined, createdDate?: string | undefined, currentCompletionDate?: string | undefined, dateSigned?: string | undefined, awardeeZipCode?: string | undefined, awardeeCityName?: string | undefined, awardeeCongressionalDistrict?: string | undefined, awardeeCountryCode?: string | undefined, awardeeCountryName?: string | undefined, awardeeDoingBusinessAsName?: string | undefined, awardeeStateCode?: string | undefined, awardeeStateName?: string | undefined, fiscalYear?: string | undefined, fundingSubtierCode?: string | undefined, fundingSubtierName?: string | undefined, fundingDepartmentCode?: string | undefined, fundingDepartmentName?: string | undefined, lastModifiedDate?: string | undefined, awardeeLegalBusinessName?: string | undefined, clingerCohenActCode?: string | undefined, clingerCohenActName?: string | undefined, materialsSuppliesArticlesAndEquipCode?: string | undefined, materialsSuppliesArticlesAndEquipName?: string | undefined, laborStandardsCode?: string | undefined, laborStandardsName?: string | undefined, constructionWageRateRequirementsCode?: string | undefined, constructionWageRateRequirementsName?: string | undefined, localAreaSetAsideName?: string | undefined, modificationNumber?: string | undefined, extentCompetedCode?: string | undefined, extentCompetedName?: string | undefined, typeOfSetAsideCode?: string | undefined, typeOfSetAsideName?: string | undefined, solicitationProceduresCode?: string | undefined, solicitationProceduresName?: string | undefined, contractOpportunitiesNoticeCode?: string | undefined, contractOpportunitiesNoticeName?: string | undefined, multiyearContractName?: string | undefined, numberOfOffersReceived?: string | undefined, naicsCode?: string | undefined, nationalInterestActionCode?: string | undefined, nationalInterestActionName?: string | undefined, periodOfPerformanceStartDate?: string | undefined, piidSubtierCode?: string | undefined, piidSubtierName?: string | undefined, placeOfPerformCityName?: string | undefined, placeOfPerformCongressionalDistrict?: string | undefined, placeOfPerformCountryCode?: string | undefined, placeOfPerformCountryName?: string | undefined, placeOfPerformStateCode?: string | undefined, placeOfPerformStateName?: string | undefined, placeOfPerformZipCode?: string | undefined, productOrServiceCode?: string | undefined, productOrServiceType?: string | undefined, reasonForModificationCode?: string | undefined, reasonForModificationName?: string | undefined, referencedIdvPIIDSubtierCode?: string | undefined, referencedIdvPIIDSubtierName?: string | undefined, referencedIdvPiid?: string | undefined, referencedIdvMultipleOrSingleCode?: string | undefined, referencedIdvMultipleOrSingleName?: string | undefined, referencedIdvPart8OrPart13?: string | undefined, referencedIdvTypeCode?: string | undefined, referencedIdvTypeName?: string | undefined, transactionNumber?: string | undefined, piidAggregation?: string | undefined, awardeeBusinessTypeCode?: string | undefined, awardeeBusinessTypeName?: string | undefined, sourceSelectionProcessCode?: string | undefined, sourceSelectionProcessName?: string | undefined, typeOfContractPricingName?: string | undefined, ultimateCompletionDate?: string | undefined, ultimateContractValue?: string | undefined, totalUltimateContractValue?: string | undefined, awardeeUniqueEntityId?: string | undefined, consortiaUEI?: string | undefined, consortiaLegalBusinessName?: string | undefined, nonGovernmentDollars?: string | undefined, totalNonGovernmentDollars?: string | undefined, nonTraditionalGovernmentEntityParticipationCode?: string | undefined, nonTraditionalGovernmentEntityParticipationName?: string | undefined, typeOfAgreementName?: string | undefined, far1102ExceptionCode?: string | undefined, far1102ExceptionName?: string | undefined, includeSections?: string | undefined, q?: string | undefined, fundingOfficeCode?: string | undefined, ultimateParentLegalBusinessName?: string | undefined, ultimateParentUniqueEntityId?: string | undefined, createdBy?: string | undefined, approvedBy?: string | undefined, lastModifiedBy?: string | undefined, closedBy?: string | undefined, piid?: string | undefined, typeOfContractPricingCode?: string | undefined}; export type GetApiContractAwardsV1SearchArgs = {contractRequest: ContractRequest, api_key: string, 'x-Api-Roles'?: string | undefined, offset?: number | undefined, limit?: number | undefined, format?: string | undefined}; export type GetApiContractAwardsV1SearchOptions = {baseUrl: string, fetch?: typeof fetch | undefined}; export const awardFamilySummary = z.object({count: z.string().optional(), totalDollars: z.string().optional()}); export const referencingDosOrBpaCallsSummary = z.object({baseCount: z.string().optional(), totalCount: z.string().optional(), totalDollars: z.string().optional()}); export const bpaSummary = z.object({baseCount: z.string().optional(), totalCount: z.string().optional(), totalDollars: z.string().optional()}); export const bpaCallSummary = z.object({baseCount: z.string().optional(), totalCount: z.string().optional(), totalDollars: z.string().optional()}); export const piidAggregation = z.object({awardFamilySummary: awardFamilySummary.optional(), referencingDosOrBpaCallsSummary: referencingDosOrBpaCallsSummary.optional(), bpaSummary: bpaSummary.optional(), bpaCallSummary: bpaCallSummary.optional()}); export const subtier = z.object({code: z.string().optional(), name: z.string().optional()}); export const referencedIDVSubtier = z.object({code: z.string().optional(), name: z.string().optional()}); export const reasonForModification = z.object({code: z.string().optional(), name: z.string().optional()}); export const contractId = z.object({subtier: subtier.optional(), piid: z.string().optional(), modificationNumber: z.string().optional(), transactionNumber: z.string().optional(), referencedIDVSubtier: referencedIDVSubtier.optional(), referencedIDVPiid: z.string().optional(), referencedIDVModificationNumber: z.string().optional(), reasonForModification: reasonForModification.optional()}); export const oldContractId = z.object({subtier: subtier.optional(), piid: z.string().optional(), modificationNumber: z.string().optional(), transactionNumber: z.string().optional(), referencedIDVSubtier: referencedIDVSubtier.optional(), referencedIDVPiid: z.string().optional(), referencedIDVModificationNumber: z.string().optional()}); export const awardOrIDVType = z.object({code: z.string().optional(), name: z.string().optional()}); export const initiative = z.object({code: z.string().optional(), name: z.string().optional()}); export const contractingDepartment = z.object({code: z.string().optional(), name: z.string().optional()}); export const contractingSubtier = z.object({code: z.string().optional(), name: z.string().optional()}); export const contractingOffice = z.object({code: z.string().optional(), name: z.string().optional()}); export const contractingInformation = z.object({contractingDepartment: contractingDepartment.optional(), contractingSubtier: contractingSubtier.optional(), contractingOffice: contractingOffice.optional()}); export const fundingDepartment = z.object({code: z.string().optional(), name: z.string().optional()}); export const fundingSubtier = z.object({code: z.string().optional(), name: z.string().optional()}); export const fundingOffice = z.object({code: z.string().optional(), name: z.string().optional()}); export const foreignFunding = z.object({code: z.string().optional(), name: z.string().optional()}); export const fundingInformation = z.object({fundingDepartment: fundingDepartment.optional(), fundingSubtier: fundingSubtier.optional(), fundingOffice: fundingOffice.optional(), foreignFunding: foreignFunding.optional()}); export const federalOrganization = z.object({contractingInformation: contractingInformation.optional(), fundingInformation: fundingInformation.optional()}); export const typeOfContractPricing = z.object({code: z.string().optional(), name: z.string().optional()}); export const nationalInterestAction = z.object({code: z.string().optional(), name: z.string().optional()}); export const performanceBasedServiceContract = z.object({code: z.string().optional(), name: z.string().optional()}); export const consolidatedContract = z.object({code: z.string().optional(), name: z.string().optional()}); export const typeOfIdc = z.object({code: z.string().optional(), name: z.string().optional()}); export const multipleOrSingleAwardIdc = z.object({code: z.string().optional(), name: z.string().optional()}); export const reasonForInterAgencyContracting = z.object({code: z.string().optional(), name: z.string().optional()}); export const contractFinancing = z.object({code: z.string().optional(), name: z.string().optional()}); export const acquisitionData = z.object({typeOfContractPricing: typeOfContractPricing.optional(), multiyearContract: z.string().optional(), majorProgramCode: z.string().optional(), programAcronym: z.string().optional(), nationalInterestAction: nationalInterestAction.optional(), performanceBasedServiceContract: performanceBasedServiceContract.optional(), consolidatedContract: consolidatedContract.optional(), typeOfIdc: typeOfIdc.optional(), multipleOrSingleAwardIdc: multipleOrSingleAwardIdc.optional(), reasonForInterAgencyContracting: reasonForInterAgencyContracting.optional(), contractFinancing: contractFinancing.optional()}); export const clingerCohenAct = z.object({code: z.string().optional(), name: z.string().optional()}); export const materialsSuppliesArticlesEquipment = z.object({code: z.string().optional(), name: z.string().optional()}); export const laborStandards = z.object({code: z.string().optional(), name: z.string().optional()}); export const constructionWageRateRequirements = z.object({code: z.string().optional(), name: z.string().optional()}); export const interagencyContractingAuthority = z.object({code: z.string().optional(), name: z.string().optional()}); export const additionalReporting = z.object({code: z.string().optional(), name: z.string().optional()}); export const legislativeMandates = z.object({clingerCohenAct: clingerCohenAct.optional(), materialsSuppliesArticlesEquipment: materialsSuppliesArticlesEquipment.optional(), laborStandards: laborStandards.optional(), constructionWageRateRequirements: constructionWageRateRequirements.optional(), interagencyContractingAuthority: interagencyContractingAuthority.optional(), otherStatutoryAuthority: z.string().optional(), additionalReporting: additionalReporting.optional()}); export const city = z.object({code: z.string().optional(), name: z.string().optional()}); export const county = z.object({code: z.string().optional(), name: z.string().optional()}); export const state = z.object({code: z.string().optional(), name: z.string().optional()}); export const country = z.object({code: z.string().optional(), name: z.string().optional()}); export const principalPlaceOfPerformance = z.object({city: city.optional(), county: county.optional(), state: state.optional(), zipCode: z.string().optional(), congressionalDistrict: z.string().optional(), country: country.optional()}); export const recoveredMaterialClauses = z.object({code: z.string().optional(), name: z.string().optional()}); export const productOrService = z.object({type: z.string().optional(), code: z.string().optional(), name: z.string().optional()}); export const principalNaic = z.object({code: z.string().optional(), name: z.string().optional()}); export const contractBundling = z.object({code: z.string().optional(), name: z.string().optional()}); export const dodAcquisitionProgram = z.object({code: z.string().optional(), name: z.string().optional()}); export const dodClaimantProgram = z.object({code: z.string().optional(), name: z.string().optional()}); export const gfeGfp = z.object({code: z.string().optional(), name: z.string().optional()}); export const informationTechnologyCommercialItemCategory = z.object({code: z.string().optional(), name: z.string().optional()}); export const countryOfOrigin = z.object({code: z.string().optional(), name: z.string().optional()}); export const naicsSource = z.object({code: z.string().optional(), name: z.string().optional()}); export const idvNAICS = z.object({code: z.string().optional(), name: z.string().optional()}); export const useOfEpaDesignatedProducts = z.object({code: z.string().optional(), name: z.string().optional()}); export const placeOfManufacture = z.object({code: z.string().optional(), name: z.string().optional()}); export const domesticOrForeignEntity = z.object({code: z.string().optional(), name: z.string().optional()}); export const seaTransportation = z.object({id: z.string().optional(), code: z.string().optional(), name: z.string().optional()}); export const productOrServiceInformation = z.object({recoveredMaterialClauses: recoveredMaterialClauses.optional(), productOrService: productOrService.optional(), principalNaics: z.array(principalNaic).optional(), contractBundling: contractBundling.optional(), dodAcquisitionProgram: dodAcquisitionProgram.optional(), dodClaimantProgram: dodClaimantProgram.optional(), gfeGfp: gfeGfp.optional(), informationTechnologyCommercialItemCategory: informationTechnologyCommercialItemCategory.optional(), countryOfOrigin: countryOfOrigin.optional(), naicsSource: naicsSource.optional(), idvNAICS: idvNAICS.optional(), descriptionOfContractRequirement: z.string().optional(), useOfEpaDesignatedProducts: useOfEpaDesignatedProducts.optional(), placeOfManufacture: placeOfManufacture.optional(), domesticOrForeignEntity: domesticOrForeignEntity.optional(), seaTransportation: seaTransportation.optional()}); export const extentCompeted = z.object({code: z.string().optional(), name: z.string().optional()}); export const solicitationProcedures = z.object({code: z.string().optional(), name: z.string().optional()}); export const typeOfSetAside = z.object({code: z.string().optional(), name: z.string().optional()}); export const sbirSTTR = z.object({code: z.string().optional(), name: z.string().optional()}); export const statutoryExceptionToFairOpportunity = z.object({code: z.string().optional(), name: z.string().optional()}); export const otherThanFullAndOpenCompetition = z.object({code: z.string().optional(), name: z.string().optional()}); export const localAreaSetAside = z.object({code: z.string().optional(), name: z.string().optional()}); export const a76Action = z.object({code: z.string().optional(), name: z.string().optional()}); export const sourceSelectionProcess = z.object({code: z.string().optional(), name: z.string().optional()}); export const preAwardSynopsisRequirement = z.object({code: z.string().optional(), name: z.string().optional()}); export const smallBusinessCompetitivenessDemonstrationProgram = z.object({code: z.string().optional(), name: z.string().optional()}); export const commercialProductsAndServicesAcquisitionProcedures = z.object({code: z.string().optional(), name: z.string().optional()}); export const commercialItemTestProgram = z.object({code: z.string().optional(), name: z.string().optional()}); export const extentCompetedForReferencedIdv = z.object({code: z.string().optional(), name: z.string().optional()}); export const evaluatedPreference = z.object({code: z.string().optional(), name: z.string().optional()}); export const idvTypeOfSetAside = z.object({code: z.string().optional(), name: z.string().optional()}); export const typeOfSetAsideSource = z.object({code: z.string().optional(), name: z.string().optional()}); export const numberOfOffersSource = z.object({code: z.string().optional(), name: z.string().optional()}); export const contractOpportunitiesNotice = z.object({code: z.string().optional(), name: z.string().optional()}); export const typeOfAgreement = z.object({code: z.string().optional(), name: z.string().optional()}); export const nontraditionalGovernmentEntityParticipation = z.object({code: z.string().optional(), name: z.string().optional()}); export const alternativeAdvertising = z.object({code: z.string().optional(), name: z.string().optional()}); export const synopsisWaiverException = z.object({code: z.string().optional(), name: z.string().optional()}); export const competitionInformation = z.object({extentCompeted: extentCompeted.optional(), solicitationProcedures: solicitationProcedures.optional(), typeOfSetAside: typeOfSetAside.optional(), sbirSTTR: sbirSTTR.optional(), statutoryExceptionToFairOpportunity: statutoryExceptionToFairOpportunity.optional(), otherThanFullAndOpenCompetition: otherThanFullAndOpenCompetition.optional(), localAreaSetAside: localAreaSetAside.optional(), a76Action: a76Action.optional(), sourceSelectionProcess: sourceSelectionProcess.optional(), preAwardSynopsisRequirement: preAwardSynopsisRequirement.optional(), smallBusinessCompetitivenessDemonstrationProgram: smallBusinessCompetitivenessDemonstrationProgram.optional(), commercialProductsAndServicesAcquisitionProcedures: commercialProductsAndServicesAcquisitionProcedures.optional(), commercialItemTestProgram: commercialItemTestProgram.optional(), extentCompetedForReferencedIdv: extentCompetedForReferencedIdv.optional(), evaluatedPreference: evaluatedPreference.optional(), numberOfOffersReceived: z.string().optional(), idvTypeOfSetAside: idvTypeOfSetAside.optional(), typeOfSetAsideSource: typeOfSetAsideSource.optional(), idvNumberOfOffersReceived: z.string().optional(), numberOfOffersSource: numberOfOffersSource.optional(), contractOpportunitiesNotice: contractOpportunitiesNotice.optional(), typeOfAgreement: typeOfAgreement.optional(), nontraditionalGovernmentEntityParticipation: nontraditionalGovernmentEntityParticipation.optional(), alternativeAdvertising: alternativeAdvertising.optional(), synopsisWaiverException: synopsisWaiverException.optional()}); export const whoCanUse = z.object({code: z.string().optional(), name: z.string().optional()}); export const acquisitionMarketingData = z.object({whoCanUse: whoCanUse.optional(), emailAddress: z.string().optional()}); export const contractingOfficerBusinessSizeDetermination = z.object({code: z.string().optional(), name: z.string().optional(), id: z.string().optional()}); export const idvContractingOfficerBusinessSizeDetermination = z.object({code: z.string().optional(), name: z.string().optional()}); export const contractingOfficerBusinessSizeDeterminationSource = z.object({code: z.string().optional(), name: z.string().optional()}); export const subcontractPlan = z.object({code: z.string().optional(), name: z.string().optional()}); export const reasonNotAwardedToSmallDisadvantagedBusiness = z.object({code: z.string().optional(), name: z.string().optional()}); export const reasonNotAwardedToSmallBusiness = z.object({code: z.string().optional(), name: z.string().optional()}); export const preferenceProgramsInformation = z.object({priceEvaluationPercentDifference: z.string().optional(), contractingOfficerBusinessSizeDetermination: z.array(contractingOfficerBusinessSizeDetermination).optional(), idvContractingOfficerBusinessSizeDetermination: idvContractingOfficerBusinessSizeDetermination.optional(), contractingOfficerBusinessSizeDeterminationSource: contractingOfficerBusinessSizeDeterminationSource.optional(), subcontractPlan: subcontractPlan.optional(), reasonNotAwardedToSmallDisadvantagedBusiness: reasonNotAwardedToSmallDisadvantagedBusiness.optional(), reasonNotAwardedToSmallBusiness: reasonNotAwardedToSmallBusiness.optional()}); export const coreData = z.object({coreVersionId: z.string().optional(), solicitationId: z.string().optional(), solicitationDate: z.string().optional(), awardOrIDV: z.string().optional(), awardOrIDVType: awardOrIDVType.optional(), initiative: initiative.optional(), federalOrganization: federalOrganization.optional(), acquisitionData: acquisitionData.optional(), legislativeMandates: legislativeMandates.optional(), principalPlaceOfPerformance: principalPlaceOfPerformance.optional(), productOrServiceInformation: productOrServiceInformation.optional(), competitionInformation: competitionInformation.optional(), acquisitionMarketingData: acquisitionMarketingData.optional(), preferenceProgramsInformation: preferenceProgramsInformation.optional()}); export const dates = z.object({dateSigned: z.string().optional(), periodOfPerformanceStartDate: z.string().optional(), currentCompletionDate: z.string().optional(), ultimateCompletionDate: z.string().optional(), lastDateToOrder: z.string().optional(), fiscalYear: z.string().optional()}); export const dollars = z.object({actionObligation: z.string().optional(), baseDollarsObligated: z.string().optional(), baseAndExercisedOptionsValue: z.string().optional(), baseAndAllOptionsValue: z.string().optional(), feePaidForUseOfService: z.string().optional(), totalEstimatedOrderValue: z.string().optional(), nonGovernmentDollars: z.string().optional()}); export const totalContractDollars = z.object({totalActionObligation: z.string().optional(), totalBaseAndExercisedOptionsValue: z.string().optional(), totalBaseAndAllOptionsValue: z.string().optional(), totalNonGovernmentDollars: z.string().optional()}); export const availabilityType = z.object({code: z.string().optional(), name: z.string().optional()}); export const treasuryAccount = z.object({agencyIdentifier: z.string().optional(), mainAccountCode: z.string().optional(), subAccountCode: z.string().optional(), subLevelPrefixCode: z.string().optional(), allocationTransferAgencyIdentifier: z.string().optional(), beginningPeriodOfAvailability: z.string().optional(), endingPeriodOfAvailability: z.string().optional(), obligatedAmountTAS: z.string().optional(), availabilityType: availabilityType.optional()}); export const costOrPricingData = z.object({code: z.string().optional(), name: z.string().optional(), id: z.string().optional()}); export const purchaseCardAsPaymentMethod = z.object({code: z.string().optional(), name: z.string().optional()}); export const undefinitizedAction = z.object({code: z.string().optional(), name: z.string().optional()}); export const costAccountingStandardsClause = z.object({code: z.string().optional(), name: z.string().optional()}); export const natureOfServices = z.object({code: z.string().optional(), name: z.string().optional()}); export const emergencyAcquisition = z.object({code: z.string().optional(), name: z.string().optional()}); export const referencedIDVType = z.object({code: z.string().optional(), name: z.string().optional()}); export const referencedIDVMultipleOrSingle = z.object({code: z.string().optional(), name: z.string().optional()}); export const contractData = z.object({part8OrPart13: z.string().optional(), costOrPricingData: costOrPricingData.optional(), purchaseCardAsPaymentMethod: purchaseCardAsPaymentMethod.optional(), undefinitizedAction: undefinitizedAction.optional(), costAccountingStandardsClause: costAccountingStandardsClause.optional(), natureOfServices: natureOfServices.optional(), emergencyAcquisition: emergencyAcquisition.optional(), numberOfActions: z.string().optional(), referencedIDVPart8OrPart13: z.string().optional(), referencedIDVType: referencedIDVType.optional(), referencedIDVMultipleOrSingle: referencedIDVMultipleOrSingle.optional()}); export const typeOfFeeForUseOfService = z.object({code: z.string().optional(), name: z.string().optional()}); export const contractMarketingData = z.object({websiteUrl: z.string().optional(), individualOrderLimit: z.string().optional(), typeOfFeeForUseOfService: typeOfFeeForUseOfService.optional(), fixedFeeValue: z.string().optional(), feeRangeLowerValue: z.string().optional(), feeRangeUpperValue: z.string().optional(), orderingProcedure: z.string().optional()}); export const far41102Exception = z.object({code: z.string().optional(), name: z.string().optional()}); export const awardeeHeader = z.object({awardeeName: z.string().optional(), awardeeAlternateName: z.string().optional(), legalBusinessName: z.string().optional(), awardeeNameFromContract: z.string().optional(), awardeeDoingBusinessAsName: z.string().optional(), awardeeEnabled: z.string().optional()}); export const awardeeUEIInformation = z.object({uniqueEntityId: z.string().optional(), cageCode: z.string().optional(), awardeeImmediateParentUEI: z.string().optional(), awardeeImmediateParentName: z.string().optional(), awardeeDomesticParentUEI: z.string().optional(), awardeeDomesticParentName: z.string().optional(), awardeeUltimateParentUniqueEntityId: z.string().optional(), awardeeUltimateParentName: z.string().optional()}); export const awardeeLocation = z.object({streetAddress1: z.string().optional(), streetAddress2: z.string().optional(), streetAddress3: z.string().optional(), city: z.string().optional(), state: state.optional(), province: z.string().optional(), zip: z.string().optional(), country: country.optional(), congressionalDistrict: z.string().optional(), phoneNumber: z.string().optional(), faxNumber: z.string().optional(), awardeeLocationDisabledFlag: z.string().optional(), awardeeDataSource: z.string().optional()}); export const awardeeRegistrationDetails = z.object({registrationDate: z.string().optional(), renewalDate: z.string().optional(), divisionName: z.string().optional(), divisionNumberOrOfficeCode: z.string().optional()}); export const isUsFederalGovernment = z.object({usFederalGovernment: z.string().optional(), federalAgency: z.string().optional(), federallyFundedResearchAndDevelopmentCorp: z.string().optional()}); export const isUsLocalGovernment = z.object({usLocalGovernment: z.string().optional(), city: z.string().optional(), county: z.string().optional(), intermunicipal: z.string().optional(), localGovernmentOwned: z.string().optional(), municipality: z.string().optional(), schooldistrict: z.string().optional(), township: z.string().optional()}); export const businessOrOrganization = z.object({corporateEntityNotTaxExempt: z.string().optional(), corporateEntityTaxExempt: z.string().optional(), partnershipOrLimitedLiabilityPartnership: z.string().optional(), soleProprietorship: z.string().optional(), smallAgriculturalCooperative: z.string().optional(), internationalOrganization: z.string().optional()}); export const awardeeBusinessTypes = z.object({isUsFederalGovernment: isUsFederalGovernment.optional(), usStateGovernment: z.string().optional(), foreignGovernment: z.string().optional(), usTribalGovernment: z.string().optional(), communityDevelopmentCorporationOwnedConcern: z.string().optional(), isUsLocalGovernment: isUsLocalGovernment.optional(), usGovernmentEntity: z.string().optional(), laborSurplusAreaFirm: z.string().optional(), businessOrOrganization: businessOrOrganization.optional()}); export const isMinorityOwnedBusiness = z.object({minorityOwnedBusiness: z.string().optional(), asianPacificAmericanOwned: z.string().optional(), blackAmericanOwned: z.string().optional(), hispanicAmericanOwned: z.string().optional(), nativeAmericanOwned: z.string().optional(), subcontinentAsianAsianIndianAmericanOwned: z.string().optional(), individualOrConcernOtherThanOneOfThePreceding: z.string().optional()}); export const socioEconomicData = z.object({alaskanNativeCorporationOwnedFirm: z.string().optional(), americanIndianOwned: z.string().optional(), indianTribeFederallyRecognized: z.string().optional(), nativeHawaiianOrganizationOwnedFirm: z.string().optional(), triballyOwnedFirm: z.string().optional(), veteranOwnedBusiness: z.string().optional(), serviceDisabledVeteranOwnedBusiness: z.string().optional(), serviceDisabledVeteranOwnedBusinessJointVenture: z.string().optional(), isMinorityOwnedBusiness: isMinorityOwnedBusiness.optional(), womenOwnedBusiness: z.string().optional(), womenOwnedSmallBusiness: z.string().optional(), economicallyDisadvantagedWomenOwnedSmallBusiness: z.string().optional(), womenOwnedSmallBusinessJointVenture: z.string().optional(), economicallyDisadvantagedWomenOwnedSmallBusinessJointVenture: z.string().optional(), emergingSmallBusiness: z.string().optional(), smallBusinessJointVenture: z.string().optional(), VerySmallBusiness: z.string().optional()}); export const lineOfBusiness = z.object({communityDevelopmentCorporation: z.string().optional(), domesticShelter: z.string().optional(), educationalInstitution: z.string().optional(), foundation: z.string().optional(), hospital: z.string().optional(), manufacturerOfGoods: z.string().optional(), veterinaryHospital: z.string().optional(), hispanicServicingInstitution: z.string().optional()}); export const relationshipWithFederalGovernment = z.object({contracts: z.string().optional(), federalassistanceawards: z.string().optional(), allawards: z.string().optional()}); export const otherGovernmentalEntities = z.object({airportAuthority: z.string().optional(), councilOfGovernments: z.string().optional(), housingAuthoritiesPublicTribal: z.string().optional(), interstateEntity: z.string().optional(), planningCommission: z.string().optional(), portAuthority: z.string().optional(), transitAuthority: z.string().optional()}); export const profitStructure = z.object({forProfitOrganization: z.string().optional(), nonProfitOrganization: z.string().optional(), otherNotForProfitOrganization: z.string().optional()}); export const organizationFactors = z.object({subchapterSCorporation: z.string().optional(), limitedLiabilityCorporation: z.string().optional(), foreignOwned: z.string().optional(), theAbilityOneProgram: z.string().optional(), profitStructure: profitStructure.optional(), organizationType: z.string().optional(), stateOfIncorporation: z.string().optional(), countryOfIncorporation: z.string().optional()}); export const educationalEntities = z.object({historicallyBlackCollegeOrUniversity: z.string().optional(), minorityInstitution: z.string().optional(), privateUniversityOrCollege: z.string().optional(), schoolOfForestry: z.string().optional(), stateControlledInstitutionOfHigherLearning: z.string().optional(), tribalCollege: z.string().optional(), veterinaryCollege: z.string().optional(), alaskanNativeServicingInstitution: z.string().optional(), nativeHawaiianServicingInstitution: z.string().optional(), "1862LandGrantCollege": z.string().optional(), "1890LandGrantCollege": z.string().optional(), "1994LandGrantCollege": z.string().optional()}); export const certifications = z.object({sbaCertified8aProgramParticipant: z.string().optional(), sbaCertified8aJointVenture: z.string().optional(), selfCertifiedHubZoneJointVenture: z.string().optional(), sbaCertifiedSmallDisadvantagedBusiness: z.string().optional(), sbaCertifiedHubZoneFirm: z.string().optional(), sbaCertifiedEconomicallyDisadvantagedWomenOwnedSmallBusiness: z.string().optional(), selfCertifiedSmallDisadvantagedBusiness: z.string().optional(), dotCertifiedDisadvantagedBusinessEnterprise: z.string().optional(), sbaCertifiedWomenOwnedSmallBusiness: z.string().optional()}); export const consortia = z.object({memberFlag: z.string().optional(), uei: z.string().optional(), legalBusinessName: z.string().optional(), cageCode: z.string().optional(), streetAddress: z.string().optional(), streetAddress2: z.string().optional(), city: city.optional(), county: county.optional(), state: state.optional(), zipCode: z.string().optional(), congressionalDistrict: z.string().optional(), country: country.optional()}); export const awardeeData = z.object({far41102Exception: far41102Exception.optional(), awardeeHeader: awardeeHeader.optional(), awardeeUEIInformation: awardeeUEIInformation.optional(), awardeeLocation: awardeeLocation.optional(), awardeeAlternateSiteCode: z.string().optional(), awardeeRegistrationDetails: awardeeRegistrationDetails.optional(), awardeeBusinessTypes: awardeeBusinessTypes.optional(), socioEconomicData: socioEconomicData.optional(), lineOfBusiness: lineOfBusiness.optional(), relationshipWithFederalGovernment: relationshipWithFederalGovernment.optional(), otherGovernmentalEntities: otherGovernmentalEntities.optional(), organizationFactors: organizationFactors.optional(), educationalEntities: educationalEntities.optional(), certifications: certifications.optional(), consortia: consortia.optional()}); export const contractAdministrationsDelegated = z.object({code: z.string().optional(), name: z.string().optional()}); export const cfdaProgramIdentificationNumber = z.object({code: z.string().optional(), name: z.string().optional()}); export const nasaSpecificData = z.object({offerorsProposalNumber: z.string().optional(), prNumber: z.string().optional(), accessionNumber: z.string().optional(), installationUnique: z.string().optional(), administrativeCo: z.string().optional(), contractingOfficerCode: z.string().optional(), buyerCode: z.string().optional(), organizationCode: z.string().optional(), cotrName: z.string().optional(), alternateCOTRName: z.string().optional(), fundedThroughDate: z.string().optional(), contractFundCode: z.string().optional(), managementReportingRequirements: z.string().optional(), accountingInstallation: z.string().optional(), fieldOfScienceOrEngineering: z.string().optional(), contractAdministrationsDelegated: z.array(contractAdministrationsDelegated).optional(), cfdaProgramIdentificationNumber: cfdaProgramIdentificationNumber.optional(), principalInvestigatOrFirstName: z.string().optional(), principalInvestigatOrMiddleInitial: z.string().optional(), principalInvestigatOrLastName: z.string().optional(), alternatePrincipalInvestigatorFirstName: z.string().optional(), alternatePrincipalInvestigatOrMiddleInitial: z.string().optional(), alternatePrincipalInvestigatOrLastName: z.string().optional(), closeoutPR: z.string().optional(), advisoryAssistanceServicesContract: z.string().optional(), supportServicesTypeContract: z.string().optional(), newTechnologyOrPatentClause: z.string().optional(), propertyFinancialReporting: z.string().optional(), valueEngineeringClause: z.string().optional(), securityCode: z.string().optional(), isPhysicallyComplete: z.string().optional(), physicalCompletionDate: z.string().optional(), finalInvoicePaidDate: z.string().optional(), solicitationIssueDate: z.string().optional(), cancellationDate: z.string().optional(), destroyDate: z.string().optional(), nonFederalFundingAmount: z.string().optional(), nasaStatutoryAuthority: z.string().optional()}); export const transactionData = z.object({status: z.string().optional(), version: z.string().optional(), createdBy: z.string().optional(), createdDate: z.string().optional(), lastModifiedBy: z.string().optional(), lastModifiedDate: z.string().optional(), approvedBy: z.string().optional(), approvedDate: z.string().optional(), closedBy: z.string().optional(), closedDate: z.string().optional(), closedStatus: z.string().optional()}); export const awardDetails = z.object({dates: dates.optional(), dollars: dollars.optional(), totalContractDollars: totalContractDollars.optional(), treasuryAccount: treasuryAccount.optional(), contractData: contractData.optional(), productOrServiceInformation: productOrServiceInformation.optional(), competitionInformation: competitionInformation.optional(), preferenceProgramsInformation: preferenceProgramsInformation.optional(), legislativeMandates: legislativeMandates.optional(), contractMarketingData: contractMarketingData.optional(), awardeeData: awardeeData.optional(), nasaSpecificData: nasaSpecificData.optional(), transactionData: transactionData.optional()}); export const awardSummary = z.object({contractId: contractId.optional(), oldContractId: oldContractId.optional(), coreData: coreData.optional(), awardDetails: awardDetails.optional()}); export const awardResponse = z.object({piidAggregation: piidAggregation.optional(), awardSummary: z.array(awardSummary).optional(), totalRecords: z.string().optional(), limit: z.string().optional(), offset: z.string().optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Get Contract Award Extract in JSON or CSV format * * GET /contract-awards/v1/search */ export const getApiContractAwardsV1Search = async (args: GetApiContractAwardsV1SearchArgs, options: GetApiContractAwardsV1SearchOptions) => { const {baseUrl, fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (args.contractRequest != null) query.append("contractRequest", JSON.stringify(args.contractRequest)) if (args.api_key != null) query.append("api_key", String(args.api_key)) if (args['x-Api-Roles'] != null) headers.set("x-Api-Roles", String(args['x-Api-Roles'])) if (args.offset != null) query.append("offset", String(args.offset)) if (args.limit != null) query.append("limit", String(args.limit)) if (args.format != null) query.append("format", String(args.format)) const url = `${baseUrl.replace(/\/+$/, '')}/contract-awards/v1/search${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(awardResponse, await res.json()) };