openapi: 3.2.0
info:
title: Debitura Coverage API
version: v1
description: 'Operations tagged Coverage across 2 of this provider''s published API definitions: debitura-customer-api.json, debitura-referral-partner-api.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://customer-api.debitura.com
description: Production
- url: https://referral-api.debitura.com
description: Production
tags:
- name: Coverage
description: Jurisdiction coverage — query which countries and debt types Debitura can collect in, and check case eligibility.
paths:
/coverage:
get:
tags:
- Coverage
summary: List all jurisdiction coverage
description: Returns complete coverage information for all jurisdictions where Debitura operates, including power of attorney signing status and solution URLs.
responses:
'200':
description: Coverage list returned
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CoverageItemApiDTO'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CoverageItemApiDTO'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CoverageItemApiDTO'
security:
- ApiKey: []
- Bearer: []
servers:
- url: https://customer-api.debitura.com
description: Production
/coverage/{id}:
get:
tags:
- Coverage
summary: Get jurisdiction coverage by ID
description: Returns a single jurisdiction with its geographic information, assigned collection partner, and power of attorney signing status.
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: Coverage item returned
content:
text/plain:
schema:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CoverageItemApiDTO'
application/json:
schema:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CoverageItemApiDTO'
text/json:
schema:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CoverageItemApiDTO'
'404':
description: Jurisdiction not found
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'
security:
- ApiKey: []
- Bearer: []
servers:
- url: https://customer-api.debitura.com
description: Production
/coverage/search:
get:
tags:
- Coverage
summary: '[DEPRECATED] Search for jurisdiction coverage'
description: ⚠️ **DEPRECATED:** Use POST /coverage/check-eligibility instead.
parameters:
- name: q
in: query
schema:
type: string
responses:
'200':
description: Coverage item returned
content:
text/plain:
schema:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CoverageItemApiDTO'
application/json:
schema:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CoverageItemApiDTO'
text/json:
schema:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CoverageItemApiDTO'
'400':
description: Search query missing or invalid
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'
'404':
description: No jurisdiction found matching the search query
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'
deprecated: true
security:
- ApiKey: []
- Bearer: []
servers:
- url: https://customer-api.debitura.com
description: Production
/coverage/:search:
get:
tags:
- Coverage
summary: '[DEPRECATED] Search for jurisdiction coverage'
description: ⚠️ **DEPRECATED:** Use POST /coverage/check-eligibility instead.
parameters:
- name: q
in: query
schema:
type: string
responses:
'200':
description: Coverage item returned
content:
text/plain:
schema:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CoverageItemApiDTO'
application/json:
schema:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CoverageItemApiDTO'
text/json:
schema:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CoverageItemApiDTO'
'400':
description: Search query missing or invalid
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'
'404':
description: No jurisdiction found matching the search query
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'
deprecated: true
security:
- ApiKey: []
- Bearer: []
servers:
- url: https://customer-api.debitura.com
description: Production
/coverage/check-eligibility:
post:
tags:
- Coverage
summary: Check case eligibility and get assigned partner
description: '**Determine if a case can be submitted and get partner + PoA status.**
**Request Fields:**
- CountryAlpha2 (required) - Debtor country (e.g., ''DK'', ''US'', ''DE'')
- StateAlpha2 (conditional) - Required for US debtors (e.g., ''CA'', ''NY'')
- DebtorType (required) - ''Company'' or ''Private''
- Amount (required) - Amount to recover
- CurrencyCode (required) - Currency (e.g., ''USD'', ''EUR'', ''DKK'')
**Response:**
- IsEligible (boolean) - Whether case can be submitted
- Partner - Specific partner that will handle this case
- PowerOfAttorneyStatus - PoA signing status for the matched partner
**Note:** Does NOT check SDCA status. Use GET /contracts/debt-collection/status for that.'
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CaseEligibilityRequestApiDTO'
application/json:
schema:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CaseEligibilityRequestApiDTO'
text/json:
schema:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CaseEligibilityRequestApiDTO'
application/*+json:
schema:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CaseEligibilityRequestApiDTO'
responses:
'200':
description: Eligibility check completed
content:
text/plain:
schema:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CaseEligibilityResponseApiDTO'
application/json:
schema:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CaseEligibilityResponseApiDTO'
text/json:
schema:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.CaseEligibilityResponseApiDTO'
'400':
description: Invalid request (validation errors)
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'
security:
- ApiKey: []
- Bearer: []
servers:
- url: https://customer-api.debitura.com
description: Production
components:
schemas:
Debitura.Web.ExternalCustomerAPI.Models.Coverages.CaseEligibilityRequestApiDTO:
required:
- amount
- countryAlpha2
- currencyCode
- debtorType
type: object
properties:
countryAlpha2:
minLength: 1
type: string
description: Debtor country (2-letter ISO code, e.g., "DK", "US", "DE")
stateAlpha2:
type:
- string
- 'null'
description: US state code for US debtors (e.g., "CA", "NY"). Required if CountryAlpha2 = "US"
debtorType:
minLength: 1
type: string
description: 'Debtor type: "Company" or "Private"'
amount:
maximum: 1.7976931348623157e+308
minimum: 0.01
type: number
description: Amount to recover in specified currency
format: double
currencyCode:
minLength: 1
type: string
description: Currency code (e.g., "USD", "EUR", "DKK")
additionalProperties: false
description: Request for checking case eligibility and getting partner/PoA status.
example:
countryAlpha2: PL
debtorType: Company
amount: 2500
currencyCode: EUR
Debitura.Web.ExternalCustomerAPI.Models.Coverages.CoverageItemApiDTO:
type: object
properties:
jurisdiction:
type:
- string
- 'null'
jurisdictionId:
type: integer
format: int32
country:
type:
- string
- 'null'
countryId:
type: integer
format: int32
countryAlpha2:
type:
- string
- 'null'
usStateAlpha2:
type:
- string
- 'null'
partners:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.PartnerCoverageApiDTO'
description: 'Collection partners available for this jurisdiction.
May be empty if no partners are assigned.
May contain multiple partners if different conditions apply (e.g., B2B vs B2C).'
additionalProperties: false
description: 'Coverage information for a single jurisdiction.
BREAKING CHANGE: Partners is now an array - may contain multiple partners with different conditions.'
Debitura.Web.ExternalCustomerAPI.Models.Coverages.PowerOfAttorneyStatusApiDTO:
type: object
properties:
signed:
type: boolean
description: Whether PoA has been signed for this partner
requiresResigning:
type: boolean
description: Whether PoA needs to be re-signed (new version available)
invalidationReason:
type:
- string
- 'null'
description: Why re-signing is required (if applicable)
termsUrl:
type:
- string
- 'null'
description: URL to download signed PoA document (null if not signed)
solutionUrl:
type:
- string
- 'null'
description: URL to sign or re-sign PoA (null if fully signed and valid)
additionalProperties: false
description: Power of Attorney status (shared DTO for check-eligibility and coverage endpoints).
Debitura.Web.ExternalCustomerAPI.Models.Coverages.PartnerCoverageApiDTO:
type: object
properties:
partnerId:
type: string
format: uuid
partnerName:
type:
- string
- 'null'
conditions:
type:
- string
- 'null'
description: 'Human-readable description of when this partner applies.
Examples: "All cases", "B2B cases only", "B2C cases ≥ €1000"'
signed:
type: boolean
description: Whether Power of Attorney has been signed for this partner
termsUrl:
type:
- string
- 'null'
description: URL to download signed PoA document (null if not signed)
solutionUrl:
type:
- string
- 'null'
description: URL to sign or re-sign PoA (null if fully signed and valid)
requiresResigning:
type: boolean
description: Whether PoA needs to be re-signed (new version available)
invalidationReason:
type:
- string
- 'null'
description: Why re-signing is required (if applicable)
additionalProperties: false
description: Partner coverage details including conditions and PoA status.
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.
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.ExternalCustomerAPI.Models.Coverages.CaseEligibilityResponseApiDTO:
type: object
properties:
isEligible:
type: boolean
description: Whether a collection partner is available for this case
jurisdiction:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.JurisdictionInfoApiDTO'
partner:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.PartnerInfoApiDTO'
powerOfAttorneyStatus:
$ref: '#/components/schemas/Debitura.Web.ExternalCustomerAPI.Models.Coverages.PowerOfAttorneyStatusApiDTO'
errorMessage:
type:
- string
- 'null'
description: Error message if IsEligible = false
additionalProperties: false
description: Response for case eligibility check - returns exact partner + PoA status.
Debitura.Web.ExternalCustomerAPI.Models.Coverages.JurisdictionInfoApiDTO:
type: object
properties:
id:
type: integer
format: int32
name:
type:
- string
- 'null'
country:
type:
- string
- 'null'
countryAlpha2:
type:
- string
- 'null'
usStateAlpha2:
type:
- string
- 'null'
additionalProperties: false
description: Jurisdiction information
Debitura.Web.ExternalCustomerAPI.Models.Coverages.PartnerInfoApiDTO:
type: object
properties:
id:
type: string
format: uuid
name:
type:
- string
- 'null'
additionalProperties: false
description: Partner information
Debitura.Web.ReferralPartnerApi.Models.Coverages.CoverageItemApiDTO:
type: object
properties:
jurisdictionId:
type: integer
format: int32
jurisdiction:
type:
- string
- 'null'
country:
type:
- string
- 'null'
countryId:
type: integer
format: int32
countryAlpha2:
type:
- string
- 'null'
usStateAlpha2:
type:
- string
- 'null'
partners:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Debitura.Web.ReferralPartnerApi.Models.Coverages.PartnerCoverageApiDTO'
additionalProperties: false
Debitura.Web.ReferralPartnerApi.Models.Coverages.PartnerCoverageApiDTO:
type: object
properties:
partnerId:
type: string
format: uuid
partnerName:
type:
- string
- 'null'
conditions:
type:
- string
- 'null'
description: 'Human-readable description of when this partner applies.
Examples: "All cases", "B2B cases only", "Amount ≥ €1,000"'
additionalProperties: false
securitySchemes:
ApiKey:
type: apiKey
description: This is for clients who manage their own account. They can get the API key in the platform and set it as the 'XApiKey' in the header.
name: XApiKey
in: header
Bearer:
type: http
description: This is for referral partners, who are sending in clients to the platform. They get the bearer token from the referral partner Api and can be inserted here.
scheme: bearer
bearerFormat: JWT
externalDocs:
description: Debitura developer documentation
url: https://docs.debitura.com
x-refined-from:
- debitura-customer-api.json
- debitura-referral-partner-api.json