Services and API endpoints

~140 @Injectable services. Grouped by base URL below; endpoint paths are relative to that base. Base-URL values per environment: environment configuration keys. Conventions: HTTP layer and services.

All requests carry X-Session-Token via AuthInterceptor. Additional headers are noted where they exist.

internalApiUrl — the primary API

Suppliers

suppliers/services/supplier.service.ts (SupplierService, + mock)

Endpoint Purpose

GET suppliers

List/search (HttpParams; search2 / search3 for the overlay).

GET suppliers/:key?detailed=1&taxId=1[&refreshTimestamp=…]

Supplier details.

PUT suppliers/:key

Save details.

GET suppliers/:key/get_token

Supplier auth token (login-as-supplier).

GET suppliers/:key/amazon_health

Account-health snapshot.

GET suppliers/:key/supplier_advances/:advanceKey

One advance.

GET suppliers/:key/get_statements_for_add_supplier_fund_recovery/:mpSupplierKey

Statements for a fund-recovery entry.

GET reports/:reportName

Run a report (make_dump switches to responseType: 'text').

Also exposes getSupplierBalance, saveItemPart (partial update), and the constants SEARCH_DEBOUNCE_TIME = 800, supplierKeyColumnName = 'supplier_key', supplierDepositTransactionColName = 'supplier_deposit_transactions'.

Supplier lifecycle

Service Endpoints

cancel-supplier.service.ts

GET active_marketplaces/:key, GET suppliers/:key?taxId=1, GET cancellation_reasons, PUT suppliers/:key/acc_cancellation, GET suppliers/:key/get_acc_cancellation_reason, POST suppliers/:key/change_acc_cancellation_reason

winback.service.ts

GET winback/reasons

delete-supplier-account.service.ts

GET/POST supplier/:key/remove_supplier_account (singular supplier)

request-collection.service.ts

GET suppliers/:key/collections_reasons; GET/POST/PATCH/DELETE suppliers/:key/collections

supplier-statuses.service.ts

No HTTP — status→badge-class dictionaries.

Payments and accounts

Service Endpoints

payment-config/payment-config.service.ts (+ mock)

GET/POST suppliers/:key/payment/configs; GET/PUT/DELETE …/configs/:paymentConfigKey; GET/PUT suppliers/:key/velocity/limits; POST suppliers/:key/jit/simulate/{pending,rejected,charge,cleared,refund}

deposit-account/deposit-account.service.ts (+ mock)

GET/POST/PUT deposit_accounts[/:depositAccountKey], plus a second POST deposit_accounts/:key. Also uses documentsApiUrl.

auto-payment.service.ts

POST suppliers/:key/payment/payment_features

supplier-payment/outgoing-payment-add/payment-history.service.ts

Payment history for a config.

…/supplier-payment-plaid-information/supplier-plaid.service.ts (+ mock)

Plaid-derived bank information.

Fees, funding and contracts

Service Endpoints

supplier-fees/service/supplier-fees.service.ts

GET/PUT suppliers/:key/funding_particulars; GET/PUT suppliers/:key/funding_particulars/:marketplaceKey; PUT suppliers/:key ({ loadNetEarnings })

funding-particulars.service.ts (+ mock)

Supplier funding record.

supplier-marketplace-funding.service.ts

GET/PUT suppliers/:key/funding_particulars/:mpSupKey

supplier-marketplace-min-fee-overrides.service.ts

GET/PUT suppliers/:key/funding_particulars/:mpSupKey/min_fee_overrides

supplier-marketplace-opt-in-periods.service.ts

GET/PUT suppliers/:key/funding_particulars/:mpSupKey/opt_in_periods; PUT …/opt_in_periods/:mpSupOptInPeriodKey

manage/fee-settings/service/fee-settings.service.ts

GET fee_schedule_types; POST fee_schedules; PUT fee_schedules/:key; PUT fee_schedule_tier/:key; PUT fee_schedules/:key/extra; DELETE fee_schedule_remove/:key

