arazzo: 1.0.1 info: title: Trulioo Discover A Package And Verify summary: List the customer's configured packages, resolve a package's supported countries, then verify a person. description: >- A first-run discovery flow for a new integration: enumerate the product packages configured for the authenticated customer, resolve the country codes a chosen package supports, and then submit a Verify against that package and a supported country. Every step spells out its request inline so the flow can be read and executed without opening the underlying OpenAPI description. version: 1.0.0 sourceDescriptions: - name: configurationApi url: ../openapi/trulioo-configuration-api-openapi.yml type: openapi - name: verificationsApi url: ../openapi/trulioo-verifications-api-openapi.yml type: openapi workflows: - workflowId: discover-package-and-verify summary: List packages, resolve supported countries, then verify a person. description: >- Enumerates the configured packages, resolves the countries a package supports, and submits a Verify against the package and country. inputs: type: object required: - configurationName - countryCode - dataFields properties: configurationName: type: string description: Configured product/package name to verify against. countryCode: type: string description: Two-letter ISO 3166 country code (must be supported by the package). dataFields: type: object description: DataFields block for the verification. steps: - stepId: getPackages description: >- List all product packages available to the authenticated customer. operationId: getPackages successCriteria: - condition: $statusCode == 200 outputs: packages: $response.body - stepId: getCountryCodes description: >- Resolve the country codes supported by the chosen package configuration. operationId: getCountryCodes parameters: - name: configurationName in: path value: $inputs.configurationName successCriteria: - condition: $statusCode == 200 outputs: supportedCountries: $response.body - stepId: verify description: >- Submit the Verify request against the chosen package and country. operationId: verifyPerson requestBody: contentType: application/json payload: AcceptTruliooTermsAndConditions: true ConfigurationName: $inputs.configurationName CountryCode: $inputs.countryCode DataFields: $inputs.dataFields successCriteria: - condition: $statusCode == 200 outputs: transactionRecordId: $response.body#/Record/TransactionRecordID recordStatus: $response.body#/Record/RecordStatus outputs: packages: $steps.getPackages.outputs.packages supportedCountries: $steps.getCountryCodes.outputs.supportedCountries recordStatus: $steps.verify.outputs.recordStatus