openapi: 3.2.0 info: title: Lili API contact: name: Lili Dev Resources email: dev-resources@lili.co url: https://lili.co version: '1.0' description: 'Operations tagged Lili across 3 of this provider''s published API definitions: lili-application-api-openapi.yml, lili-customer-management-api-openapi.yml, lili-webhooks-api-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - description: Lili Server url: https://sandbox.lili.co security: - accessKey: [] tags: - name: Lili paths: /lili/api/v1/lead: put: operationId: registerAccount responses: '201': description: Created with a URL of the onboarding link content: application/json: schema: $ref: '#/components/schemas/LeadResponse' '400': description: Bad Request content: application/json: schema: type: object properties: {} application/xml: schema: $ref: '#/components/schemas/JsonErrorResponse' summary: Create Application description: 'The Create Application API is used to create a new Application in the Lili platform. The respon contains a UUID representing the applicant that was created in the Lili platform, and a URL that allows initializing the application process with the pre-filled information.' security: - accessKey: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/LeadRequest' tags: - Lili servers: - description: Lili Server url: https://sandbox.lili.co /lili/api/v1/lead/{customerId}: post: operationId: updateLead parameters: - name: customerId in: path required: true schema: type: string responses: '200': description: Success '400': description: Bad Request content: application/json: schema: type: object properties: {} application/xml: schema: $ref: '#/components/schemas/JsonErrorResponse' summary: Update Lead description: The Update Lead API is used to update an existing lead in the Lili platform. security: - accessKey: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/LeadRequest' tags: - Lili servers: - description: Lili Server url: https://sandbox.lili.co /lili/api/v1/lead/{customerId}/upload: put: operationId: uploadAdditionalDoc parameters: - name: customerId in: path required: true schema: type: string responses: '200': description: Document uploaded '400': description: Bad Request content: application/json: schema: type: object properties: {} application/xml: schema: $ref: '#/components/schemas/JsonErrorResponse' summary: Upload Additional Document description: The Upload Additional Document API is used to upload an additional document to the Lili platform for a given lead. security: - accessKey: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/LeadUpload' tags: - Lili servers: - description: Lili Server url: https://sandbox.lili.co /lili/api/v1/{customerId}/bankLetter: get: summary: Download Bank Letter tags: - Lili responses: {} operationId: createPaymentNotification parameters: - name: customerId description: The customer ID, as provided in the create lead response in: path required: true schema: type: string description: Gets a PDF containing a bank letter for a customer security: - accessKey: [] servers: - description: Lili Server url: https://sandbox.lili.co /lili/api/v1/payments: put: summary: Register a payment transaction tags: - Lili responses: '200': description: Payment request created content: application/json: schema: $ref: '#/components/schemas/PaymentResponse' operationId: createPaymentNotification description: Creates a payment notification in the Lili system security: - accessKey: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentRequest' servers: - description: Lili Server url: https://sandbox.lili.co /lili/api/v1/partner/payments: get: summary: Get a list of payments related to the customer tags: - Lili responses: '200': description: List of payments related to the customer content: application/json: schema: $ref: '#/components/schemas/PaymentListResponse' operationId: paymentList description: Get a list of payments related to the customer security: - accessKey: [] parameters: - name: customerId description: The customer ID, as provided in the create lead response in: query required: false schema: type: string - name: receiverAccountNumber description: The receiver account number in: query required: false schema: type: string - name: startDate description: Start date for the payment list in: query required: false schema: type: string format: date-time - name: endDate description: End date for the payment list in: query required: false schema: type: string format: date-time servers: - description: Lili Server url: https://sandbox.lili.co /lili/api/v1/webhooks: parameters: [] get: operationId: getAll responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/WebhookListResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/JsonErrorResponse' x-stoplight: id: id2csp964yy3d summary: Get All Webhooks description: The Get all webhooks returns a list of all the webhooks the platform registered in Lili security: - accessKey: [] tags: - Lili put: operationId: addWebhook requestBody: content: application/json: schema: $ref: '#/components/schemas/WebhookRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/WebhookCreateResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/JsonErrorResponse' x-stoplight: id: 9taghzldj0sxn summary: Create Webhook description: 'The Create Webhook API registers a new Webhook Listener in the Lili platform.
As part of the response object, a token is returned. This token will be returned on any future webhook call to ensure webhook legitimacy.' security: - accessKey: [] tags: - Lili servers: - description: Lili Server url: https://sandbox.lili.co /lili/api/v1/webhooks/{webhookId}: parameters: - schema: type: string format: uuid name: webhookId in: path required: true description: The unique ID of the webhook get: operationId: getWebhook parameters: - name: webhookId description: The webhook ID in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/WebhookResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/JsonErrorResponse' x-stoplight: id: 4hd6lz54ldtvq summary: Get Webhook Details description: The Get Webhook Details returns the details of an webhook that was registered in the Lili system. security: - accessKey: [] tags: - Lili post: operationId: updateWebhook parameters: - name: webhookId description: The webhook ID in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/WebhookRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/WebhookResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/JsonErrorResponse' x-stoplight: id: z5nqytc3ge0wh summary: Update Webhook description: 'The Update Webhook updates a webhook that is registered in the Lili system. Usually, this is used to disable an active webhook, or reactivate it. ' security: - accessKey: [] tags: - Lili delete: operationId: deleteWebhook parameters: - name: webhookId description: The webhook ID in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/JsonErrorResponse' x-stoplight: id: t7k2nnwj8llif summary: Delete Webhook description: The Delete Webhook API is used to completely delete a registered webhook. security: - accessKey: [] tags: - Lili servers: - description: Lili Server url: https://sandbox.lili.co components: schemas: UBOData: title: UBOData type: object required: - email properties: email: type: string description: The unique ID of the webhook format: email phoneNumber: type: string description: 'Customer phone number. E.164 format. ' ssn: type: string pattern: ^(?!666|000|9\d{2})\d{3}-\d{2}-(?!0{4})\d{4}$|^(?!666|000|9\d{2})\d{3}\d{2}(?!0{4})\d{4}$ example: XXX-XX-XXXX format: regex description: Customer SSN birthDate: type: string format: date description: Customer birth date firstName: type: string description: Customer first name lastName: type: string description: Customer last name passportNumber: type: string description: Passport number idGovNumber: type: string description: Non US customer National ID number idCountry: type: string description: "National ID country (Alpha 2, ISO 3166 format). \nNote that if a passport number is supplied, this is the passport issuance country" idExpirationDate: type: string description: National ID expiration date. Note that if passport number is supplied, this is the passport expiration date role: enum: - PARTNER - PARTNER_FULL_ACCESS description: The UBO role in the account ownershipPercent: type: number description: The ownership percentage of the UBO minimum: 25 maximum: 100 address: $ref: '#/components/schemas/AddressData' description: The UBO address UBOResponseData: title: UBOResponseData type: object properties: email: type: string description: The UBO email format: email uboId: type: string format: uuid description: A unique ID for the UBO DocumentData: title: DocumentData type: object required: - content - contentType - fileName properties: content: type: string description: File content, Base64 decoded contentType: type: string description: The file content type. All standard mime types are supported fileName: type: string description: The name of the file llcFileType: type: string description: The type of the file enum: - IRS_EIN_LETTER - ARTICLES_OF_ORGANIZATION - LETTER_OF_REINSTATEMENT - GOVERNMENT_IDENTIFICATION - ARTICLES_OF_INCORPORATION - SIGNED_PARTNERSHIP_AGREEMENT - AMENDMENT_DOCUMENT - OPERATING_AGREEMENT - UTILITY_BILL - PASSPORT - SS4_DOCUMENT LeadRequest: type: object description: Contains the information about an account partner wants to register required: - email properties: email: type: string description: The unique ID of the webhook format: email phoneNumber: type: string description: 'Customer phone number. E.164 format. ' ssn: type: string pattern: ^(?!666|000|9\d{2})\d{3}-\d{2}-(?!0{4})\d{4}$|^(?!666|000|9\d{2})\d{3}\d{2}(?!0{4})\d{4}$ example: XXX-XX-XXXX format: regex description: Customer SSN birthDate: type: string format: date description: Customer birth date firstName: type: string description: Customer first name lastName: type: string description: Customer last name line1: type: string description: Customer address line1 line2: type: string description: Customer address line2 city: type: string minLength: 1 maxLength: 30 description: Customer address city state: type: string example: NY description: Customer address 2 letter state code country: type: string example: NY description: Customer country of residence (Alpha 2, ISO 3166 format) postalCode: type: string pattern: ^\d{5}(-\d{4})?$ example: XXXXX format: regex description: Customer address postal code ein: type: string pattern: ^(0[1-6]|1[0-6]|2[0-7]|3[0-9]|4[0-8]|5[0-9]|6[0-8]|7[1-7]|8[0-8]|9[0-5]|9[8-9])[0-9]{7}$ format: regex description: Business EIN businessName: type: string description: Business name businessAddress: $ref: '#/components/schemas/AddressData' description: The physical (operational) address where the business operates day-to-day. Must be a US address. Used as the address in the Beneficial Ownership file. registeredBusinessAddress: $ref: '#/components/schemas/AddressData' description: The registered business address (the address the business provided to the state of formation to accept legal process). Can be outside of the US, in case only a registered agent address is available. Used as the billing address and presented on bank statements and invoices. mailingAddress: $ref: '#/components/schemas/AddressData' description: Business mailing address. Optional. Must be in the US, can be a registered agent address. Used as the card shipment address for Non-US applicants when selected. businessType: enum: - DBA - LLC - MMLLC - GENERAL_PARTNERSHIP - LLP - S_CORP - SSN - C_CORP description: Incorporation type of the business incorporationState: type: string description: State the business was incorporated in uniqueId: type: string description: Unique ID to be used by the partner to identify the customer duns: type: string description: Business DUNS number passportNumber: type: string description: Passport number idGovNumber: type: string description: Non US customer National ID number idCountry: type: string description: "National ID country (Alpha 2, ISO 3166 format). \nNote that if a passport number is supplied, this is the passport issuance country" idExpirationDate: type: string description: National ID expiration date. Note that if passport number is supplied, this is the passport expiration date ownershipPercent: type: number description: The ownership percentage of the customer minimum: 0 maximum: 100 documentUrls: type: array description: A list of URLs containing the business documents of the customer items: type: - string - 'null' documentDataList: type: array description: A list of Base64 encoded documents items: $ref: '#/components/schemas/DocumentData' uboList: type: array description: A list of UBOs with >25% of the business ownership items: $ref: '#/components/schemas/UBOData' naicsCode: type: string description: NAICS code of the business campaign: type: string description: Campaign code metadata: type: object additionalProperties: type: string description: A map of key-value pairs to store additional partner-specific data on the customer example: key1: value1 key2: value2 eddQuestionData: type: array description: A list of EDD questions and answers items: $ref: '#/components/schemas/EDDQuestionData' AddressData: title: AddressData type: object properties: line1: type: string description: Line 1 of the address line2: type: string description: Line 2 of the address city: type: string maxLength: 30 minLength: 1 description: City state: type: string example: NY description: State 2 letter code (ISO 3166 format) postalCode: type: string example: XXXXX description: Postal code country: type: string example: US description: Country 2 letter code (ISO 3166 format) LeadUpload: type: object description: Contains the information about an additional document to upload required: - documentDataList properties: documentDataList: type: array description: A list of Base64 encoded documents items: $ref: '#/components/schemas/DocumentData' JsonSingleError: type: object properties: code: type: integer description: A unique numeric code representing the error codeName: type: string description: A unique string code representing the error message: type: string description: Human readable description of the error localizedMessage: type: string description: Human readable description of the error, localized description: A specific server error x-internal: false JsonErrorResponse: type: object description: An object representing a server error properties: httpStatus: type: integer description: The http status of the error reasonPhrase: type: string description: Human readable description of the error errors: description: A list of all the errors that the server reported type: array items: $ref: '#/components/schemas/JsonSingleError' LeadResponse: type: object description: Contains the information on an account registration. required: - customerId - location - token - personId properties: customerId: type: string format: uuid description: A unique ID for the customer (same as person ID) location: type: string format: uri description: A unique URL to be used by the customer for a personalized application flow token: type: string description: The token that should be sent to Lili Connect UI partnerSuppliedId: type: string description: The uniqueID provided by the partner in the Create Application call. Empty if none was supplied personId: type: string description: The unique ID of the registered person format: uuid deprecated: true metadata: type: object additionalProperties: type: string description: The metadata key-value pairs stored on the customer uboData: type: array description: The UBOs of the business items: $ref: '#/components/schemas/UBOResponseData' EDDQuestionData: type: object properties: question: type: string description: The question answer: type: string description: The answer questionId: type: string description: The answer PaymentListResponse: title: PaymentListResponse type: object properties: paymentItemResponseList: type: array items: $ref: '#/components/schemas/PaymentListItemResponse' PaymentRequest: title: PaymentRequest type: object properties: customerId: type: string amount: type: number effectiveDate: type: string format: date-time payeeName: type: string receiverAccountNumber: type: string traceNumber: type: string originatorRoutingNumber: type: string originatorAccountNumber: type: string PaymentListItemResponse: title: PaymentListItemResponse type: object properties: paymentId: type: string description: The payment ID submissionDate: type: string format: date-time description: The payment submissiondate status: enum: - CREATED - PROCESSED - FAILED PaymentResponse: title: PaymentResponse type: object properties: paymentId: type: string description: The payment ID details: type: string description: The payment details status: enum: - SUCCESS - ACCOUNT_NOT_FOUND - ACCOUNT_CLOSED - NOT_RELEASED_EARLY - TECHNICAL_ERROR - BAD_DATA - EFFECTIVE_DATE_PAST description: The payment status WebhookRequest: type: object description: Contains the information to create/update a specific webhook properties: serverUrl: type: string description: URL that will receive the webhook call format: uri status: enum: - ACTIVE - DISABLED description: The status of the webhook version: type: string description: The version of the webhook enum: - V1_0 - V2_0 default: V1_0 type: type: string description: The type of the webhook enum: - ONBOARDING - PAYMENT - ALL default: ALL required: - serverUrl - status WebhookListResponse: type: object properties: webhookList: type: array items: $ref: '#/components/schemas/WebhookResponse' description: '' WebhookCreateResponse: type: object x-stoplight: id: xwbximbdqq069 description: Contains the information about a specific webhook properties: externalId: type: string description: The unique ID of the webhook format: uuid token: type: string description: The unique ID of the webhook serverUrl: type: string format: uri description: The URL that will receive the webhook calls status: description: The status of the webhook enum: - ACTIVE - DISABLED required: - externalId - token - serverUrl - status title: WebhookCreateResponse JsonSingleError_2: type: object x-stoplight: id: ix4chu03g8eza properties: code: type: integer description: A unique numeric code representing the error codeName: type: string description: A unique string code representing the error message: type: string description: Human readable description of the error localizedMessage: type: string description: Human readable description of the error, localized description: A specific server error WebhookResponse: type: object description: Contains the information about a specific webhook properties: externalId: type: string description: The unique ID of the webhook format: uuid serverUrl: type: string format: uri description: The URL that will receive the webhook calls status: description: The status of the webhook enum: - ACTIVE - DISABLED version: type: string description: The version of the webhook enum: - V1_0 - V2_0 default: V1_0 type: type: string description: The type of the webhook enum: - ONBOARDING - PAYMENT - ALL default: ALL required: - externalId - serverUrl - status securitySchemes: accessKey: name: Authorization type: apiKey in: header description: 'The authorization in the format:
Authorization: Lili accessKey:secretKey' x-refined-from: - lili-application-api-openapi.yml - lili-customer-management-api-openapi.yml - lili-webhooks-api-openapi.yml