shared/services/long-term-contracts/long-term-contracts.service.ts (+ abstract + mock)

GET long_term_contract/template[/:marketplaceKey/standard | /:templateGroupKey]; POST long_term_contract/template/:marketplaceKey/create; GET long_term_contract/:supplierKey[/history]; GET long_term_contract/:contractKey; POST long_term_contract/:mpSupplierKey/create; GET long_term_contract/:mpSupplierKey/active

Advances

supplier-advances/service/supplier-advances.service.ts — mostly under supplier_instant_advance/:

POST  supplier_instant_advance/:key/create_request
GET   supplier_instant_advance/:key/{active_advance,advance_liability,advance_request}
GET   supplier_instant_advance/:key/{ml_offer,ml_offer_details,re_offer_eligibility,requests_history}
GET   supplier_instant_advance/offer_details
POST  supplier_instant_advance/:key/re_offer
POST  supplier_instant_advance/{update_uw_request,update_offer_request}
POST  supplier_instant_advance/:key/manually_update_request_uw_data/:advanceOfferRequestKey
GET   supplier_instant_advance/:key/advance_line_history
GET   supplier_instant_advance/advance_line/{:key/last,:advanceLineKey}
POST  supplier_instant_advance/:proposedAdvanceLineKey/retract
GET   suppliers/:key/supplier_advances
GET   suppliers/:key/advance_line/:advanceLineKey/uw_history
PATCH suppliers/:key/advance_line/:advanceLineKey/update

Underwriting and compliance

Service Endpoints

supplier-underwriting/supplier-underwriting.service.ts

GET/PUT suppliers/:key/amazon_health_rules; GET suppliers/:key/compliance_status[/:complianceKey/:action/:version]; GET suppliers/:key/compliance_snapshot/list, …/:itemKey; POST compliance_action_status/:version; PUT compliance_action_status/:statusKey/:version; PUT compliance_status/:statusKey; GET suppliers/:key/check_amazon_api; GET suppliers/:key/identity_check/{sole,company}/:partial; GET/PUT suppliers/:key/marqeta_kyc_compliances[/owners]; GET suppliers/:key/marketplace/:marketplaceKey/data. Also uses automaticMarketplaceApiUrl.

ucc-main/ucc.service.ts

GET/POST suppliers/:key/ucc/filing; GET/PUT/DELETE suppliers/:key/ucc/filing/:uccKey; GET suppliers/:key/ucc/data[/:uccKey]

supplier-compliance-action.service.ts, supplier-compliance-action-status.service.ts

Compliance action records.

background-reports/background-reports.service.ts

Background reports (requires FINANCE).

documentation/documentation.service.ts

Underwriting documents.

underwriting-initial/common/services/underwriting-initial.service.ts

Initial-underwriting persistence.

Onboarding

Service Endpoints

supplier-onboarding/supplier-onboarding.service.ts (+ mock)

suppliers/… compliance and onboarding endpoints. Also uses supWidgetsApiUrl. Holds the hardcoded compliance-action and marketplace UUIDs.

supplier-verify-document-dialog/supplier-verify-document.service.ts

Document verification.

services-product-matrix/service-table/service/product-matrix.service.ts (+ mock), flex-participation.service.ts (+ mock), product-matrix-initialize-tables.service.ts

The services/product matrix.

shared/onboarding/service/onboarding.service.ts (+ mock)

Onboarding templates.

additional-business-owners/additional-businsess-owner.service.ts (sic)

Additional owners.

supplier-2fa/supplier-2fa.service.ts

Supplier 2FA (flag TWO_FA).

Cards

Service Endpoints

card-management/card-management.service.ts (providedIn: 'root')

GET suppliers/:key/card_providers; GET suppliers/:key/cards (provider filter sent as a GET body); POST suppliers/:key/cards/{newcard,block/:cardId,activate/:cardId,remove/:cardId,reissue/:cardId}; GET suppliers/:key/airwallex; PUT suppliers/:key/airwallex/cardholder; POST suppliers/:key/airwallex/newcard; POST suppliers/:key/airwallex/cards/:cardId/refresh; GET/PUT suppliers/:key/cards/:cardId/velocity/limits/awx

