diff --git a/screening-api-docs/api.json b/screening-api-docs/api.json index add05b1..f052a84 100644 --- a/screening-api-docs/api.json +++ b/screening-api-docs/api.json @@ -3323,6 +3323,943 @@ } ] } + }, + "/partner/v1/leads/activity_logs": { + "get": { + "operationId": "LeadsController_getActivityLogs", + "summary": "Get activity timeline for all leads", + "parameters": [ + { + "name": "page", + "required": false, + "in": "query", + "schema": { + "default": 1, + "type": "number" + } + }, + { + "name": "per_page", + "required": false, + "in": "query", + "schema": { + "default": 10, + "type": "number" + } + }, + { + "name": "activity_type", + "required": false, + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PaginatedResponse" + }, + { + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LeadActivityLog" + } + } + } + } + ] + } + } + } + }, + "401": { + "description": "Unauthorized" + } + }, + "tags": ["Leads"], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/partner/v1/leads": { + "post": { + "operationId": "LeadsController_create", + "summary": "Create a lead", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateLeadRequest" + } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Lead" + } + } + } + }, + "401": { + "description": "Unauthorized" + }, + "422": { + "description": "Could not create lead" + } + }, + "tags": ["Leads"], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/partner/v1/leads/{id}": { + "get": { + "operationId": "LeadsController_findById", + "summary": "Get lead detail", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Lead" + } + } + } + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "description": "Not found" + } + }, + "tags": ["Leads"], + "security": [ + { + "bearer": [] + } + ] + }, + "patch": { + "operationId": "LeadsController_update", + "summary": "Update lead", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateLeadRequest" + } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Lead" + } + } + } + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "description": "Not found" + }, + "422": { + "description": "Validation failed" + } + }, + "tags": ["Leads"], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/partner/v1/leads/{id}/issue_access_token": { + "post": { + "operationId": "LeadsController_issueAccessToken", + "summary": "Issue lead SDK access token", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LeadIssueAccessToken" + } + } + } + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "description": "Not found" + } + }, + "tags": ["Leads"], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/partner/v1/leads/{id}/apply": { + "post": { + "operationId": "LeadsController_apply", + "summary": "Convert lead to application", + "description": "Creates a new application from the lead, or uncancels an existing canceled application if the feature is enabled.", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationList" + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "description": "Not found" + } + }, + "tags": ["Leads"], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/partner/v1/leads/{id}/activity_logs": { + "get": { + "operationId": "LeadsController_getLeadActivityLogs", + "summary": "Get activity timeline for a specific lead", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + }, + { + "name": "page", + "required": false, + "in": "query", + "schema": { + "default": 1, + "type": "number" + } + }, + { + "name": "per_page", + "required": false, + "in": "query", + "schema": { + "default": 10, + "type": "number" + } + }, + { + "name": "activity_type", + "required": false, + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PaginatedResponse" + }, + { + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LeadActivityLog" + } + } + } + } + ] + } + } + } + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "description": "Not found" + } + }, + "tags": ["Leads"], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/partner/v1/leads/{id}/verifications/identity/expire": { + "post": { + "operationId": "LeadsController_expireIdentityVerification", + "summary": "Expire lead identity verification", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Identity verification expired successfully" + }, + "400": { + "description": "No finished identity verification found for this lead" + }, + "401": { + "description": "Unauthorized" + }, + "404": { + "description": "Not found" + } + }, + "tags": ["Leads"], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/partner/v1/billing/statements": { + "get": { + "operationId": "BillingStatementsController_findAll", + "summary": "Get billing statements for partner", + "parameters": [ + { "name": "page", "required": false, "in": "query", "schema": { "default": 1, "type": "number" } }, + { "name": "per_page", "required": false, "in": "query", "schema": { "default": 10, "type": "number" } }, + { "name": "start_date", "required": false, "in": "query", "schema": { "type": "string", "format": "date", "example": "2024-01-01" } }, + { "name": "end_date", "required": false, "in": "query", "schema": { "type": "string", "format": "date", "example": "2024-12-31" } } + ], + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "allOf": [{ "$ref": "#/components/schemas/PaginatedResponse" }, { "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/BillingStatement" } } } }] } } } }, + "401": { "description": "Unauthorized" } + }, + "tags": ["Billing"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/billing/statements/{id}": { + "get": { + "operationId": "BillingStatementsController_findById", + "summary": "Get billing statement by ID", + "parameters": [ + { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } + ], + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BillingStatement" } } } }, + "401": { "description": "Unauthorized" }, + "404": { "description": "Statement not found" } + }, + "tags": ["Billing"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/billing/statements/{id}/activities": { + "get": { + "operationId": "BillingStatementsController_getActivities", + "summary": "Get billing activities for a statement", + "parameters": [ + { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }, + { "name": "page", "required": false, "in": "query", "schema": { "default": 1, "type": "number" } }, + { "name": "per_page", "required": false, "in": "query", "schema": { "default": 10, "type": "number" } } + ], + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "allOf": [{ "$ref": "#/components/schemas/PaginatedResponse" }, { "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/BillingActivity" } } } }] } } } }, + "401": { "description": "Unauthorized" }, + "404": { "description": "Statement not found" } + }, + "tags": ["Billing"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/roles": { + "get": { + "operationId": "RolesController_findAll", + "summary": "List all roles for partner", + "parameters": [ + { "name": "page", "required": false, "in": "query", "schema": { "default": 1, "type": "number" } }, + { "name": "per_page", "required": false, "in": "query", "schema": { "default": 10, "type": "number" } } + ], + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "allOf": [{ "$ref": "#/components/schemas/PaginatedResponse" }, { "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/Role" } } } }] } } } }, + "401": { "description": "Unauthorized" } + }, + "tags": ["Roles"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/property_groups": { + "get": { + "operationId": "PropertyGroupsController_findAll", + "summary": "Get property groups", + "parameters": [ + { "name": "page", "required": false, "in": "query", "schema": { "default": 1, "type": "number" } }, + { "name": "per_page", "required": false, "in": "query", "schema": { "default": 10, "type": "number" } } + ], + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "allOf": [{ "$ref": "#/components/schemas/PaginatedResponse" }, { "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/PropertyGroup" } } } }] } } } }, + "401": { "description": "Unauthorized" } + }, + "tags": ["Property Groups"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/property_groups/{id}": { + "get": { + "operationId": "PropertyGroupsController_findById", + "summary": "Get property group", + "parameters": [ + { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } + ], + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PropertyGroupDetailed" } } } }, + "401": { "description": "Unauthorized" }, + "404": { "description": "Not found" } + }, + "tags": ["Property Groups"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/customers": { + "get": { + "operationId": "CustomersController_findAll", + "summary": "Get customers", + "parameters": [ + { "name": "page", "required": false, "in": "query", "schema": { "default": 1, "type": "number" } }, + { "name": "per_page", "required": false, "in": "query", "schema": { "default": 10, "type": "number" } } + ], + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "allOf": [{ "$ref": "#/components/schemas/PaginatedResponse" }, { "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/Customer" } } } }] } } } }, + "401": { "description": "Unauthorized" } + }, + "tags": ["Customers"], + "security": [{ "bearer": [] }] + }, + "post": { + "operationId": "CustomersController_create", + "summary": "Create customer for partner", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCustomerRequest" } } } }, + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PartnersCustomer" } } } }, + "401": { "description": "Unauthorized" }, + "422": { "description": "Could not create customer" } + }, + "tags": ["Customers"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/customers/check": { + "post": { + "operationId": "CustomersController_check", + "summary": "Check if customer can enroll", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCustomerRequest" } } } }, + "responses": { + "204": { "description": "Customer can be enrolled" }, + "401": { "description": "Unauthorized" }, + "422": { "description": "Customer cannot be enrolled" } + }, + "tags": ["Customers"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/customers/{id}": { + "get": { + "operationId": "CustomersController_findById", + "summary": "Get customer's personal details", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PartnersCustomer" } } } }, + "401": { "description": "Unauthorized" }, + "404": { "description": "Not found" } + }, + "tags": ["Customers"], + "security": [{ "bearer": [] }] + }, + "patch": { + "operationId": "CustomersController_update", + "summary": "Update customer's personal details", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "requestBody": { "required": false, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateCustomerRequest" } } } }, + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PartnersCustomer" } } } }, + "401": { "description": "Unauthorized" }, + "404": { "description": "Not found" }, + "422": { "description": "Unprocessable entity" } + }, + "tags": ["Customers"], + "security": [{ "bearer": [] }] + }, + "delete": { + "operationId": "CustomersController_unenroll", + "summary": "Unenroll customer", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "responses": { + "204": { "description": "Customer unenrolled successfully" }, + "401": { "description": "Unauthorized" }, + "404": { "description": "Not found" } + }, + "tags": ["Customers"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/customers/{id}/issue_access_token": { + "post": { + "operationId": "CustomersController_issueAccessToken", + "summary": "Issue customer SDK access token", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomerIssueAccessToken" } } } }, + "401": { "description": "Unauthorized" }, + "404": { "description": "Not found" } + }, + "tags": ["Customers"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/customers/{id}/issues": { + "get": { + "operationId": "CustomersController_getIssues", + "summary": "List unresolved issues for a customer", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "issues": { "type": "array", "items": { "type": "string" } } } } } } }, + "401": { "description": "Unauthorized" }, + "404": { "description": "Not found" } + }, + "tags": ["Customers"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/customers/{id}/partner/plaid/tokens": { + "get": { + "operationId": "CustomersController_getPlaidTokens", + "summary": "List Plaid tokens for a customer", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "allOf": [{ "$ref": "#/components/schemas/PaginatedResponse" }, { "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/PlaidToken" } } } }] } } } }, + "401": { "description": "Unauthorized" }, + "404": { "description": "Not found" } + }, + "tags": ["Customers"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/customers/{id}/partner/plaid/link": { + "post": { + "operationId": "CustomersController_linkPlaid", + "summary": "Link Plaid processor token for a customer", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "processor_token": { "type": "string" }, "relay_token": { "type": "string" } } } } } }, + "responses": { + "200": { "description": "Plaid token linked successfully" }, + "401": { "description": "Unauthorized" }, + "404": { "description": "Not found" }, + "422": { "description": "Unprocessable entity" } + }, + "tags": ["Customers"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/customers/{id}/partner/plaid/unlink": { + "post": { + "operationId": "CustomersController_unlinkPlaid", + "summary": "Unlink Plaid processor token for a customer", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "processor_token": { "type": "string" } }, "required": ["processor_token"] } } } }, + "responses": { + "204": { "description": "Plaid token unlinked successfully" }, + "401": { "description": "Unauthorized" }, + "404": { "description": "Not found" }, + "422": { "description": "Unprocessable entity" } + }, + "tags": ["Customers"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/customers/{id}/ledgers": { + "get": { + "operationId": "CustomersController_getLedgers", + "summary": "Get customer's ledgers", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "responses": { + "200": { "description": "List of ledgers" }, + "401": { "description": "Unauthorized" }, + "404": { "description": "Not found" } + }, + "tags": ["Customers"], + "security": [{ "bearer": [] }] + }, + "post": { + "operationId": "CustomersController_linkLedger", + "summary": "Link customer's ledger", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "service_name": { "type": "string", "example": "chime" }, "authorization_code": { "type": "string" } }, "required": ["service_name", "authorization_code"] } } } }, + "responses": { + "200": { "description": "Ledger linked successfully" }, + "401": { "description": "Unauthorized" }, + "404": { "description": "Not found" }, + "422": { "description": "Unprocessable entity" } + }, + "tags": ["Customers"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/customers/{id}/ledgers/{ledger_id}": { + "get": { + "operationId": "CustomersController_getLedgerById", + "summary": "Get customer's ledger by ID", + "parameters": [ + { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }, + { "name": "ledger_id", "required": true, "in": "path", "schema": { "type": "string" } } + ], + "responses": { + "200": { "description": "Ledger details" }, + "401": { "description": "Unauthorized" }, + "404": { "description": "Not found" } + }, + "tags": ["Customers"], + "security": [{ "bearer": [] }] + }, + "delete": { + "operationId": "CustomersController_unlinkLedger", + "summary": "Unlink customer's ledger", + "parameters": [ + { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }, + { "name": "ledger_id", "required": true, "in": "path", "schema": { "type": "string" } } + ], + "responses": { + "204": { "description": "Ledger unlinked successfully" }, + "401": { "description": "Unauthorized" }, + "404": { "description": "Not found" } + }, + "tags": ["Customers"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/enrollments": { + "get": { + "operationId": "EnrollmentsController_findAll", + "summary": "Get enrollments", + "parameters": [ + { "name": "page", "required": false, "in": "query", "schema": { "default": 1, "type": "number" } }, + { "name": "per_page", "required": false, "in": "query", "schema": { "default": 10, "type": "number" } }, + { "name": "customer_id", "required": false, "in": "query", "schema": { "type": "string" } } + ], + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "allOf": [{ "$ref": "#/components/schemas/PaginatedResponse" }, { "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/Enrollment" } } } }] } } } }, + "401": { "description": "Unauthorized" } + }, + "tags": ["Enrollments"], + "security": [{ "bearer": [] }] + }, + "post": { + "operationId": "EnrollmentsController_create", + "summary": "Create enrollment for partner", + "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateEnrollmentRequest" } } } }, + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Enrollment" } } } }, + "400": { "description": "Customer already has active enrollment" }, + "401": { "description": "Unauthorized" } + }, + "tags": ["Enrollments"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/enrollments/{id}": { + "get": { + "operationId": "EnrollmentsController_findById", + "summary": "Get an enrollment details", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Enrollment" } } } }, + "401": { "description": "Unauthorized" }, + "404": { "description": "Not found" } + }, + "tags": ["Enrollments"], + "security": [{ "bearer": [] }] + }, + "patch": { + "operationId": "EnrollmentsController_update", + "summary": "Update enrollment details", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "requestBody": { "required": false, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateEnrollmentRequest" } } } }, + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Enrollment" } } } }, + "401": { "description": "Unauthorized" } + }, + "tags": ["Enrollments"], + "security": [{ "bearer": [] }] + }, + "delete": { + "operationId": "EnrollmentsController_delete", + "summary": "Delete an enrollment", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "responses": { + "200": { "description": "Enrollment deleted" }, + "401": { "description": "Unauthorized" } + }, + "tags": ["Enrollments"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/enrollments/{id}/landlord": { + "patch": { + "operationId": "EnrollmentsController_updateLandlord", + "summary": "Update enrollment's landlord details", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "requestBody": { "required": false, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateLandlordRequest" } } } }, + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Enrollment" } } } }, + "401": { "description": "Unauthorized" } + }, + "tags": ["Enrollments"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/enrollments/{id}/enroll": { + "post": { + "operationId": "EnrollmentsController_enroll", + "summary": "Enroll completed enrollment", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Enrollment" } } } }, + "401": { "description": "Unauthorized" }, + "422": { "description": "Could not submit enrollment" } + }, + "tags": ["Enrollments"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/enrollments/{id}/add_products": { + "post": { + "operationId": "EnrollmentsController_addProducts", + "summary": "Add product to an enrolled enrollment", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "products": { "type": "array", "items": { "type": "string", "enum": ["past_reporting"] } } }, "required": ["products"] } } } }, + "responses": { + "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Enrollment" } } } }, + "401": { "description": "Unauthorized" }, + "422": { "description": "Failed to add products" } + }, + "tags": ["Enrollments"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/enrollments/{id}/report_rental_payments": { + "post": { + "operationId": "EnrollmentsController_reportRentalPayments", + "summary": "Verify rental payments", + "parameters": [{ "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }], + "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "rental_payments": { "type": "array", "items": { "type": "object", "properties": { "for_month": { "type": "string", "example": "2024-01" }, "no_data": { "type": "boolean" }, "months_delinquency": { "type": "integer" } }, "required": ["for_month", "no_data", "months_delinquency"] } } }, "required": ["rental_payments"] } } } }, + "responses": { + "200": { "description": "Rental payments verified" }, + "401": { "description": "Unauthorized" }, + "422": { "description": "Failed to verify rental payments" } + }, + "tags": ["Enrollments"], + "security": [{ "bearer": [] }] + } + }, + "/partner/v1/billing/activities": { + "get": { + "operationId": "BillingActivitiesController_findAll", + "summary": "Get billing activities for partner", + "parameters": [ + { + "name": "page", + "required": false, + "in": "query", + "schema": { + "default": 1, + "type": "number" + } + }, + { + "name": "per_page", + "required": false, + "in": "query", + "schema": { + "default": 10, + "type": "number" + } + }, + { + "name": "start_date", + "required": false, + "in": "query", + "schema": { + "type": "string", + "format": "date", + "example": "2024-01-01" + } + }, + { + "name": "end_date", + "required": false, + "in": "query", + "schema": { + "type": "string", + "format": "date", + "example": "2024-12-31" + } + }, + { + "name": "statement_id", + "required": false, + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "applicant_id", + "required": false, + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PaginatedResponse" + }, + { + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BillingActivity" + } + } + } + } + ] + } + } + } + }, + "401": { + "description": "Unauthorized" + } + }, + "tags": ["Billing"], + "security": [ + { + "bearer": [] + } + ] + } } }, "info": { @@ -6312,82 +7249,373 @@ }, "date_file_established": { "type": "string", - "example": "2020-01-01T00:00:00.000Z", + "example": "2020-01-01T00:00:00.000Z", + "nullable": true + }, + "date_most_recent_activity": { + "type": "string", + "example": "2020-01-01T00:00:00.000Z", + "nullable": true + } + }, + "required": [ + "other_names", + "death_date", + "address1", + "city", + "state", + "zip", + "address_variance_indicator", + "current_phone_number", + "date_reported_address", + "date_reported_phone_number", + "ssn_status", + "ssn_match", + "ssn_match_flags", + "issue_date", + "issue_state", + "date_file_established", + "date_most_recent_activity" + ] + }, + "CreditReportStatus": { + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "S", + "nullable": true + }, + "description": { + "type": "string", + "example": "Status", + "nullable": true + } + }, + "required": ["code", "description"] + }, + "CreditReportCollection": { + "type": "object", + "properties": { + "industry_code": { + "type": "string", + "example": "Collection Agency", + "nullable": true + }, + "customer_number": { + "type": "string", + "example": "123456", + "nullable": true + }, + "account_number": { + "type": "string", + "example": "123456", + "nullable": true + }, + "client_name": { + "type": "string", + "example": "Original Creditor", + "nullable": true + }, + "status": { + "nullable": true, + "allOf": [ + { + "$ref": "#/components/schemas/CreditReportStatus" + } + ] + }, + "narrative_codes": { + "nullable": true, + "type": "array", + "items": { + "$ref": "#/components/schemas/CreditReportNarrativeCode" + } + }, + "date_reported": { + "type": "string", + "example": "2020-01-01T00:00:00.000Z", + "nullable": true + }, + "original_amount": { + "nullable": true, + "allOf": [ + { + "$ref": "#/components/schemas/Money" + } + ] + }, + "balance": { + "nullable": true, + "allOf": [ + { + "$ref": "#/components/schemas/Money" + } + ] + } + }, + "required": [ + "industry_code", + "customer_number", + "account_number", + "client_name", + "status", + "narrative_codes", + "date_reported", + "original_amount", + "balance" + ] + }, + "CreditReportEmploymentInformation": { + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "Current", + "nullable": true + }, + "occupation": { + "type": "string", + "example": "Occupation", + "nullable": true + }, + "employer": { + "type": "string", + "example": "Employer", + "nullable": true + }, + "date_last_reported": { + "type": "string", + "example": "2020-01-01T00:00:00.000Z", + "nullable": true + }, + "date_first_reported": { + "type": "string", + "example": "2020-01-01T00:00:00.000Z", + "nullable": true + } + }, + "required": [ + "status", + "occupation", + "employer", + "date_last_reported", + "date_first_reported" + ] + }, + "CreditReportAccountOwner": { + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "O", + "nullable": true + }, + "description": { + "type": "string", + "example": "Owner", + "nullable": true + } + }, + "required": ["code", "description"] + }, + "CreditReportAccountType": { + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "C", + "nullable": true + }, + "description": { + "type": "string", + "example": "Credit", + "nullable": true + } + }, + "required": ["code", "description"] + }, + "CreditReportRate": { + "type": "object", + "properties": { + "code": { + "type": "number", + "example": "R", + "nullable": true + }, + "description": { + "type": "string", + "example": "Rate", + "nullable": true + } + }, + "required": ["code", "description"] + }, + "CreditReportTermsDuration": { + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "T", + "nullable": true + }, + "description": { + "type": "string", + "example": "Terms of duration", + "nullable": true + } + }, + "required": ["code", "description"] + }, + "CreditReportTermsFrequency": { + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "T", + "nullable": true + }, + "description": { + "type": "string", + "example": "Terms of frequency", + "nullable": true + } + }, + "required": ["code", "description"] + }, + "CreditorClassification": { + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "1", "nullable": true }, - "date_most_recent_activity": { + "description": { "type": "string", - "example": "2020-01-01T00:00:00.000Z", + "example": "Credit classification", "nullable": true } }, - "required": [ - "other_names", - "death_date", - "address1", - "city", - "state", - "zip", - "address_variance_indicator", - "current_phone_number", - "date_reported_address", - "date_reported_phone_number", - "ssn_status", - "ssn_match", - "ssn_match_flags", - "issue_date", - "issue_state", - "date_file_established", - "date_most_recent_activity" - ] + "required": ["code", "description"] }, - "CreditReportStatus": { + "CreditReportPaymentHistory": { "type": "object", "properties": { "code": { "type": "string", - "example": "S", - "nullable": true + "example": "P" }, "description": { "type": "string", - "example": "Status", + "example": "Payment History", "nullable": true } }, "required": ["code", "description"] }, - "CreditReportCollection": { + "CreditReportAccountOverview": { "type": "object", "properties": { - "industry_code": { + "account_number": { "type": "string", - "example": "Collection Agency", + "example": "123456", "nullable": true }, - "customer_number": { + "account_name": { "type": "string", - "example": "123456", + "example": "Account Name", "nullable": true }, - "account_number": { + "account_owner": { + "nullable": true, + "allOf": [ + { + "$ref": "#/components/schemas/CreditReportAccountOwner" + } + ] + }, + "account_type": { + "nullable": true, + "allOf": [ + { + "$ref": "#/components/schemas/CreditReportAccountType" + } + ] + }, + "balance": { + "nullable": true, + "allOf": [ + { + "$ref": "#/components/schemas/Money" + } + ] + }, + "high_credit": { + "nullable": true, + "allOf": [ + { + "$ref": "#/components/schemas/Money" + } + ] + }, + "credit_limit": { + "nullable": true, + "allOf": [ + { + "$ref": "#/components/schemas/Money" + } + ] + }, + "scheduled_payment_amount": { + "nullable": true, + "allOf": [ + { + "$ref": "#/components/schemas/Money" + } + ] + }, + "months_reviewed": { "type": "string", - "example": "123456", + "example": "24", "nullable": true }, - "client_name": { + "rate": { + "nullable": true, + "allOf": [ + { + "$ref": "#/components/schemas/CreditReportRate" + } + ] + }, + "date_opened": { "type": "string", - "example": "Original Creditor", + "example": "2020-01-01T00:00:00.000Z", "nullable": true }, - "status": { + "date_reported": { + "type": "string", + "example": "2020-01-01T00:00:00.000Z", + "nullable": true + }, + "date_closed": { + "type": "string", + "example": "2020-01-01T00:00:00.000Z", + "nullable": true + }, + "charge_off_amount": { "nullable": true, "allOf": [ { - "$ref": "#/components/schemas/CreditReportStatus" + "$ref": "#/components/schemas/Money" } ] }, + "last_activity_date": { + "type": "string", + "example": "2020-01-01T00:00:00.000Z", + "nullable": true + }, "narrative_codes": { "nullable": true, "type": "array", @@ -6395,12 +7623,20 @@ "$ref": "#/components/schemas/CreditReportNarrativeCode" } }, - "date_reported": { + "ballon_payment_amount": { + "nullable": true, + "allOf": [ + { + "$ref": "#/components/schemas/Money" + } + ] + }, + "ballon_payment_date": { "type": "string", "example": "2020-01-01T00:00:00.000Z", "nullable": true }, - "original_amount": { + "past_due_amount": { "nullable": true, "allOf": [ { @@ -6408,113 +7644,210 @@ } ] }, - "balance": { + "actual_payment_amount": { "nullable": true, "allOf": [ { "$ref": "#/components/schemas/Money" } ] + }, + "last_payment_date": { + "type": "string", + "example": "2020-01-01T00:00:00.000Z", + "nullable": true + }, + "terms_duration": { + "nullable": true, + "allOf": [ + { + "$ref": "#/components/schemas/CreditReportTermsDuration" + } + ] + }, + "terms_frequency": { + "nullable": true, + "allOf": [ + { + "$ref": "#/components/schemas/CreditReportTermsFrequency" + } + ] + }, + "deferred_payment_start": { + "type": "string", + "example": "2020-01-01T00:00:00.000Z", + "nullable": true + }, + "previous_high_rate_one": { + "type": "number", + "nullable": true, + "example": 10 + }, + "previous_high_rate_two": { + "type": "number", + "nullable": true, + "example": 10 + }, + "previous_high_date_one": { + "type": "string", + "example": "2020-01-01T00:00:00.000Z", + "nullable": true + }, + "previous_high_date_two": { + "type": "string", + "example": "2020-01-01T00:00:00.000Z", + "nullable": true + }, + "date_major_first_delinquency_reported": { + "type": "string", + "example": "2020-01-01T00:00:00.000Z", + "nullable": true + }, + "thirty_days_delinquency": { + "type": "number", + "example": 1, + "nullable": true + }, + "sixty_days_delinquency": { + "type": "number", + "example": 1, + "nullable": true + }, + "ninety_days_delinquency": { + "type": "number", + "example": 1, + "nullable": true + }, + "creditor_classification": { + "nullable": true, + "allOf": [ + { + "$ref": "#/components/schemas/CreditorClassification" + } + ] + }, + "original_creditor_name": { + "type": "string", + "example": "Creditor", + "nullable": true + }, + "payment_history": { + "nullable": true, + "type": "array", + "items": { + "$ref": "#/components/schemas/CreditReportPaymentHistory" + } } }, "required": [ - "industry_code", - "customer_number", "account_number", - "client_name", - "status", - "narrative_codes", + "account_name", + "account_owner", + "account_type", + "balance", + "high_credit", + "credit_limit", + "scheduled_payment_amount", + "months_reviewed", + "rate", + "date_opened", "date_reported", - "original_amount", - "balance" + "date_closed", + "charge_off_amount", + "last_activity_date", + "narrative_codes", + "ballon_payment_amount", + "ballon_payment_date", + "past_due_amount", + "actual_payment_amount", + "last_payment_date", + "terms_duration", + "terms_frequency", + "deferred_payment_start", + "previous_high_rate_one", + "previous_high_rate_two", + "previous_high_date_one", + "previous_high_date_two", + "date_major_first_delinquency_reported", + "thirty_days_delinquency", + "sixty_days_delinquency", + "ninety_days_delinquency", + "creditor_classification", + "original_creditor_name", + "payment_history" ] }, - "CreditReportEmploymentInformation": { + "CreditReportHistoricalConsumerInformation": { "type": "object", "properties": { - "status": { + "address1": { "type": "string", - "example": "Current", + "example": "123 Main St", "nullable": true }, - "occupation": { + "city": { "type": "string", - "example": "Occupation", + "example": "New York", "nullable": true }, - "employer": { + "state": { "type": "string", - "example": "Employer", + "example": "NY", "nullable": true }, - "date_last_reported": { + "zip": { "type": "string", - "example": "2020-01-01T00:00:00.000Z", + "example": "12345", "nullable": true }, "date_first_reported": { "type": "string", "example": "2020-01-01T00:00:00.000Z", "nullable": true - } - }, - "required": [ - "status", - "occupation", - "employer", - "date_last_reported", - "date_first_reported" - ] - }, - "CreditReportAccountOwner": { - "type": "object", - "properties": { - "code": { + }, + "date_last_reported": { "type": "string", - "example": "O", + "example": "2020-01-01T00:00:00.000Z", "nullable": true }, - "description": { + "type": { "type": "string", - "example": "Owner", + "example": "Type", "nullable": true } }, - "required": ["code", "description"] + "required": [ + "address1", + "city", + "state", + "zip", + "date_first_reported", + "date_last_reported", + "type" + ] }, - "CreditReportAccountType": { + "CreditReportConsumerStatement": { "type": "object", "properties": { - "code": { + "statement": { "type": "string", - "example": "C", + "example": "Statement of the consumer", "nullable": true }, - "description": { + "date_reported": { "type": "string", - "example": "Credit", - "nullable": true - } - }, - "required": ["code", "description"] - }, - "CreditReportRate": { - "type": "object", - "properties": { - "code": { - "type": "number", - "example": "R", + "example": "2020-01-01T00:00:00.000Z", "nullable": true }, - "description": { + "date_purged": { "type": "string", - "example": "Rate", + "example": "2020-01-01T00:00:00.000Z", "nullable": true } }, - "required": ["code", "description"] + "required": ["statement", "date_reported", "date_purged"] }, - "CreditReportTermsDuration": { + "CreditReportType": { "type": "object", "properties": { "code": { @@ -6524,783 +7857,699 @@ }, "description": { "type": "string", - "example": "Terms of duration", + "example": "Type", "nullable": true } }, "required": ["code", "description"] }, - "CreditReportTermsFrequency": { + "CreditReportAlertContact": { "type": "object", "properties": { - "code": { + "type": { + "nullable": true, + "allOf": [ + { + "$ref": "#/components/schemas/CreditReportType" + } + ] + }, + "date_reported": { "type": "string", - "example": "T", + "example": "2020-01-01T00:00:00.000Z", "nullable": true }, - "description": { + "date_effective": { "type": "string", - "example": "Terms of frequency", + "example": "2020-01-01T00:00:00.000Z", "nullable": true - } - }, - "required": ["code", "description"] - }, - "CreditorClassification": { - "type": "object", - "properties": { - "code": { + }, + "status": { "type": "string", - "example": "1", + "example": "Status", "nullable": true }, - "description": { + "phone_numbers": { + "examples": ["(504) 113-1705", "(504) 113-1705"], + "nullable": true, + "type": "array", + "items": { + "type": "string" + } + }, + "address": { "type": "string", - "example": "Credit classification", + "example": "123 Main St", "nullable": true } }, - "required": ["code", "description"] + "required": [ + "type", + "date_reported", + "date_effective", + "status", + "phone_numbers", + "address" + ] }, - "CreditReportPaymentHistory": { + "CreditReportAlertsAndTriggers": { "type": "object", "properties": { - "code": { + "fraud_victim_indicator": { "type": "string", - "example": "P" + "example": "Fraud Victim Indicator", + "nullable": true }, - "description": { + "address_discrepancy_indicator": { "type": "string", - "example": "Payment History", + "example": "Address Discrepancy Indicator", "nullable": true + }, + "alert_contacts": { + "nullable": true, + "type": "array", + "items": { + "$ref": "#/components/schemas/CreditReportAlertContact" + } } }, - "required": ["code", "description"] + "required": [ + "fraud_victim_indicator", + "address_discrepancy_indicator", + "alert_contacts" + ] }, - "CreditReportAccountOverview": { + "CreditReport": { "type": "object", "properties": { - "account_number": { - "type": "string", - "example": "123456", - "nullable": true - }, - "account_name": { - "type": "string", - "example": "Account Name", - "nullable": true - }, - "account_owner": { - "nullable": true, - "allOf": [ - { - "$ref": "#/components/schemas/CreditReportAccountOwner" - } - ] - }, - "account_type": { - "nullable": true, - "allOf": [ - { - "$ref": "#/components/schemas/CreditReportAccountType" - } - ] - }, - "balance": { - "nullable": true, - "allOf": [ - { - "$ref": "#/components/schemas/Money" - } - ] - }, - "high_credit": { - "nullable": true, - "allOf": [ - { - "$ref": "#/components/schemas/Money" - } - ] - }, - "credit_limit": { - "nullable": true, - "allOf": [ - { - "$ref": "#/components/schemas/Money" - } - ] - }, - "scheduled_payment_amount": { - "nullable": true, - "allOf": [ - { - "$ref": "#/components/schemas/Money" - } - ] - }, - "months_reviewed": { - "type": "string", - "example": "24", - "nullable": true - }, - "rate": { - "nullable": true, - "allOf": [ - { - "$ref": "#/components/schemas/CreditReportRate" - } - ] - }, - "date_opened": { - "type": "string", - "example": "2020-01-01T00:00:00.000Z", - "nullable": true - }, - "date_reported": { - "type": "string", - "example": "2020-01-01T00:00:00.000Z", + "score": { + "type": "number", + "example": 700, "nullable": true }, - "date_closed": { - "type": "string", - "example": "2020-01-01T00:00:00.000Z", - "nullable": true + "hit_code": { + "$ref": "#/components/schemas/CreditReportHitCode" }, - "charge_off_amount": { + "personal_data": { "nullable": true, "allOf": [ { - "$ref": "#/components/schemas/Money" + "$ref": "#/components/schemas/CreditReportPersonalData" } ] }, - "last_activity_date": { - "type": "string", - "example": "2020-01-01T00:00:00.000Z", - "nullable": true + "bankruptcy_details": { + "nullable": true, + "type": "array", + "items": { + "$ref": "#/components/schemas/CreditReportBankruptcyDetail" + } }, - "narrative_codes": { + "credit_inquiries": { "nullable": true, "type": "array", "items": { - "$ref": "#/components/schemas/CreditReportNarrativeCode" + "$ref": "#/components/schemas/CreditReportInquiry" } }, - "ballon_payment_amount": { + "consumer_information": { "nullable": true, "allOf": [ { - "$ref": "#/components/schemas/Money" + "$ref": "#/components/schemas/CreditReportConsumerInformation" } ] }, - "ballon_payment_date": { - "type": "string", - "example": "2020-01-01T00:00:00.000Z", - "nullable": true + "collections": { + "nullable": true, + "type": "array", + "items": { + "$ref": "#/components/schemas/CreditReportCollection" + } }, - "past_due_amount": { + "employment_information": { "nullable": true, - "allOf": [ - { - "$ref": "#/components/schemas/Money" - } - ] + "type": "array", + "items": { + "$ref": "#/components/schemas/CreditReportEmploymentInformation" + } }, - "actual_payment_amount": { + "account_overview": { "nullable": true, - "allOf": [ - { - "$ref": "#/components/schemas/Money" - } - ] + "type": "array", + "items": { + "$ref": "#/components/schemas/CreditReportAccountOverview" + } }, - "last_payment_date": { - "type": "string", - "example": "2020-01-01T00:00:00.000Z", - "nullable": true + "historical_consumer_information": { + "nullable": true, + "type": "array", + "items": { + "$ref": "#/components/schemas/CreditReportHistoricalConsumerInformation" + } }, - "terms_duration": { + "consumer_statements": { "nullable": true, - "allOf": [ - { - "$ref": "#/components/schemas/CreditReportTermsDuration" - } - ] + "type": "array", + "items": { + "$ref": "#/components/schemas/CreditReportConsumerStatement" + } }, - "terms_frequency": { + "alerts_and_triggers": { "nullable": true, "allOf": [ { - "$ref": "#/components/schemas/CreditReportTermsFrequency" + "$ref": "#/components/schemas/CreditReportAlertsAndTriggers" } ] - }, - "deferred_payment_start": { + } + }, + "required": [ + "hit_code", + "personal_data", + "bankruptcy_details", + "credit_inquiries", + "consumer_information", + "collections", + "employment_information", + "account_overview", + "historical_consumer_information", + "consumer_statements", + "alerts_and_triggers" + ] + }, + "IncomeVerificationSupervisor": { + "type": "object", + "properties": { + "email": { "type": "string", - "example": "2020-01-01T00:00:00.000Z", + "example": "jd@boompay.app", "nullable": true }, - "previous_high_rate_one": { - "type": "number", - "nullable": true, - "example": 10 - }, - "previous_high_rate_two": { - "type": "number", - "nullable": true, - "example": 10 - }, - "previous_high_date_one": { + "phone": { "type": "string", - "example": "2020-01-01T00:00:00.000Z", - "nullable": true + "example": "1234567890" }, - "previous_high_date_two": { + "last_name": { "type": "string", - "example": "2020-01-01T00:00:00.000Z", - "nullable": true + "example": "Doe" }, - "date_major_first_delinquency_reported": { + "first_name": { "type": "string", - "example": "2020-01-01T00:00:00.000Z", - "nullable": true - }, - "thirty_days_delinquency": { - "type": "number", - "example": 1, - "nullable": true - }, - "sixty_days_delinquency": { - "type": "number", - "example": 1, - "nullable": true + "example": "John" + } + }, + "required": ["email", "phone", "last_name", "first_name"] + }, + "IncomeVerificationPreTaxIncome": { + "type": "object", + "properties": { + "income_type": { + "type": "Type" }, - "ninety_days_delinquency": { + "income_amount": { "type": "number", - "example": 1, - "nullable": true - }, - "creditor_classification": { - "nullable": true, - "allOf": [ - { - "$ref": "#/components/schemas/CreditorClassification" - } - ] - }, - "original_creditor_name": { - "type": "string", - "example": "Creditor", - "nullable": true - }, - "payment_history": { - "nullable": true, + "example": 1000 + } + }, + "required": ["income_type", "income_amount"] + }, + "IncomeVerificationMethod": { + "type": "object", + "properties": { + "pay_stub_files": { "type": "array", "items": { - "$ref": "#/components/schemas/CreditReportPaymentHistory" + "$ref": "#/components/schemas/File" } + }, + "verification_type": { + "type": "string", + "example": "Paystub" } }, - "required": [ - "account_number", - "account_name", - "account_owner", - "account_type", - "balance", - "high_credit", - "credit_limit", - "scheduled_payment_amount", - "months_reviewed", - "rate", - "date_opened", - "date_reported", - "date_closed", - "charge_off_amount", - "last_activity_date", - "narrative_codes", - "ballon_payment_amount", - "ballon_payment_date", - "past_due_amount", - "actual_payment_amount", - "last_payment_date", - "terms_duration", - "terms_frequency", - "deferred_payment_start", - "previous_high_rate_one", - "previous_high_rate_two", - "previous_high_date_one", - "previous_high_date_two", - "date_major_first_delinquency_reported", - "thirty_days_delinquency", - "sixty_days_delinquency", - "ninety_days_delinquency", - "creditor_classification", - "original_creditor_name", - "payment_history" - ] + "required": ["pay_stub_files", "verification_type"] }, - "CreditReportHistoricalConsumerInformation": { + "IncomeVerificationEmployment": { "type": "object", "properties": { - "address1": { - "type": "string", - "example": "123 Main St", - "nullable": true - }, - "city": { + "job_title": { "type": "string", - "example": "New York", - "nullable": true + "example": "Software Engineer" }, - "state": { + "start_date": { "type": "string", - "example": "NY", - "nullable": true + "example": "2021-01-01" }, - "zip": { - "type": "string", - "example": "12345", - "nullable": true + "supervisor": { + "$ref": "#/components/schemas/IncomeVerificationSupervisor" }, - "date_first_reported": { + "company_name": { "type": "string", - "example": "2020-01-01T00:00:00.000Z", - "nullable": true + "example": "BoomPay" }, - "date_last_reported": { - "type": "string", - "example": "2020-01-01T00:00:00.000Z", - "nullable": true + "current_income": { + "type": "boolean", + "example": true }, - "type": { - "type": "string", - "example": "Type", - "nullable": true + "pre_tax_income": { + "$ref": "#/components/schemas/IncomeVerificationPreTaxIncome" + }, + "verification_method": { + "$ref": "#/components/schemas/IncomeVerificationMethod" } }, "required": [ - "address1", - "city", - "state", - "zip", - "date_first_reported", - "date_last_reported", - "type" + "job_title", + "start_date", + "supervisor", + "company_name", + "current_income", + "pre_tax_income", + "verification_method" ] }, - "CreditReportConsumerStatement": { + "IncomeVerificationIncomeSource": { "type": "object", "properties": { - "statement": { - "type": "string", - "example": "Statement of the consumer", - "nullable": true + "employment": { + "$ref": "#/components/schemas/IncomeVerificationEmployment" }, - "date_reported": { + "income_source": { "type": "string", - "example": "2020-01-01T00:00:00.000Z", - "nullable": true + "example": "Employment" }, - "date_purged": { - "type": "string", - "example": "2020-01-01T00:00:00.000Z", - "nullable": true + "monthly_income": { + "$ref": "#/components/schemas/Money" } }, - "required": ["statement", "date_reported", "date_purged"] + "required": ["employment", "income_source", "monthly_income"] }, - "CreditReportType": { + "IncomeVerificationReport": { "type": "object", "properties": { - "code": { + "income_sources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IncomeVerificationIncomeSource" + } + }, + "do_you_have_source_of_income": { "type": "string", - "example": "T", - "nullable": true + "example": "Yes" }, - "description": { + "current_income": { + "$ref": "#/components/schemas/Money" + }, + "income_to_rent_ratio": { + "type": "number", + "example": 1.5 + } + }, + "required": [ + "income_sources", + "do_you_have_source_of_income", + "current_income", + "income_to_rent_ratio" + ] + }, + "BankIncomeTotalAmount": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "example": 1000 + }, + "iso_currency_code": { "type": "string", - "example": "Type", - "nullable": true + "example": "USD" + }, + "unofficial_currency_code": { + "type": "object", + "example": "USD" } }, - "required": ["code", "description"] + "required": ["amount", "iso_currency_code", "unofficial_currency_code"] }, - "CreditReportAlertContact": { + "VerifiedTransaction": { "type": "object", "properties": { - "type": { - "nullable": true, - "allOf": [ - { - "$ref": "#/components/schemas/CreditReportType" - } - ] + "date": { + "type": "string", + "example": "2021-01-01" }, - "date_reported": { + "name": { "type": "string", - "example": "2020-01-01T00:00:00.000Z", - "nullable": true + "example": "Transaction" }, - "date_effective": { + "amount": { + "$ref": "#/components/schemas/Money" + }, + "check_number": { "type": "string", - "example": "2020-01-01T00:00:00.000Z", - "nullable": true + "example": "123" }, - "status": { + "transaction_id": { "type": "string", - "example": "Status", - "nullable": true + "example": "123" }, - "phone_numbers": { - "examples": ["(504) 113-1705", "(504) 113-1705"], - "nullable": true, - "type": "array", - "items": { - "type": "string" - } + "iso_currency_code": { + "type": "string", + "example": "USD" }, - "address": { + "original_description": { "type": "string", - "example": "123 Main St", - "nullable": true + "example": "This is a description" + }, + "unofficial_currency_code": { + "type": "object", + "example": "USD" } }, "required": [ - "type", - "date_reported", - "date_effective", - "status", - "phone_numbers", - "address" + "date", + "name", + "amount", + "check_number", + "transaction_id", + "iso_currency_code", + "original_description", + "unofficial_currency_code" ] }, - "CreditReportAlertsAndTriggers": { + "VerifiedHistoricalSummary": { "type": "object", "properties": { - "fraud_victim_indicator": { + "end_date": { "type": "string", - "example": "Fraud Victim Indicator", - "nullable": true + "example": "2021-01-01" }, - "address_discrepancy_indicator": { + "start_date": { "type": "string", - "example": "Address Discrepancy Indicator", - "nullable": true + "example": "2021-01-01" }, - "alert_contacts": { - "nullable": true, - "type": "array", - "items": { - "$ref": "#/components/schemas/CreditReportAlertContact" - } - } - }, - "required": [ - "fraud_victim_indicator", - "address_discrepancy_indicator", - "alert_contacts" - ] - }, - "CreditReport": { - "type": "object", - "properties": { - "score": { - "type": "number", - "example": 700, - "nullable": true + "iso_currency_code": { + "type": "string", + "example": "USD" }, - "hit_code": { - "$ref": "#/components/schemas/CreditReportHitCode" + "unofficial_currency_code": { + "type": "string", + "example": "USD" }, - "personal_data": { + "total_amount": { "nullable": true, "allOf": [ { - "$ref": "#/components/schemas/CreditReportPersonalData" + "$ref": "#/components/schemas/BankIncomeTotalAmount" } ] }, - "bankruptcy_details": { - "nullable": true, - "type": "array", - "items": { - "$ref": "#/components/schemas/CreditReportBankruptcyDetail" - } - }, - "credit_inquiries": { - "nullable": true, + "transactions": { "type": "array", "items": { - "$ref": "#/components/schemas/CreditReportInquiry" + "$ref": "#/components/schemas/VerifiedTransaction" } }, - "consumer_information": { - "nullable": true, - "allOf": [ - { - "$ref": "#/components/schemas/CreditReportConsumerInformation" - } - ] - }, - "collections": { - "nullable": true, + "total_amounts": { "type": "array", "items": { - "$ref": "#/components/schemas/CreditReportCollection" + "$ref": "#/components/schemas/BankIncomeTotalAmount" } - }, - "employment_information": { - "nullable": true, + } + }, + "required": [ + "end_date", + "start_date", + "iso_currency_code", + "unofficial_currency_code", + "total_amount", + "transactions", + "total_amounts" + ] + }, + "VerifiedContactData": { + "type": "object", + "properties": { + "data": { + "type": "string", + "example": "Value" + } + }, + "required": ["data"] + }, + "VerifiedBankOwner": { + "type": "object", + "properties": { + "names": { + "example": ["John", "Doe"], "type": "array", "items": { - "$ref": "#/components/schemas/CreditReportEmploymentInformation" + "type": "string" } }, - "account_overview": { + "emails": { "nullable": true, "type": "array", "items": { - "$ref": "#/components/schemas/CreditReportAccountOverview" + "$ref": "#/components/schemas/VerifiedContactData" } }, - "historical_consumer_information": { + "addresses": { "nullable": true, "type": "array", "items": { - "$ref": "#/components/schemas/CreditReportHistoricalConsumerInformation" + "$ref": "#/components/schemas/VerifiedContactData" } }, - "consumer_statements": { + "phone_numbers": { "nullable": true, "type": "array", "items": { - "$ref": "#/components/schemas/CreditReportConsumerStatement" + "$ref": "#/components/schemas/VerifiedContactData" } - }, - "alerts_and_triggers": { - "nullable": true, - "allOf": [ - { - "$ref": "#/components/schemas/CreditReportAlertsAndTriggers" - } - ] } }, - "required": [ - "hit_code", - "personal_data", - "bankruptcy_details", - "credit_inquiries", - "consumer_information", - "collections", - "employment_information", - "account_overview", - "historical_consumer_information", - "consumer_statements", - "alerts_and_triggers" - ] + "required": ["names", "emails", "addresses", "phone_numbers"] }, - "IncomeVerificationSupervisor": { + "VerifiedBankIncomeSource": { "type": "object", "properties": { - "email": { + "end_date": { "type": "string", - "example": "jd@boompay.app", - "nullable": true + "example": "2021-01-01" }, - "phone": { + "account_id": { "type": "string", - "example": "1234567890" + "example": "123" }, - "last_name": { + "start_date": { "type": "string", - "example": "Doe" + "example": "2021-01-01" }, - "first_name": { + "total_amount": { + "$ref": "#/components/schemas/BankIncomeTotalAmount" + }, + "pay_frequency": { "type": "string", - "example": "John" - } - }, - "required": ["email", "phone", "last_name", "first_name"] - }, - "IncomeVerificationPreTaxIncome": { - "type": "object", - "properties": { - "income_type": { - "type": "Type" + "example": "MONTHLY" }, - "income_amount": { + "income_category": { + "type": "string", + "example": "SALARY" + }, + "income_source_id": { + "type": "string", + "example": "123" + }, + "transaction_count": { "type": "number", - "example": 1000 - } - }, - "required": ["income_type", "income_amount"] - }, - "IncomeVerificationMethod": { - "type": "object", - "properties": { - "pay_stub_files": { + "example": 10 + }, + "historical_summary": { "type": "array", "items": { - "$ref": "#/components/schemas/File" + "$ref": "#/components/schemas/VerifiedHistoricalSummary" } }, - "verification_type": { - "type": "string", - "example": "Paystub" - } - }, - "required": ["pay_stub_files", "verification_type"] - }, - "IncomeVerificationEmployment": { - "type": "object", - "properties": { - "job_title": { + "income_description": { "type": "string", - "example": "Software Engineer" + "example": "Description" }, - "start_date": { + "mask": { "type": "string", - "example": "2021-01-01" + "example": "1234" }, - "supervisor": { - "$ref": "#/components/schemas/IncomeVerificationSupervisor" + "name": { + "type": "string", + "example": "Checking" }, - "company_name": { + "type": { "type": "string", - "example": "BoomPay" + "example": "Bank" }, - "current_income": { - "type": "boolean", - "example": true + "owners": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VerifiedBankOwner" + } }, - "pre_tax_income": { - "$ref": "#/components/schemas/IncomeVerificationPreTaxIncome" + "subtype": { + "type": "string", + "example": "Checking" }, - "verification_method": { - "$ref": "#/components/schemas/IncomeVerificationMethod" + "official_name": { + "type": "string", + "example": "Name" + }, + "past_three_months_avg": { + "$ref": "#/components/schemas/Money" } }, "required": [ - "job_title", + "end_date", + "account_id", "start_date", - "supervisor", - "company_name", - "current_income", - "pre_tax_income", - "verification_method" + "total_amount", + "pay_frequency", + "income_category", + "income_source_id", + "transaction_count", + "historical_summary", + "income_description", + "mask", + "name", + "type", + "owners", + "subtype", + "official_name", + "past_three_months_avg" ] }, - "IncomeVerificationIncomeSource": { + "VerifiedBankIncomeAccount": { "type": "object", "properties": { - "employment": { - "$ref": "#/components/schemas/IncomeVerificationEmployment" + "mask": { + "type": "string", + "example": "1234" }, - "income_source": { + "name": { "type": "string", - "example": "Employment" + "example": "Checking" }, - "monthly_income": { - "$ref": "#/components/schemas/Money" - } - }, - "required": ["employment", "income_source", "monthly_income"] - }, - "IncomeVerificationReport": { - "type": "object", - "properties": { - "income_sources": { + "type": { + "type": "string", + "example": "Bank" + }, + "owners": { "type": "array", "items": { - "$ref": "#/components/schemas/IncomeVerificationIncomeSource" + "$ref": "#/components/schemas/VerifiedBankOwner" } }, - "do_you_have_source_of_income": { + "subtype": { "type": "string", - "example": "Yes" + "example": "Checking" }, - "current_income": { - "$ref": "#/components/schemas/Money" + "account_id": { + "type": "string", + "example": "123" }, - "income_to_rent_ratio": { - "type": "number", - "example": 1.5 + "official_name": { + "type": "string", + "example": "Name" } }, "required": [ - "income_sources", - "do_you_have_source_of_income", - "current_income", - "income_to_rent_ratio" + "mask", + "name", + "type", + "owners", + "subtype", + "account_id", + "official_name" ] }, - "BankIncomeTotalAmount": { + "VerifiedInstitutionMetadata": { "type": "object", "properties": { - "amount": { - "type": "number", - "example": 1000 + "url": { + "type": "string", + "example": "https://example.com" }, - "iso_currency_code": { + "logo": { "type": "string", - "example": "USD" + "example": "base64content" }, - "unofficial_currency_code": { - "type": "object", - "example": "USD" + "name": { + "type": "string", + "example": "Bank" + }, + "status": { + "type": "string", + "example": "status" + }, + "institution_id": { + "type": "string", + "example": "123" + }, + "routing_numbers": { + "example": ["123"], + "type": "array", + "items": { + "type": "string" + } } }, - "required": ["amount", "iso_currency_code", "unofficial_currency_code"] + "required": [ + "url", + "logo", + "name", + "status", + "institution_id", + "routing_numbers" + ] }, - "VerifiedTransaction": { + "VerifiedIncomeItem": { "type": "object", "properties": { - "date": { - "type": "string", - "example": "2021-01-01" - }, - "name": { - "type": "string", - "example": "Transaction" - }, - "amount": { - "$ref": "#/components/schemas/Money" - }, - "check_number": { + "item_id": { "type": "string", "example": "123" }, - "transaction_id": { + "institution_id": { "type": "string", "example": "123" }, - "iso_currency_code": { + "institution_name": { "type": "string", - "example": "USD" + "example": "Bank" }, - "original_description": { - "type": "string", - "example": "This is a description" + "bank_income_sources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VerifiedBankIncomeSource" + } }, - "unofficial_currency_code": { - "type": "object", - "example": "USD" + "bank_income_accounts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VerifiedBankIncomeAccount" + } + }, + "institution_metadata": { + "$ref": "#/components/schemas/VerifiedInstitutionMetadata" } }, "required": [ - "date", - "name", - "amount", - "check_number", - "transaction_id", - "iso_currency_code", - "original_description", - "unofficial_currency_code" + "item_id", + "institution_id", + "institution_name", + "bank_income_sources", + "bank_income_accounts", + "institution_metadata" ] }, - "VerifiedHistoricalSummary": { + "VerifiedBankIncomeSummary": { "type": "object", "properties": { "end_date": { @@ -7311,702 +8560,879 @@ "type": "string", "example": "2021-01-01" }, - "iso_currency_code": { - "type": "string", - "example": "USD" - }, - "unofficial_currency_code": { - "type": "string", - "example": "USD" - }, "total_amount": { - "nullable": true, - "allOf": [ - { - "$ref": "#/components/schemas/BankIncomeTotalAmount" - } - ] + "type": "number", + "example": 1000 }, - "transactions": { + "total_amounts": { "type": "array", "items": { - "$ref": "#/components/schemas/VerifiedTransaction" + "$ref": "#/components/schemas/BankIncomeTotalAmount" } }, - "total_amounts": { + "iso_currency_code": { + "type": "string", + "example": "USD" + }, + "historical_summary": { "type": "array", "items": { - "$ref": "#/components/schemas/BankIncomeTotalAmount" + "$ref": "#/components/schemas/VerifiedHistoricalSummary" } + }, + "income_sources_count": { + "type": "number", + "example": 1 + }, + "income_categories_count": { + "type": "number", + "example": 1 + }, + "unofficial_currency_code": { + "type": "string", + "example": "USD" + }, + "income_transactions_count": { + "type": "number", + "example": 1 } }, "required": [ "end_date", "start_date", + "total_amount", + "total_amounts", "iso_currency_code", + "historical_summary", + "income_sources_count", + "income_categories_count", "unofficial_currency_code", - "total_amount", - "transactions", - "total_amounts" + "income_transactions_count" ] }, - "VerifiedContactData": { - "type": "object", - "properties": { - "data": { - "type": "string", - "example": "Value" - } - }, - "required": ["data"] - }, - "VerifiedBankOwner": { + "VerifiedBankIncome": { "type": "object", "properties": { - "names": { - "example": ["John", "Doe"], + "items": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/VerifiedIncomeItem" } }, - "emails": { - "nullable": true, - "type": "array", - "items": { - "$ref": "#/components/schemas/VerifiedContactData" - } + "bank_income_id": { + "type": "string", + "example": "123" }, - "addresses": { - "nullable": true, - "type": "array", - "items": { - "$ref": "#/components/schemas/VerifiedContactData" - } + "days_requested": { + "type": "number", + "example": 365 }, - "phone_numbers": { - "nullable": true, + "bank_income_summary": { + "$ref": "#/components/schemas/VerifiedBankIncomeSummary" + }, + "historical_summary": { "type": "array", "items": { - "$ref": "#/components/schemas/VerifiedContactData" + "$ref": "#/components/schemas/VerifiedHistoricalSummary" } } }, - "required": ["names", "emails", "addresses", "phone_numbers"] + "required": [ + "items", + "bank_income_id", + "days_requested", + "bank_income_summary", + "historical_summary" + ] }, - "VerifiedBankIncomeSource": { + "VerifiedIncomeVerificationReport": { "type": "object", "properties": { - "end_date": { + "income_source_type": { "type": "string", - "example": "2021-01-01" + "example": "Bank" }, - "account_id": { - "type": "string", - "example": "123" + "flow_types": { + "example": ["payroll_digital_income"], + "type": "array", + "items": { + "type": "string" + } + }, + "monthly_rent_amount": { + "$ref": "#/components/schemas/Money" }, "start_date": { "type": "string", "example": "2021-01-01" }, - "total_amount": { - "$ref": "#/components/schemas/BankIncomeTotalAmount" - }, - "pay_frequency": { + "end_date": { "type": "string", - "example": "MONTHLY" + "example": "2021-01-01" }, - "income_category": { + "bank_income": { + "$ref": "#/components/schemas/VerifiedBankIncome" + }, + "income_count": { + "type": "number", + "example": 1 + }, + "past_three_months_avg": { + "$ref": "#/components/schemas/Money" + }, + "income_to_rent_ratio": { + "type": "number", + "example": 1.5 + } + }, + "required": [ + "income_source_type", + "flow_types", + "monthly_rent_amount", + "start_date", + "end_date", + "bank_income", + "income_count", + "past_three_months_avg", + "income_to_rent_ratio" + ] + }, + "VerificationDetail": { + "type": "object", + "properties": { + "id": { "type": "string", - "example": "SALARY" + "example": "1" }, - "income_source_id": { + "name": { "type": "string", - "example": "123" + "example": "identity_verification" }, - "transaction_count": { + "index": { "type": "number", - "example": 10 + "example": 1 }, - "historical_summary": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VerifiedHistoricalSummary" - } + "editable": { + "type": "boolean", + "example": true }, - "income_description": { + "progress": { + "$ref": "#/components/schemas/VerificationProgress" + }, + "description": { "type": "string", - "example": "Description" + "example": "Verify the identity of the applicant" }, - "mask": { + "title": { "type": "string", - "example": "1234" + "example": "Identity Verification" }, - "name": { + "status": { "type": "string", - "example": "Checking" + "example": "pending", + "enum": [ + "pending", + "started", + "submitted", + "failed", + "finished", + "finished_with_warnings", + "verified", + "canceled", + "skipped" + ] }, - "type": { + "completed_at": { + "format": "date-time", "type": "string", - "example": "Bank" - }, - "owners": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VerifiedBankOwner" - } + "example": "2021-01-01T00:00:00.000Z", + "nullable": true }, - "subtype": { + "created_at": { + "format": "date-time", "type": "string", - "example": "Checking" + "example": "2021-01-01T00:00:00.000Z" }, - "official_name": { + "updated_at": { + "format": "date-time", "type": "string", - "example": "Name" + "example": "2021-01-01T00:00:00.000Z" }, - "past_three_months_avg": { - "$ref": "#/components/schemas/Money" + "report": { + "anyOf": [ + { + "$ref": "#/components/schemas/RentalApplicationReport" + }, + { + "$ref": "#/components/schemas/HouseHistoryReport" + }, + { + "$ref": "#/components/schemas/IdentityVerificationReport" + }, + { + "$ref": "#/components/schemas/EvictionReport" + }, + { + "$ref": "#/components/schemas/CriminalReport" + }, + { + "$ref": "#/components/schemas/CreditReport" + }, + { + "$ref": "#/components/schemas/IncomeVerificationReport" + }, + { + "$ref": "#/components/schemas/VerifiedIncomeVerificationReport" + } + ] } }, "required": [ - "end_date", - "account_id", - "start_date", - "total_amount", - "pay_frequency", - "income_category", - "income_source_id", - "transaction_count", - "historical_summary", - "income_description", - "mask", + "id", "name", - "type", - "owners", - "subtype", - "official_name", - "past_three_months_avg" + "index", + "editable", + "progress", + "description", + "title", + "status", + "completed_at", + "created_at", + "updated_at", + "report" ] }, - "VerifiedBankIncomeAccount": { + "AdditionalDocument": { "type": "object", "properties": { - "mask": { + "id": { "type": "string", - "example": "1234" + "example": "123" }, - "name": { + "document_type": { "type": "string", - "example": "Checking" + "example": "document_type" }, - "type": { + "asset_url": { "type": "string", - "example": "Bank" + "example": "asset_url" }, - "owners": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VerifiedBankOwner" - } + "asset_name": { + "type": "string", + "example": "asset_name" }, - "subtype": { + "created_at": { + "format": "date-time", "type": "string", - "example": "Checking" + "example": "2021-01-01T00:00:00.000Z" }, - "account_id": { + "updated_at": { + "format": "date-time", "type": "string", - "example": "123" + "example": "2021-01-01T00:00:00.000Z" }, - "official_name": { + "uploaded_by": { "type": "string", - "example": "Name" + "example": "uploaded_by" } }, "required": [ - "mask", - "name", - "type", - "owners", - "subtype", - "account_id", - "official_name" + "id", + "document_type", + "asset_url", + "asset_name", + "created_at", + "updated_at", + "uploaded_by" ] }, - "VerifiedInstitutionMetadata": { + "OverrideIdentityVerification": { + "type": "object", + "properties": {}, + "required": [] + }, + "ApplicationOnHoldRestrictions": { "type": "object", + "title": "Application On Hold Restrictions", + "description": "When an application is placed on hold, the following actions are restricted until the application is resumed:", "properties": { - "url": { - "type": "string", - "example": "https://example.com" + "restricted_actions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of actions that cannot be performed on on_hold applications", + "example": [ + "Approve application", + "Reject application", + "Perform verifications", + "Rerun verifications", + "Request retry identity verification", + "Resend invitations", + "Merge applications", + "Make decisions" + ] }, - "logo": { + "allowed_actions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of actions that can still be performed on on_hold applications", + "example": [ + "View application details", + "Place on hold (if already on hold)", + "Resume application", + "Cancel application" + ] + }, + "status_transitions": { + "type": "object", + "description": "Valid status transitions for on_hold applications", + "properties": { + "from": { + "type": "string", + "example": "submitted" + }, + "to": { + "type": "string", + "example": "on_hold" + }, + "resume_to": { + "type": "string", + "example": "submitted" + } + } + } + } + }, + "BankAccount": { + "type": "object", + "description": "Bank account information", + "properties": { + "id": { "type": "string", - "example": "base64content" + "example": "abc123", + "description": "Unique identifier for the bank account" }, "name": { "type": "string", - "example": "Bank" + "example": "Main Operating Account", + "description": "Name of the bank account" }, - "status": { + "last4": { "type": "string", - "example": "status" + "example": "1234", + "description": "Last 4 digits of the bank account number" }, - "institution_id": { + "routing_number": { "type": "string", - "example": "123" - }, - "routing_numbers": { - "example": ["123"], - "type": "array", - "items": { - "type": "string" - } + "example": "021000021", + "description": "Bank routing number" } }, - "required": [ - "url", - "logo", - "name", - "status", - "institution_id", - "routing_numbers" - ] + "required": ["id", "name", "last4", "routing_number"] }, - "VerifiedIncomeItem": { + "SetBankAccountRequest": { "type": "object", + "description": "Request body for setting a bank account on a property", "properties": { - "item_id": { + "bank_account_id": { + "type": "string", + "example": "abc123", + "description": "The ID of the bank account to associate with the property" + } + }, + "required": ["bank_account_id"] + }, + "Lead": { + "type": "object", + "properties": { + "id": { + "type": "string", + "example": "abc123" + }, + "first_name": { + "type": "string", + "example": "John", + "nullable": true + }, + "last_name": { + "type": "string", + "example": "Doe", + "nullable": true + }, + "email": { "type": "string", - "example": "123" + "example": "john@example.com", + "nullable": true }, - "institution_id": { + "phone": { "type": "string", - "example": "123" + "example": "+14155552671", + "nullable": true }, - "institution_name": { + "external_id": { "type": "string", - "example": "Bank" + "example": "ext_123", + "nullable": true }, - "bank_income_sources": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VerifiedBankIncomeSource" - } + "identity_verification_finished": { + "type": "boolean", + "example": false }, - "bank_income_accounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VerifiedBankIncomeAccount" - } + "finished_identity_verification_status": { + "type": "string", + "example": "verified", + "nullable": true }, - "institution_metadata": { - "$ref": "#/components/schemas/VerifiedInstitutionMetadata" + "property_id": { + "type": "string", + "example": "prop_abc", + "nullable": true + }, + "unit_id": { + "type": "string", + "example": "unit_abc", + "nullable": true + }, + "applicant_id": { + "type": "string", + "example": "applicant_abc", + "nullable": true, + "description": "The ID of the applicant associated with this lead, if they have started an application." + }, + "application_id": { + "type": "string", + "example": "app_abc", + "nullable": true, + "description": "The ID of the application associated with this lead, if one exists." + }, + "created_at": { + "type": "string", + "format": "date-time", + "example": "2024-01-01T00:00:00.000Z" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2024-01-01T00:00:00.000Z" } - }, - "required": [ - "item_id", - "institution_id", - "institution_name", - "bank_income_sources", - "bank_income_accounts", - "institution_metadata" - ] + } }, - "VerifiedBankIncomeSummary": { + "LeadActivityLog": { "type": "object", "properties": { - "end_date": { + "id": { + "type": "number", + "example": 1 + }, + "activity_type": { "type": "string", - "example": "2021-01-01" + "example": "lead_created" }, - "start_date": { + "title": { "type": "string", - "example": "2021-01-01" + "example": "Lead created", + "nullable": true }, - "total_amount": { - "type": "number", - "example": 1000 + "description": { + "type": "string", + "example": "Lead was created via API", + "nullable": true }, - "total_amounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BankIncomeTotalAmount" - } + "occurred_at": { + "type": "string", + "format": "date-time", + "example": "2024-01-01T00:00:00.000Z", + "nullable": true }, - "iso_currency_code": { + "actor_type": { "type": "string", - "example": "USD" + "example": "partner_user", + "nullable": true }, - "historical_summary": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VerifiedHistoricalSummary" - } + "actor_name": { + "type": "string", + "example": "John Doe", + "nullable": true }, - "income_sources_count": { - "type": "number", - "example": 1 + "metadata": { + "type": "object", + "nullable": true }, - "income_categories_count": { - "type": "number", - "example": 1 + "lead_id": { + "type": "string", + "example": "lead_abc", + "nullable": true }, - "unofficial_currency_code": { + "created_at": { "type": "string", - "example": "USD" + "format": "date-time", + "example": "2024-01-01T00:00:00.000Z" }, - "income_transactions_count": { - "type": "number", - "example": 1 + "updated_at": { + "type": "string", + "format": "date-time", + "example": "2024-01-01T00:00:00.000Z" } - }, - "required": [ - "end_date", - "start_date", - "total_amount", - "total_amounts", - "iso_currency_code", - "historical_summary", - "income_sources_count", - "income_categories_count", - "unofficial_currency_code", - "income_transactions_count" - ] + } }, - "VerifiedBankIncome": { + "LeadIssueAccessToken": { "type": "object", "properties": { - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VerifiedIncomeItem" - } + "access_token": { + "type": "string", + "example": "access_key-jwt_token", + "description": "SDK access token in the format {partner_access_key}-{jwt_token}" + } + } + }, + "CreateLeadRequest": { + "type": "object", + "properties": { + "unit_id": { + "type": "string", + "example": "unit_abc", + "description": "The ID of the unit the lead is interested in" }, - "bank_income_id": { + "external_id": { "type": "string", - "example": "123" + "example": "ext_123", + "nullable": true }, - "days_requested": { - "type": "number", - "example": 365 + "first_name": { + "type": "string", + "example": "John", + "nullable": true }, - "bank_income_summary": { - "$ref": "#/components/schemas/VerifiedBankIncomeSummary" + "last_name": { + "type": "string", + "example": "Doe", + "nullable": true }, - "historical_summary": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VerifiedHistoricalSummary" - } + "email": { + "type": "string", + "example": "john@example.com", + "nullable": true + }, + "phone": { + "type": "string", + "example": "+14155552671", + "nullable": true } }, - "required": [ - "items", - "bank_income_id", - "days_requested", - "bank_income_summary", - "historical_summary" - ] + "required": ["unit_id"] }, - "VerifiedIncomeVerificationReport": { + "UpdateLeadRequest": { "type": "object", "properties": { - "income_source_type": { + "first_name": { "type": "string", - "example": "Bank" - }, - "flow_types": { - "example": ["payroll_digital_income"], - "type": "array", - "items": { - "type": "string" - } - }, - "monthly_rent_amount": { - "$ref": "#/components/schemas/Money" + "example": "John" }, - "start_date": { + "last_name": { "type": "string", - "example": "2021-01-01" + "example": "Doe" }, - "end_date": { + "email": { "type": "string", - "example": "2021-01-01" - }, - "bank_income": { - "$ref": "#/components/schemas/VerifiedBankIncome" - }, - "income_count": { - "type": "number", - "example": 1 + "example": "john@example.com" }, - "past_three_months_avg": { - "$ref": "#/components/schemas/Money" + "phone": { + "type": "string", + "example": "+14155552671" }, - "income_to_rent_ratio": { - "type": "number", - "example": 1.5 + "external_id": { + "type": "string", + "example": "ext_123" } - }, - "required": [ - "income_source_type", - "flow_types", - "monthly_rent_amount", - "start_date", - "end_date", - "bank_income", - "income_count", - "past_three_months_avg", - "income_to_rent_ratio" - ] + } }, - "VerificationDetail": { + "BillingActivity": { "type": "object", "properties": { "id": { "type": "string", - "example": "1" + "example": "abc123" }, - "name": { + "description": { "type": "string", - "example": "identity_verification" + "example": "Screening fee", + "nullable": true }, - "index": { - "type": "number", - "example": 1 + "category": { + "type": "string", + "example": "screening", + "nullable": true }, - "editable": { - "type": "boolean", - "example": true + "billing_type": { + "type": "string", + "example": "per_applicant", + "nullable": true }, - "progress": { - "$ref": "#/components/schemas/VerificationProgress" + "subject_type": { + "type": "string", + "example": "applicant", + "nullable": true, + "enum": ["applicant", "verification", "lead", "customer", "reporting_account", "identity_verification"] + }, + "subject_id": { + "type": "string", + "example": "subj_abc", + "nullable": true + }, + "amount": { + "type": "object", + "properties": { + "cents": { + "type": "number", + "example": 4000 + }, + "currency": { + "type": "string", + "example": "USD" + } + } }, - "description": { + "statement_id": { "type": "string", - "example": "Verify the identity of the applicant" + "example": "stmt_abc", + "nullable": true }, - "title": { - "type": "string", - "example": "Identity Verification" + "bank_account": { + "$ref": "#/components/schemas/BankAccount", + "nullable": true }, - "status": { + "product": { "type": "string", - "example": "pending", - "enum": [ - "pending", - "started", - "submitted", - "failed", - "finished", - "finished_with_warnings", - "verified", - "canceled", - "skipped" - ] + "example": "boom_screen", + "nullable": true }, - "completed_at": { - "format": "date-time", + "property_name": { "type": "string", - "example": "2021-01-01T00:00:00.000Z", + "example": "Sunset Apartments", "nullable": true }, - "created_at": { - "format": "date-time", + "one_line_address": { "type": "string", - "example": "2021-01-01T00:00:00.000Z" + "example": "123 Main St, San Francisco, CA 94105", + "nullable": true }, - "updated_at": { - "format": "date-time", + "unit": { "type": "string", - "example": "2021-01-01T00:00:00.000Z" + "example": "Unit 4B", + "nullable": true }, - "report": { - "anyOf": [ - { - "$ref": "#/components/schemas/RentalApplicationReport" - }, - { - "$ref": "#/components/schemas/HouseHistoryReport" - }, - { - "$ref": "#/components/schemas/IdentityVerificationReport" - }, - { - "$ref": "#/components/schemas/EvictionReport" - }, - { - "$ref": "#/components/schemas/CriminalReport" - }, - { - "$ref": "#/components/schemas/CreditReport" - }, - { - "$ref": "#/components/schemas/IncomeVerificationReport" - }, - { - "$ref": "#/components/schemas/VerifiedIncomeVerificationReport" - } - ] - } - }, - "required": [ - "id", - "name", - "index", - "editable", - "progress", - "description", - "title", - "status", - "completed_at", - "created_at", - "updated_at", - "report" - ] - }, - "AdditionalDocument": { - "type": "object", - "properties": { - "id": { + "email": { "type": "string", - "example": "123" + "example": "applicant@example.com", + "nullable": true }, - "document_type": { + "name": { "type": "string", - "example": "document_type" + "example": "John Doe", + "nullable": true }, - "asset_url": { + "property_group_name": { "type": "string", - "example": "asset_url" + "example": "West Coast Properties", + "nullable": true }, - "asset_name": { + "verification_name": { "type": "string", - "example": "asset_name" + "example": "Identity Verification", + "nullable": true }, "created_at": { - "format": "date-time", "type": "string", - "example": "2021-01-01T00:00:00.000Z" - }, - "updated_at": { "format": "date-time", - "type": "string", - "example": "2021-01-01T00:00:00.000Z" + "example": "2024-01-01T00:00:00.000Z" }, - "uploaded_by": { + "updated_at": { "type": "string", - "example": "uploaded_by" + "format": "date-time", + "example": "2024-01-01T00:00:00.000Z", + "nullable": true } - }, - "required": [ - "id", - "document_type", - "asset_url", - "asset_name", - "created_at", - "updated_at", - "uploaded_by" - ] + } }, - "OverrideIdentityVerification": { + "BillingStatement": { "type": "object", - "properties": {}, - "required": [] + "properties": { + "id": { "type": "string", "example": "stmt_abc" }, + "status": { "type": "string", "example": "pending", "nullable": true }, + "started_at": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" }, + "ended_at": { "type": "string", "format": "date-time", "example": "2024-01-31T23:59:59.000Z" }, + "created_at": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" }, + "updated_at": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z", "nullable": true }, + "balance": { + "type": "object", + "properties": { + "cents": { "type": "number", "example": 4000 }, + "currency": { "type": "string", "example": "USD" } + } + }, + "bank_account": { "$ref": "#/components/schemas/BankAccount", "nullable": true } + } }, - "ApplicationOnHoldRestrictions": { + "Role": { "type": "object", - "title": "Application On Hold Restrictions", - "description": "When an application is placed on hold, the following actions are restricted until the application is resumed:", "properties": { - "restricted_actions": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of actions that cannot be performed on on_hold applications", - "example": [ - "Approve application", - "Reject application", - "Perform verifications", - "Rerun verifications", - "Request retry identity verification", - "Resend invitations", - "Merge applications", - "Make decisions" - ] - }, - "allowed_actions": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of actions that can still be performed on on_hold applications", - "example": [ - "View application details", - "Place on hold (if already on hold)", - "Resume application", - "Cancel application" - ] - }, - "status_transitions": { + "id": { "type": "string", "example": "role_abc" }, + "name": { "type": "string", "example": "Admin" }, + "role_type": { "type": "string", "example": "admin", "nullable": true }, + "permissions": { "type": "array", "items": { "type": "string" }, "nullable": true } + } + }, + "PropertyGroup": { + "type": "object", + "properties": { + "id": { "type": "string", "example": "pg_abc" }, + "name": { "type": "string", "example": "West Coast Portfolio" }, + "verification_template_id": { "type": "string", "example": "template_abc", "nullable": true }, + "created_at": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" } + } + }, + "PropertyGroupDetailed": { + "allOf": [ + { "$ref": "#/components/schemas/PropertyGroup" }, + { "type": "object", - "description": "Valid status transitions for on_hold applications", "properties": { - "from": { - "type": "string", - "example": "submitted" - }, - "to": { - "type": "string", - "example": "on_hold" - }, - "resume_to": { - "type": "string", - "example": "submitted" + "properties": { + "type": "array", + "items": { "$ref": "#/components/schemas/Property" } } } } - } + ] }, - "BankAccount": { + "Customer": { "type": "object", - "description": "Bank account information", "properties": { - "id": { - "type": "string", - "example": "abc123", - "description": "Unique identifier for the bank account" - }, - "name": { - "type": "string", - "example": "Main Operating Account", - "description": "Name of the bank account" - }, - "last4": { - "type": "string", - "example": "1234", - "description": "Last 4 digits of the bank account number" - }, - "routing_number": { - "type": "string", - "example": "021000021", - "description": "Bank routing number" + "id": { "type": "string", "example": "cust_abc" }, + "first_name": { "type": "string", "example": "John", "nullable": true }, + "last_name": { "type": "string", "example": "Doe", "nullable": true }, + "phone": { "type": "string", "example": "+14155552671", "nullable": true }, + "email": { "type": "string", "example": "john@example.com", "nullable": true }, + "dob": { "type": "string", "format": "date", "example": "1990-01-01", "nullable": true } + } + }, + "PartnersCustomer": { + "allOf": [ + { "$ref": "#/components/schemas/Customer" }, + { + "type": "object", + "properties": { + "access_token": { "type": "string", "example": "access_key-jwt_token", "nullable": true } + } } - }, - "required": ["id", "name", "last4", "routing_number"] + ] }, - "SetBankAccountRequest": { + "CustomerIssueAccessToken": { "type": "object", - "description": "Request body for setting a bank account on a property", "properties": { - "bank_account_id": { - "type": "string", - "example": "abc123", - "description": "The ID of the bank account to associate with the property" + "access_token": { "type": "string", "example": "access_key-jwt_token", "description": "SDK access token in the format {partner_access_key}-{jwt_token}" } + } + }, + "CreateCustomerRequest": { + "type": "object", + "properties": { + "first_name": { "type": "string", "example": "John" }, + "last_name": { "type": "string", "example": "Doe" }, + "phone": { "type": "string", "example": "+14155552671" }, + "email": { "type": "string", "example": "john@example.com" }, + "dob": { "type": "string", "format": "date", "example": "1990-01-01", "nullable": true }, + "ssn": { "type": "string", "example": "123-45-6789", "nullable": true }, + "processor_tokens": { "type": "array", "items": { "type": "string" }, "nullable": true }, + "chime_authorization_code": { "type": "string", "nullable": true } + }, + "required": ["first_name", "last_name", "phone", "email"] + }, + "UpdateCustomerRequest": { + "type": "object", + "properties": { + "first_name": { "type": "string", "example": "John" }, + "last_name": { "type": "string", "example": "Doe" }, + "phone": { "type": "string", "example": "+14155552671" }, + "email": { "type": "string", "example": "john@example.com" }, + "dob": { "type": "string", "format": "date", "example": "1990-01-01" }, + "ssn": { "type": "string", "example": "123-45-6789" } + } + }, + "PlaidToken": { + "type": "object", + "properties": { + "id": { "type": "string", "example": "plaid_abc" }, + "status": { "type": "string", "example": "active", "nullable": true }, + "created_at": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" } + } + }, + "Enrollment": { + "type": "object", + "properties": { + "id": { "type": "string", "example": "enroll_abc" }, + "status": { "type": "string", "example": "enrolled", "nullable": true }, + "customer_id": { "type": "string", "example": "cust_abc" }, + "move_in_date": { "type": "string", "format": "date", "example": "2024-01-01", "nullable": true }, + "lease_end_date": { "type": "string", "format": "date", "example": "2025-01-01", "nullable": true }, + "lease_signed_date": { "type": "string", "format": "date", "example": "2023-12-15", "nullable": true }, + "lease_month_to_month": { "type": "boolean", "example": false, "nullable": true }, + "monthly_rent_amount": { "type": "number", "example": 2000.0 }, + "monthly_rent_day_of_month": { "type": "integer", "example": 1, "nullable": true }, + "checked_out": { "type": "boolean", "example": true }, + "allow_landlord_contact": { "type": "boolean", "example": false, "nullable": true }, + "products": { "type": "array", "items": { "type": "string" }, "nullable": true }, + "issues": { "type": "array", "items": { "type": "string" } }, + "address": { "type": "object", "nullable": true }, + "landlord": { "type": "object", "nullable": true }, + "rental_verifications": { "type": "array", "items": { "type": "object" } } + } + }, + "CreateEnrollmentRequest": { + "type": "object", + "properties": { + "customer_id": { "type": "string", "example": "cust_abc" }, + "move_in_date": { "type": "string", "format": "date", "example": "2024-01-01" }, + "lease_end_date": { "type": "string", "format": "date", "example": "2025-01-01" }, + "lease_month_to_month": { "type": "boolean", "example": false }, + "monthly_rent_amount": { "type": "number", "example": 2000.0 }, + "opt_out": { "type": "boolean", "example": false }, + "address": { + "type": "object", + "properties": { + "street": { "type": "string", "example": "123 Main St" }, + "city": { "type": "string", "example": "San Francisco" }, + "state": { "type": "string", "example": "CA" }, + "zip": { "type": "string", "example": "94105" } + } } }, - "required": ["bank_account_id"] + "required": ["customer_id", "address"] + }, + "UpdateEnrollmentRequest": { + "type": "object", + "properties": { + "move_in_date": { "type": "string", "format": "date", "example": "2024-01-01" }, + "lease_end_date": { "type": "string", "format": "date", "example": "2025-01-01" }, + "moved_out_date": { "type": "string", "format": "date", "example": "2024-06-01" }, + "monthly_rent_amount": { "type": "number", "example": 2000.0 }, + "lease_month_to_month": { "type": "boolean", "example": false }, + "address": { "type": "object" } + } + }, + "UpdateLandlordRequest": { + "type": "object", + "properties": { + "contact_first_name": { "type": "string", "example": "Jane" }, + "contact_last_name": { "type": "string", "example": "Smith" }, + "company_name": { "type": "string", "example": "Acme Properties" }, + "type": { "type": "string", "example": "company" }, + "allow_landlord_contact": { "type": "boolean", "example": false }, + "phone": { "type": "string", "example": "+14155552671" }, + "email": { "type": "string", "example": "landlord@example.com" } + } } } }