Skip to content

Borgenärsåtgärder

Dessa åtgärder gör det möjligt för en borgenär att interagera med ett aktivt ärende. De gäller för alla ärenden, oavsett om de skapades via en Fakturaregistrering eller en Ärenderegistrering.

Alla endpoints opererar på ärende-entiteten. För betalningar, krediteringar och annulleringar kan du identifiera ärendet antingen genom att ange case-ID:t direkt, eller genom att använda invoice_number tillsammans med creditor. För anstånd anges ärende-ID:t som en URL-parameter.

Alla API-anrop kräver en giltig autentiseringstoken i X-API-Key-headern. För detaljer om autentiseringsprocessen och tokenhantering, se Autentiseringsdokumentationen.

I den här guiden använder vi klassen AuthTokenProvider (dokumenterad i autentiseringsguiden) för att hantera tokens.

Innehållsförteckning


Borgenärsbetalning

Registrera en betalning mottagen direkt från gäldenären via Creditor Payment endpointen. Detta används när borgenären har mottagit en betalning utanför Amilis inkassoprocess och vill registrera den mot ärendet.

typescript
const paymentData = {
  creditor: '674dbeb208847b9501cc9138',
  case: '68e4c40d93ee14723d28fa95',
  amount: 250.0,
  currency: 'SEK',
  bank_transaction_date: new Date().toUTCString(),
  origin: 'creditor_system',
  creditor_payment_reference: 'PAY-REF-001', // optional
}

const token = await auth.getValidToken()
const response = await axios.post(
  'https://api-sandbox.amili.se/creditor--payments',
  paymentData,
  {
    headers: {
      'X-API-Key': token,
      'Content-Type': 'application/json',
    },
  }
)
python
from datetime import datetime

payment_data = {
    "creditor": "674dbeb208847b9501cc9138",
    "case": "68e4c40d93ee14723d28fa95",
    "amount": 250.0,
    "currency": "SEK",
    "bank_transaction_date": datetime.utcnow().strftime("%a, %d %b %Y %H:%M:%S GMT"),
    "origin": "creditor_system",
    "creditor_payment_reference": "PAY-REF-001"  # optional
}

token = auth.get_valid_token()
response = requests.post(
    'https://api-sandbox.amili.se/creditor--payments',
    json=payment_data,
    headers={
        'X-API-Key': token,
        'Content-Type': 'application/json'
    }
)
response.raise_for_status()
result = response.json()

Svaret kommer att vara:

json
{
  "_updated": "Tue, 07 Oct 2025 08:15:30 GMT",
  "_created": "Tue, 07 Oct 2025 08:15:30 GMT",
  "_etag": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0",
  "_id": "68e4cb120da90297b3be0e01",
  "_status": "OK",
  "_payment_status": "completed"
}

Borgenärskreditering

Kreditera en del av kapitalet på ett ärende via Creditor Crediting endpointen. Detta minskar det utestående kapitalbeloppet på ärendet.

typescript
const creditData = {
  case: '68e4c40d93ee14723d28fa95',
  amount: 100.0,
  currency: 'SEK',
  origin: 'creditor_system',
}

const token = await auth.getValidToken()
const response = await axios.post(
  'https://api-sandbox.amili.se/creditor--creditings',
  creditData,
  {
    headers: {
      'X-API-Key': token,
      'Content-Type': 'application/json',
    },
  }
)
python
credit_data = {
    "case": "68e4c40d93ee14723d28fa95",
    "amount": 100.0,
    "currency": "SEK",
    "origin": "creditor_system"
}

token = auth.get_valid_token()
response = requests.post(
    'https://api-sandbox.amili.se/creditor--creditings',
    json=credit_data,
    headers={
        'X-API-Key': token,
        'Content-Type': 'application/json'
    }
)
response.raise_for_status()
result = response.json()

Svaret kommer att vara:

json
{
  "_updated": "Tue, 07 Oct 2025 07:51:56 GMT",
  "_created": "Tue, 07 Oct 2025 07:51:56 GMT",
  "_etag": "820ce3cd3b676e48d1ec0cc0b5cb46811ea2763e",
  "_id": "68e4c69c0da90297b3be0dfd",
  "_status": "OK",
  "_crediting_status": "completed"
}

Borgenärsannullering

Annullera ett ärende helt via Creditor Cancellation endpointen. Fältet creditor är alltid obligatoriskt vid annulleringar.

typescript
const cancellationData = {
  creditor: '674dbeb208847b9501cc9138',
  case: '68e4c40d93ee14723d28fa95',
  origin: 'creditor_system',
}

const token = await auth.getValidToken()
const response = await axios.post(
  'https://api-sandbox.amili.se/creditor--cancellations',
  cancellationData,
  {
    headers: {
      'X-API-Key': token,
      'Content-Type': 'application/json',
    },
  }
)
python
cancellation_data = {
    "creditor": "674dbeb208847b9501cc9138",
    "case": "68e4c40d93ee14723d28fa95",
    "origin": "creditor_system"
}

token = auth.get_valid_token()
response = requests.post(
    'https://api-sandbox.amili.se/creditor--cancellations',
    json=cancellation_data,
    headers={
        'X-API-Key': token,
        'Content-Type': 'application/json'
    }
)
response.raise_for_status()
result = response.json()

Svaret kommer att vara:

json
{
  "_updated": "Tue, 07 Oct 2025 07:53:04 GMT",
  "_created": "Tue, 07 Oct 2025 07:53:04 GMT",
  "_etag": "d708022fbf6594c332235d07e952423b41dbdbcc",
  "_id": "68e4c6e07fcb697a78cb1a37",
  "_status": "OK",
  "_cancellation_status": "completed"
}

Anstånd (uppskjutning)

Skjut upp ett ärende ett antal dagar med hjälp av anståndsåtgärden. Detta fördröjer nästa steg i ärendeflödet och ger gäldenären mer tid innan ärendet går vidare.

Viktiga begränsningar

  • Anstånd kan bara beviljas innan ärendet lämnats till kronofogden. När ärendet har överlämnats till kronofogden kan det inte längre skjutas upp via denna endpoint.
  • Maximalt antal dagar styrs av case_config på borgenärs- eller kontonivå. Standard är max 30 dagar.
  • Det finns också konfigurerbara gränser för antal anstånd som kan beviljas per ärende och per kund.

Du kan först kontrollera om anstånd är tillgängligt för ett givet ärende genom att skicka en GET-begäran. Om svaret är 200 OK är åtgärden tillåten. Om 206 kommer svaret att innehålla en issues-array som förklarar varför anstånd inte är tillgängligt.

typescript
const caseId = '68e4c40d93ee14723d28fa95'

// Optional: check if respite is available
const checkResponse = await axios.get(
  `https://api-sandbox.amili.se/domain-actions/cases/respite/${caseId}`,
  {
    headers: {
      'X-API-Key': token,
      'Content-Type': 'application/json',
    },
  }
)

if (checkResponse.status === 200) {
  // Respite is allowed — proceed
  const token = await auth.getValidToken()
  const response = await axios.post(
    `https://api-sandbox.amili.se/domain-actions/cases/respite/${caseId}`,
    { days: 14 },
    {
      headers: {
        'X-API-Key': token,
        'Content-Type': 'application/json',
      },
    }
  )
}
python
case_id = "68e4c40d93ee14723d28fa95"

token = auth.get_valid_token()
headers = {
    "X-API-Key": token,
    "Content-Type": "application/json"
}

# Optional: check if respite is available
check_response = requests.get(
    f'https://api-sandbox.amili.se/domain-actions/cases/respite/{case_id}',
    headers=headers
)

if check_response.status_code == 200:
    # Respite is allowed — proceed
    response = requests.post(
        f'https://api-sandbox.amili.se/domain-actions/cases/respite/{case_id}',
        json={"days": 14},
        headers=headers
    )
    response.raise_for_status()

Ett lyckat svar returnerar en tom body med status 200 OK:

json
{}