efs.service.ts (+ mock)

GET/POST suppliers/:key/efs/:resource; GET/POST suppliers/:key/pcard/:resource; GET suppliers/:key/efs/get_company_report; GET suppliers/:key/pcard/get_general_report_v2

supplier-marqeta-account/supplier-marqeta.service.ts

GET suppliers/:key/pcard/get_general_report_v2[/statuses]; GET suppliers/:key/pcard/:transactionId/transaction_details

supplier-awx-account/supplier-awx.service.ts

POST suppliers/:key/pcard/get_general_report_awx (also the CSV export, with responseType: 'text'); GET suppliers/:key/pcard/get_general_report_awx/statuses; GET suppliers/:key/pcard/:transactionId/transaction_details_awx

awx-disputes/awx-disputes.service.ts (providedIn: 'root')

GET/POST suppliers/:key/airwallex/disputes; POST suppliers/:key/airwallex/disputes/:disputeId/{evidence,submit,cancel}. Evidence is multipart/form-data, one file per request, with no Content-Type header so the browser sets the boundary. Errors are neither logged nor wrapped — the backend forwards the Airwallex message and callers render it verbatim. See disputes.

Marketplaces

Service Endpoints

marketplaces/service/marketplace-repository.ts (+ mock, abstract)

GET/POST marketplaces; GET/PUT marketplaces/:uuid; GET marketplace_period_groups; GET free_trials. Imports environment directly.

marketplaces/service/gateway.service.ts

GET payment_gateways; POST supplier/:mpSupplierKey/create_and_connect/:gatewayKey; POST supplier/:mpSupplierKey/disconnect/:gatewayKey. Imports environment directly.

suppliers/services/supplier-marketplaces.service.ts

GET/PUT suppliers/:key/mp/:mpSupKey; PUT suppliers/:key/marketplace_suspend_reason; POST supplier/:mpKey/update_payment_gateway_bank_account_number. Also uses marketplaceApiUrl.

suppliers/services/marketplace-loans.service.ts (+ mock)

Amazon-lending loans.

Processes and approval

Service Endpoints

processes/service/payment-batch-repository-service.ts (abstract)

GET/POST paymentBatches; GET/PUT paymentBatches/:batchId; POST paymentBatches/:batchId/{action,unlock}; GET paymentBatches/:batchId/{status,payments,get_debit_payments}; PUT/DELETE paymentBatches/:batchId/payments/:paymentId. Serialises with SerializeKeysTo(CamelCase); toasts on every error.

processes/service/payment-batch-downloader.service.ts (+ abstract + mock)

GET paymentBatches/:batchId/paymentFile?withAch=true (+ cache-busting timestamp)

processes/balance-approval/balance-approval.service.ts

GET pending_review/; GET pending_review/statistic; PUT pending_review/:supplierKey; GET lookup/codes/payment.approval.outcomeReason

processes/service/pending-review.service.ts

GET pending_review/; PUT /pending_review/:supplierKey (double slash). Imports environment directly.

Reports

Service Endpoints

reports/service/reports-repository.service.ts (abstract)

GET reports/config[/:uuid]; POST reports/config; PUT/DELETE reports/config/:uuid; POST reports/config/:uuid/overrides; GET reports/db_objects; GET/PUT reports/:uuid

reports/service/external-reports.service.ts

GET reports/external_list; GET reports/external/:reportKeys

Users, permissions, lookups

Service Endpoints

shared/users/service/users.service.ts (abstract + mock)

GET logins?permCode=…[&search=…]; GET/PUT/DELETE logins/:loginKey; GET logins/:loginKey/perms; GET perms, GET perms/:permCode/sub-perms; grant/revoke via addPermissionToLogin / removePermissionFromLogin. saveLogin rewrites firstname/lastname to firstName/lastName.

shared/lookup-service/lookup-repository.ts (abstract + mock)

