openapi: 3.2.0 info: title: Debitura Referral Partner Referral Partners API description: 'Welcome to the Debitura Referral API. This API allows you to set up new clients and track your revenue share with Debitura. You can also generate bearer tokens for use in the Customer API to create cases, check case status, and access all other endpoints. To get access to this API, please contact us at contact@debitura.com. 📖 Full documentation, guides, and integration walkthroughs: https://docs.debitura.com/referral-partners' contact: name: Debitura Support url: https://www.debitura.com/integration email: contact@debitura.com version: v1 servers: - url: https://referral-api.debitura.com description: Production security: - ApiKey: [] tags: - name: ReferralPartners description: Referral Partners paths: /me: get: tags: - ReferralPartners summary: Get authenticated partner information description: 'Retrieves complete configuration and styling information for the authenticated referral partner. Authentication - Requires a valid API key in the XApiKey header - The API key uniquely identifies the referral partner Response Data - Partner identification (ID, system name, display name) - Branding configuration (logo URLs, colors, fonts) - Revenue sharing percentage - Partner status and settings Use Cases - Configure white-label branding for client onboarding pages - Display partner-specific styling in integrations - Verify partner configuration and settings - Retrieve commission/fee percentage for revenue calculations The styling properties returned can be used to customize the appearance of onboarding pages and other partner-facing interfaces to match the referral partner''s branding.' responses: '200': description: Partner information retrieved successfully content: text/plain: schema: $ref: '#/components/schemas/Debitura.Web.ReferralPartnerApi.Models.ReferralPartners.ReferralPartnerResponse' application/json: schema: $ref: '#/components/schemas/Debitura.Web.ReferralPartnerApi.Models.ReferralPartners.ReferralPartnerResponse' text/json: schema: $ref: '#/components/schemas/Debitura.Web.ReferralPartnerApi.Models.ReferralPartners.ReferralPartnerResponse' '404': description: Referral partner not found (invalid configuration) content: text/plain: schema: $ref: '#/components/schemas/Debitura.Web.ExternalApi.Contracts.V1.Errors.ApiErrorResponseDto' application/json: schema: $ref: '#/components/schemas/Debitura.Web.ExternalApi.Contracts.V1.Errors.ApiErrorResponseDto' text/json: schema: $ref: '#/components/schemas/Debitura.Web.ExternalApi.Contracts.V1.Errors.ApiErrorResponseDto' '500': description: Internal server error content: text/plain: schema: $ref: '#/components/schemas/Debitura.Web.ExternalApi.Contracts.V1.Errors.ApiErrorResponseDto' application/json: schema: $ref: '#/components/schemas/Debitura.Web.ExternalApi.Contracts.V1.Errors.ApiErrorResponseDto' text/json: schema: $ref: '#/components/schemas/Debitura.Web.ExternalApi.Contracts.V1.Errors.ApiErrorResponseDto' components: schemas: Debitura.Domain.Model.ReferralPartners.Enums.InvoicingTriggerMode: enum: - PayWhenPaid - ConfirmedPipeline type: string description: "Controls what condition triggers a referral partner's payout to become \"ready to invoice\"\nDebitura for their referral fee. Per-partner override; see Debitura.Domain.Model.ReferralPartners.ReferralPartner.InvoicingTriggerMode.\n \nThis enum is also returned directly on the ReferralPartnerApi `GET /me` response\n(`ReferralPartnerResponse.InvoicingTriggerMode`). Wire format is locked to named\nPascalCase string values (\"PayWhenPaid\", \"ConfirmedPipeline\") via Newtonsoft.Json\nStringEnumConverter — that host uses Newtonsoft (AddNewtonsoftJson in Program.cs), so a\nSystem.Text.Json JsonStringEnumConverter attribute alone would be silently ignored; both\nare declared so STJ-based consumers (and our own tests) can also deserialize the string form." Debitura.Web.ReferralPartnerApi.Models.ReferralPartners.ReferralPartnerResponse: type: object properties: id: type: string description: Unique identifier for the referral partner. format: uuid companyName: type: - string - 'null' description: Company name of the referral partner. shortName: type: - string - 'null' description: Short name of the referral partner. contactEmail: type: - string - 'null' description: Contact email for the referral partner. externalSystemId: type: - string - 'null' description: External system identifier for the partner. referralFeePercentage: type: number description: Percentage of Debitura's earnings that will be paid as referral fee. format: double isActive: type: boolean description: Whether the partner is currently active. isPublicDemo: type: boolean description: When true, this partner is used for public onboarding demos and may have demo-specific behaviour. logoUrl: type: - string - 'null' description: URL to the referral partner's logo image. backgroundColorCode: type: - string - 'null' description: Background color code for custom styling (e.g., "#FFFFFF"). fontColor: type: - string - 'null' description: Font color code for custom styling (e.g., "#000000"). fontFamily: type: - string - 'null' description: Font family for custom styling (e.g., "Arial, sans-serif"). invoicingTriggerMode: $ref: '#/components/schemas/Debitura.Domain.Model.ReferralPartners.Enums.InvoicingTriggerMode' additionalProperties: false description: Response containing referral partner information including styling configuration. Debitura.Web.ExternalApi.Contracts.V1.Errors.ApiErrorResponseDto: type: object properties: error: type: - string - 'null' description: Short human-readable error label (legacy field — preserved for backward compatibility). message: type: - string - 'null' description: Human-readable error description (legacy field — preserved for backward compatibility). businessErrors: type: - array - 'null' items: $ref: '#/components/schemas/Debitura.Web.ExternalApi.Contracts.V1.Cases.BusinessErrorApiDTO' description: Canonical structured error array. Consumers should migrate to reading this field. additionalProperties: false description: "Generic structured error response for API endpoints.\n \nDual-write design: existing fields (Debitura.Web.ExternalApi.Contracts.V1.Errors.ApiErrorResponseDto.Error / Debitura.Web.ExternalApi.Contracts.V1.Errors.ApiErrorResponseDto.Message etc.)\nare preserved for backward compatibility alongside the canonical\nDebitura.Web.ExternalApi.Contracts.V1.Errors.ApiErrorResponseDto.BusinessErrors array, allowing consumers to migrate at their own pace." Debitura.Web.ExternalApi.Contracts.V1.Cases.BusinessErrorApiDTO: type: object properties: type: type: - string - 'null' description: The type of business error (e.g., "MissingDebtCollectionContract", "MissingPowerOfAttorney", "NoPartnerAvailable"). message: type: - string - 'null' description: A human-readable description of the error. solutionUrl: type: - string - 'null' description: "A URL where the user can resolve this specific error (e.g., sign a contract).\n \n\nPartners who want a single URL that walks the user through every pending\nsigning in one chain — instead of forwarding one URL per\n`BusinessErrorApiDTO` — should use\nDebitura.Web.ExternalApi.Contracts.V1.Cases.BusinessErrorResponseApiDTO.SigningHandoff's `CombinedSigningUrl`.\nThe two are complementary: `SolutionUrl` is granular per-error;\n`CombinedSigningUrl` is the chain-walking alternative for signing-related errors." additionalProperties: false description: Represents a business error in the API response. securitySchemes: ApiKey: type: apiKey description: Referral Partner API Key (use XApiKey header) name: XApiKey in: header externalDocs: description: Debitura developer documentation url: https://docs.debitura.com