GET timezones, funding_periods, countries, countries/US/business_types, countries/:code/states, xactTypes; plus getAuthGoogleLogin for the SSO exchange. Imports environment directly.

shared/version.service.ts

GET version. Imports environment directly.

Other internalApiUrl consumers

supplier-email-preferences.service.ts (GET/PUT suppliers/:key/email_preference), supplier-referral.service.ts (uses supplierReferralUrl for the link base), shared/pyb-documents/pyb-documents.service.ts (also pybDocumentsApiUrl), crm-tools/services/action-tab-calculator.service.ts, crm-tools/services/emails.service.ts (also messagingUrl), shared/search-overlay/search-engine-service-3-0/search-engine.service.ts (GET suppliers?search3=…), manage/batch-imports/service/batch-imports.service.ts, shared/layout/app-stage-info/app-stage-info.component.ts.

cliApiUrl

Service Endpoints

suppliers/services/cli/cli.service.ts (+ mock)

CLI operations.

manage/batch-imports/cli-action/cli-action-service/cli-action.service.ts (+ mock)

CLI action runner.

manage/batch-imports/service/batch-imports.service.ts

POST efs_csv_upload; POST purchase_rcv (empty body — triggers a job).

suppliers/services/supplier.service.ts

Holds a cliApiUrl reference.

actionsToolsUrl — CRM and settings

Service Endpoints

crm-tools/services/crm.service.ts (+ mock)

GET activity/, GET notes/, GET files/ (via listActionsBase), plus note CRUD. Headers: Authorization (raw JWT), X-InstanceId, X-EventLogger-InstanceId, X-Actions-TargetUUID (kept in sync by a store subscription).

crm-tools/services/tasks.service.ts (abstract + mock)

GET/POST tasks/; GET/PUT/DELETE tasks/:uuid/; DELETE tasks/ with { uuids }; PATCH tasks/; GET tasks/:uuid/events/

crm-tools/services/tasks-filters.service.ts (+ mock)

GET tasks/filters/counts/, …/counts/assignees/

crm-tools/services/comments.service.ts (+ mock)

Comment CRUD.

manage/global-settings/service/global-settings.service.ts

GET settings/, GET settings/:configKey/, GET settings/:type/items, POST settings/, PUT/DELETE settings/:configKey/. Header x-instanceid.

manage/batch-imports/service/batch-imports.service.ts

POST notes/bulk-update/

reports/waiting-suppliers/waiting-suppliers.component.ts

Calls this base directly from a component — the only such case.

eventLoggerUrl

Service Endpoints

crm-tools/services/crm.service.ts

GET es-changelog (limit=2000000), header X-EventLogger-TargetUUID.

shared/monitor.service.ts

POST track with a hardcoded Authorization: Token …, X-EventLogger-InstanceId: 8003, X-EventLogger-Type: analitics.

eventRulesOldUrl

manage/event-rules/events.service.ts (+ events-mock.service.ts.ts, sic):

POST   event_rules/
GET    event_rules/            GET event_rules/:uuid/
PUT    event_rules/:uuid/      DELETE event_rules/:uuid/
GET    event_rules/history/?limit&order_by&q[&last]
(es)   Elasticsearch client against `<base>es`, index `em_events`

Header X-InstanceId: '8001' (hardcoded literal). Imports environment directly.

messagingUrl

Service Endpoints

crm-tools/services/emails.service.ts (+ mock)

GET email/; POST emails/; GET/PUT/DELETE emails/:uuid/; POST emails/batch-delete/; GET emails/:uuid/events/; POST email/rendered/, POST email/preview/, POST email/batch/; GET email/{approve,cancel}/:emailUuid; GET email/{batch_approve,batch_cancel}/:batchUuid. The approve/cancel calls are GET requests that mutate state.

crm-tools/services/crm.service.ts

Email-related reads.

…/smsnumbers/sms-numbers-provider.service.ts (+ mock)

SMS sending. Also uses authToolsApiUrl.

authToolsApiUrl

suppliers/services/supplier-auth-token.service.ts — supplier auth tokens; …/smsnumbers/sms-numbers-provider.service.ts — SMS number provisioning.

workflowApiUrl (+ workflowGciId)

suppliers/services/workflow/b2b-workflow.service.ts:

SSE  tasksMonitoring
GET  getLastExecution?gci=<gci>[&name=…]
GET  getListOfActivities?id=<encoded>&gci=<gci>
POST executeWorkflow?gci=<gci>     Content-Type: application/x-www-form-urlencoded

Plus downloadFile / downloadPdfFile (blob via file-saver). See real-time streams.

automaticMarketplaceApiUrl

supplier-underwriting/supplier-underwriting.service.ts and …/real-time-validation/real-time-validator.service.ts (+ mock).

marketplaceApiUrl

suppliers/services/supplier-marketplaces.service.ts — POST /platforms/:marketplaceKey/update_sales_data (note the double slash from the leading /).

supWidgetsApiUrl

supplier-onboarding/supplier-onboarding.service.ts.

Document backends

Base URL Service Notes

b2bDocumentsApiUrl

shared/b2b-document/b2b-document.service.ts (+ mock), batch-imports.service.ts

B2B documents.

pybDocumentsApiUrl

shared/pyb-documents/pyb-documents.service.ts

Behind the PYB_DOCUMENTS flag. Also probed by VpnTesterService (OPTIONS health-check).

documentsApiUrl

suppliers/services/deposit-account/deposit-account.service.ts

Deposit-account documents.

s3FilesProviderApi

Configured; used by file-download paths.

—

—

shared/apps-document/apps-document.service.ts

Routes between backends based on PYB_DOCUMENTS.

evaApiUrl, supplierUrl, supplierReferralUrl

Not HTTP APIs from this app’s perspective:

  • shared/eva/eva.service.ts — builds the iframe URL and the PYBEvaToken cookie.

  • suppliers/services/login-as-supplier/login-as-supplier.service.ts — navigates to the supplier site.

  • suppliers/services/supplier-referral.service.ts — builds referral links.

Services with no HTTP

SupplierStatusesService (badge dictionaries), MessageService (canned messages), TableEventsService (bus), CancelEmitService (bus), CardFormgroupMessageService, CsvExportService, DialogService, ErrorParserService, ErrorVisualizationService, Logger, LayoutService, PeriodsCalculationsService, ProductMatrixInitializeTablesService, EmailsStatusService, RulesUtilsService, AgGreedDataReshaperService, DataTableAgGridHeaderTemplateRendererService, HeadersWithSummedValuesSettingService, FilteringPanelService, DynamicFormControlService, ElasticHighlightsService, ResizeIframeService, CommunicationService, EvaCommunicationService, FeatureFlagsService / -Admin / -Eva, HttpCacheLocalStorage, DynamicEmbedderService, GameService (Tetris), ActionTabCalculatorService (HTTP), CookieService, SseService.

Response envelopes

Shape Where

Bare array/object

Internal API lookups.

{ results, total }

Internal API list endpoints — logins, paymentBatches, pending_review.

{ data, meta }

Actions Tools, event rules, global settings.

Elasticsearch hits

search3, es-changelog, em_events.

Conventions and hazards

Item Detail

Base URLs

Always from AppConfigService. Eleven services still import environment directly — legacy.

Hardcoded credential

MonitorService’s `Authorization: Token ….

GET with a body

CardManagementService.getCards, TasksService bulk delete.

GET that mutates

EmailsService approve/cancel (single and batch).

Global serialisation casing

SerializeKeysTo / DeserializeKeysFrom are set per call and are module-global.

Double slashes

PendingReviewService.updatePendingReview, SupplierMarketplacesService.updateSalesData.

Singular supplier/

Delete-account and gateway endpoints, where every neighbour is suppliers/.

Service-level toasts

PaymentBatchRepositoryService (eight messages), MarketplaceRepository, LookupRepository.